|
| 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