Skip to content
GitHub

Get keys bound to a wallet address

The Get Keys Bound to Wallet Address API lets you get the public keys associated with a wallet address.

While this API can be used by clients, getting the keys bound to a wallet address is primarily a function of account servicing entities.

When an authorization server receives a signed grant request, the server makes a call to get the public keys bound to the wallet address. Then, when a client makes a request to a resource server, the resource server calls the auth server to ensure the signature of the request corresponds to the wallet address’s public JWK. This allows the server to ensure the client is who it says it is.

We recommend creating a wallet account on the test wallet. Creating an account allows you to test your client against the Open Payments APIs by using an ILP-enabled wallet funded with play money.

Retrieve the public keys for a wallet address

Section titled “Retrieve the public keys for a wallet address”
Unauthenticated client allowed
Prerequisites
// Import dependencies
import { createAuthenticatedClient } from '@interledger/open-payments'
// Initialize client
const client = await createAuthenticatedClient({
walletAddressUrl: WALLET_ADDRESS,
privateKey: PRIVATE_KEY_PATH,
keyId: KEY_ID
})
// Get wallet address keys
const walletAddressKeys = await client.walletAddress.getKeys({
url: WALLET_ADDRESS
})
// Output
console.log('WALLET ADDRESS KEYS:', JSON.stringify(walletAddressKeys, null, 2))

For TypeScript, run tsx path/to/directory/index.ts. View full TS source

For JavaScript, run node path/to/directory/index.js. View full JS source