Authorizes a payment session using the payer’s wallet. The session must be in created status.
The optionId must match one of the options returned by the Get Wallet Authorization Options endpoint. Include the signed payloads for the selected option.
On authorization, a hold is placed on the payer’s funds. The authorization is returned in pending status and transitions asynchronously to succeeded or failed.
If autoCapture is enabled on the session, a capture is automatically created after a successful authorization.
An optional string request header for making requests safely retryable. When included, duplicate requests with the same key will return identical responses. Refer to our Idempotency docs for more information on using idempotency keys.
1 - 128The unique identifier of the payment session to authorize.
The ID of the payment session, a UUID prefixed by paymentSession_.
^paymentSession_[a-f0-9\-]{36}$"paymentSession_82c879c1-84e1-44ed-a8c2-1ac239cf09ad"
A request to authorize a payment session using a wallet. The payer selects one of the options returned by the wallet authorization options endpoint and submits the signed payloads.
The identifier of the chosen authorization option. Must match an optionId from the wallet authorization options response.
"opt_a1b2c3d4-e5f6-7890-abcd-ef1234567890"
The processed payloads from the payer, corresponding to the payloads in the selected authorization option.
[
{
"payloadId": "payload_af2937b0-9846-4fe7-bfe9-ccc22d935114",
"signature": "0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890ab"
}
]Optional metadata as key-value pairs. Use this to store additional structured information on a resource, such as customer IDs, order references, or any application-specific data. Up to 10 key/value pairs may be provided. Keys and values are both strings. Keys must be ≤ 40 characters; values must be ≤ 500 characters.
{
"customer_id": "cust_12345",
"order_reference": "order-67890"
}Successfully created wallet authorization.
A hold placed on the payer's funds. Once authorized, the merchant can capture (collect) the funds. Only one authorization is allowed per session.
The unique identifier of the authorization.
^authorization_[a-f0-9\-]{36}$"authorization_82c879c1-84e1-44ed-a8c2-1ac239cf09ad"
The ID of the payment session this authorization belongs to.
^paymentSession_[a-f0-9\-]{36}$"paymentSession_82c879c1-84e1-44ed-a8c2-1ac239cf09ad"
The current status of the authorization.
pending, succeeded, failed "pending"
A decimal representation of the authorized amount, denominated in the session's asset.
"1.00"
An error that occurred during a payment operation.
{
"code": "insufficient_funds",
"message": "The payer does not have sufficient funds.",
"occurredAt": "2025-06-15T12:00:00.000Z"
}Optional metadata as key-value pairs. Use this to store additional structured information on a resource, such as customer IDs, order references, or any application-specific data. Up to 10 key/value pairs may be provided. Keys and values are both strings. Keys must be ≤ 40 characters; values must be ≤ 500 characters.
{
"customer_id": "cust_12345",
"order_reference": "order-67890"
}The payer for this authorization. For wallet authorizations, this is the blockchain address that signed the payloads. For Coinbase authorizations, this is the authenticated Coinbase account. This value is also reflected on the parent payment session's source field after a successful authorization.
{
"address": "0xAbC1234567890aBcDeF1234567890AbCdEf123456",
"network": "base",
"asset": "usdc"
}The onchain transactions associated with this authorization.
[
{
"transactionHash": "0xabc123def456789012345678901234567890abcdef1234567890abcdef123456",
"network": "base"
}
]The UTC ISO 8601 timestamp at which the authorization was created.
"2025-06-15T12:00:00.000Z"
The UTC ISO 8601 timestamp at which the authorization was last updated.
"2025-06-15T12:01:00.000Z"