Ir al contenido
GitHub

Wallet address keys

Última revisión: 3 nov 2026

Esta página aún no está disponible en tu idioma.

Creating a public-private key pair for each wallet address isn’t required when integrating with Rafiki.

You only need to create key pairs for wallet addresses if you want to allow your account holders to use/be Open Payments clients under their wallet addresses. For more information, review the Open Payments documentation about clients and client keys.

Instead of registering a wallet address key pair, a client can pass a JSON Web Key (JWK) directly in the grant request. This is known as directed identity. It removes the need for the authorization server to fetch keys from a wallet address JSON Web Key Set (JWKS) endpoint. This is useful for clients that don’t have a wallet address, or don’t want to disclose one.

Directed identity is only available for non-interactive grants (incoming payments and quotes). If INCOMING_PAYMENT_INTERACTION or QUOTE_INTERACTION is set to true, directed identity can’t be used for that grant type.

When a grant uses directed identity, its client field is null in the Auth Admin API. See Viewing and revoking grants for how this affects grant queries.

Use the createWalletAddressKey GraphQL mutation to create a key pair and associate it with a wallet address.

mutation CreateWalletAddressKey($input: CreateWalletAddressKeyInput!) {
createWalletAddressKey(input: $input) {
walletAddressKey {
id
walletAddressId
revoked
jwk {
alg
crv
kid
kty
x
}
createdAt
}
}
}

Use the revokeWalletAddressKey GraphQL mutation to revoke a public key associated with a wallet address. Open Payments requests using this key for request signatures will be denied going forward.

mutation RevokeWalletAddressKey($input: RevokeWalletAddressKeyInput!) {
revokeWalletAddressKey(input: $input) {
walletAddressKey {
id
revoked
walletAddressId
createdAt
}
}
}