Skip to content

Commit 14ddf4d

Browse files
docs: fixes 3331 (#3350)
1 parent bf43ccc commit 14ddf4d

4 files changed

Lines changed: 65 additions & 3 deletions

File tree

packages/documentation/astro.config.mjs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,10 @@ export default defineConfig({
9898
label: 'Open Payments',
9999
link: '/overview/concepts/open-payments'
100100
},
101+
{
102+
label: 'Payment pointers and wallet addresses',
103+
link: '/overview/concepts/payment-pointers'
104+
},
101105
{
102106
label: 'Telemetry',
103107
link: '/overview/concepts/telemetry'

packages/documentation/src/components/PageSidebar.astro

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import Default from '@astrojs/starlight/components/PageSidebar.astro';
44
55
const removeOverview = [
66
'resources/glossary',
7+
'overview/concepts/payment-pointers',
78
]
89
const noOverview = removeOverview.includes(Astro.props.slug);
910
const toc = noOverview && Astro.props.toc !== undefined

packages/documentation/src/content/docs/overview/concepts/interledger.mdx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,13 @@ In the image below, the sender node (A) and the receiver node (C) share a common
4242

4343
In reality, there can be multiple connectors between a sender node and a receiver node. As more nodes that support different assets peer with one another, the easier it becomes for payments to traverse the Interledger network.
4444

45-
## Payment pointers
45+
## Payment pointer
4646

47-
Rafiki assigns each of your customers’ accounts with a payment pointer. Payment pointers are a type of wallet address for accounts within the Interledger network. They’re similar to email addresses in that they’re used to determine which account to send a payment from and which account to deliver the payment to.
47+
A payment pointer is a type of wallet address that serves as an SPSP endpoint to facilitate sending and receiving ILP packets. Rafiki will assign each of your customers' accounts with a payment pointer.
4848

49-
Every payment pointer serves as a Simple Payment Setup Protocol (SPSP) endpoint and must resolve to an HTTPS URL. Payment pointers can be written out using the `$` shorthand (for example, `$wallet.example.com/alice`) or as a URL (for example, `https://wallet.example.com/alice`).
49+
Payment pointers must resolve to an HTTPS URL and can be written out using the `$` shorthand (for example, `$wallet.example.com/alice`) or as a URL (for example, `https://wallet.example.com/alice`).
50+
51+
See [Payment pointers and wallet addresses](/overview/concepts/payment-pointers) for more information.
5052

5153
## Simple Payment Setup Protocol (SPSP)
5254

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
---
2+
title: Payment pointers and wallet addresses
3+
---
4+
5+
## Payment pointers
6+
7+
A payment pointer is a standardized identifier for a payment account that supports Interledger payments. Each payment pointer must resolve to an HTTPS URL that serves as an [SPSP](/overview/concepts/interledger#simple-payment-setup-protocol-spsp) endpoint to facilitate sending and receiving ILP packets.
8+
9+
You can determine whether a URL is a payment pointer by sending a `GET` request to the URL with an `accept: application/spsp4+json` header.
10+
11+
```http title="Example request"
12+
curl --request GET \
13+
--url https://wallet.example.com/alice/ \
14+
--header 'accept: application/spsp4+json'
15+
```
16+
17+
A response from an SPSP server means the URL is a payment pointer.
18+
19+
```http title="Example response"
20+
{
21+
"destination_account":"example.0.cloudnine.ind.alice.cdfa5e16-e759",
22+
"shared_secret":"7h0s7EpQDqcgzqmX-mwrNHFHinPvJq8Jw",
23+
}
24+
```
25+
26+
Payment pointers are often written out using the `$` shorthand. For example, `$wallet.example.com/alice`, which resolves to `https://wallet.example.com/alice/`.
27+
28+
Rafiki assigns each of your customers' accounts with a payment pointer. This payment pointer is also a wallet address because Rafiki supports both Interledger and Open Payments.
29+
30+
## Wallet addresses
31+
32+
A wallet address is a secure, unique URL for a payment account that supports Open Payments. It acts as an entry point into the Open Payments APIs, facilitating interactions like sending and receiving payments.
33+
34+
You can determine whether a URL is a wallet address by sending a `GET` request to the URL with an `accept: application/json` header.
35+
36+
```http title="Example request"
37+
curl --request GET \
38+
--url https://wallet.example.com/alice \
39+
--header 'accept: application/json'
40+
```
41+
42+
A valid response means the URL is a wallet address.
43+
44+
```http title="Example response"
45+
{
46+
"id": "https://wallet.example.com/alice",
47+
"publicName": "Alice",
48+
"assetCode": "USD",
49+
"assetScale": 2,
50+
"authServer": "https://auth.wallet.example.com",
51+
"resourceServer": "https://wallet.example.com",
52+
}
53+
```
54+
55+
Rafiki assigns each of your customers' accounts with a wallet address. This wallet address is also a payment pointer because Rafiki supports Open Payments and Interledger. See the integration requirements for [wallet addresses](/integration/requirements/wallet-addresses) for more information.

0 commit comments

Comments
 (0)