Get wallet authorization options
Returns the available wallet authorization options for a payment session. The session must be in created status.
Provide one or more payer wallet addresses as query parameters. Each option specifies the currency, amount, network, and payloads the payer must sign to authorize the payment. Present the options to the payer and let them choose one, then call Authorize Wallet with the selected option.
This is a stateless read operation — the session is not modified.
Path Parameters
The unique identifier of the payment session.
The ID of the payment session, a UUID prefixed by paymentSession_.
^paymentSession_[a-f0-9\-]{36}$"paymentSession_82c879c1-84e1-44ed-a8c2-1ac239cf09ad"
Query Parameters
The payer wallet addresses to generate authorization options for. Provide between 1 and 5 unique addresses, comma-separated (e.g. ?addresses=0xA,0xB). Each returned option's source.address identifies which requested address it applies to. If a requested address has no eligible authorization options, it appears in ineligibleAddresses with a code explaining why.
1 - 5 elementsA blockchain address. Format varies by network (e.g., 0x-prefixed for EVM, base58 for Solana).
1 - 128Optional filter to restrict options to a specific blockchain network. The blockchain network supported for payment session sources. Testnet networks are only available in sandbox environments.
arbitrum, arbitrum-sepolia, base, base-sepolia, ethereum, ethereum-sepolia, optimism, optimism-sepolia, polygon, polygon-amoy "base"
Optional filter to restrict options to a specific asset. The symbol of the asset (e.g., eth, usd, usdc, usdt).
1 - 42"usd"
Response
Successfully retrieved wallet authorization options.
The available wallet authorization options for a payment session. Each option describes one way the payer can authorize the payment from their wallet. Present the options to the payer and let them choose one. Requested addresses with no eligible option appear in ineligibleAddresses with a code explaining why.
The available wallet authorization options.
[
{
"optionId": "opt_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"source": {
"address": "0xAbC1234567890aBcDeF1234567890AbCdEf123456",
"network": "base",
"asset": "usdc"
},
"amount": "1.00",
"asset": "usdc",
"network": "base",
"payloads": [
{
"payloadId": "payload_af2937b0-9846-4fe7-bfe9-ccc22d935114",
"type": "eip3009",
"data": {
"types": {
"EIP712Domain": [
{ "name": "name", "type": "string" },
{ "name": "version", "type": "string" },
{ "name": "chainId", "type": "uint256" },
{
"name": "verifyingContract",
"type": "address"
}
],
"TransferWithAuthorization": [
{ "name": "from", "type": "address" },
{ "name": "to", "type": "address" },
{ "name": "value", "type": "uint256" },
{ "name": "validAfter", "type": "uint256" },
{ "name": "validBefore", "type": "uint256" },
{ "name": "nonce", "type": "bytes32" }
]
},
"primaryType": "TransferWithAuthorization",
"domain": {
"name": "USD Coin",
"version": "2",
"chainId": 8453,
"verifyingContract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
},
"message": {
"from": "0x1111111111111111111111111111111111111111",
"to": "0x2222222222222222222222222222222222222222",
"value": "1000000",
"validAfter": "0",
"validBefore": "1767225600",
"nonce": "0x8f5c2d6f4b9a1e3c7d2f8a6b5c4e3d2f1a0b9c8d7e6f5a4b3c2d1e0f9a8b7c6d"
}
}
}
]
},
{
"optionId": "opt_b2c3d4e5-f6a7-8901-bcde-f12345678901",
"source": {
"address": "0xDeF9876543210FeDcBa9876543210FedcBa987654",
"network": "base",
"asset": "usdc"
},
"amount": "1.00",
"asset": "usdc",
"network": "base",
"payloads": [
{
"payloadId": "payload_bg5160f4-c290-8li1-fjc3-ggg66h379558",
"type": "eip3009",
"data": {
"types": {
"EIP712Domain": [
{ "name": "name", "type": "string" },
{ "name": "version", "type": "string" },
{ "name": "chainId", "type": "uint256" },
{
"name": "verifyingContract",
"type": "address"
}
],
"TransferWithAuthorization": [
{ "name": "from", "type": "address" },
{ "name": "to", "type": "address" },
{ "name": "value", "type": "uint256" },
{ "name": "validAfter", "type": "uint256" },
{ "name": "validBefore", "type": "uint256" },
{ "name": "nonce", "type": "bytes32" }
]
},
"primaryType": "TransferWithAuthorization",
"domain": {
"name": "USD Coin",
"version": "2",
"chainId": 8453,
"verifyingContract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
},
"message": {
"from": "0x3333333333333333333333333333333333333333",
"to": "0x2222222222222222222222222222222222222222",
"value": "1000000",
"validAfter": "0",
"validBefore": "1767225600",
"nonce": "0x1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b"
}
}
}
]
}
]Requested payer addresses that have no eligible authorization option, each with a code explaining why. Empty when every requested address can authorize the payment.
[]