Authorize a payment session with a wallet
Changed onCustomer-initiated. Authorizes a payment session using the payer's wallet. The payer signs the payloads themselves, so this call is unauthenticated. 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.
Request
- Base URL: https://api.cdp.coinbase.com/platform
- URL: https://api.cdp.coinbase.com/platform/v2/payment-sessions/{paymentSessionId}/authorizations/wallet
- Auth: HTTP none
Path parameters
The ID of the payment session, a UUID prefixed by paymentSession_.
The unique identifier of the payment session to authorize.
Headers
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.
Request body
Example request
{
"optionId": "opt_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"signedPayloads": [
{
"payloadId": "payload_af2937b0-9846-4fe7-bfe9-ccc22d935114",
"signature": "0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890ab"
}
]
}Response
Successfully created wallet authorization.
Example response
{
"authorizationId": "authorization_82c879c1-84e1-44ed-a8c2-1ac239cf09ad",
"paymentSessionId": "paymentSession_82c879c1-84e1-44ed-a8c2-1ac239cf09ad",
"status": "succeeded",
"amount": "1.00",
"source": {
"address": "0xAbC1234567890aBcDeF1234567890AbCdEf123456",
"network": "base",
"asset": "usdc"
},
"onchainTransactions": [
{
"transactionHash": "0xabc123def456789012345678901234567890abcdef1234567890abcdef123456",
"network": "base"
}
],
"metadata": {
"customer_id": "cust_12345"
},
"createdAt": "2025-06-15T12:00:00.000Z",
"updatedAt": "2025-06-15T12:01:00.000Z"
}Changes
- warning
added the new
incompatible_event_typesenum value to theresponse property for the response status - warning
added the new
incompatible_event_typesenum value to theresponse property for the response status - warning
added the new
incompatible_event_typesenum value to theresponse property for the response status - warning
added the new
incompatible_event_typesenum value to theresponse property for the response status - warning
added the new
incompatible_event_typesenum value to theresponse property for the response status - warning
added the new
incompatible_event_typesenum value to theresponse property for the response status - warning
added the new
invalid_webhook_headersenum value to theresponse property for the response status - warning
added the new
invalid_webhook_headersenum value to theresponse property for the response status - warning
added the new
invalid_webhook_headersenum value to theresponse property for the response status - warning
added the new
invalid_webhook_headersenum value to theresponse property for the response status - warning
added the new
invalid_webhook_headersenum value to theresponse property for the response status - warning
added the new
invalid_webhook_headersenum value to theresponse property for the response status - warning
added the new
invalid_webhook_urlenum value to theresponse property for the response status - warning
added the new
invalid_webhook_urlenum value to theresponse property for the response status - warning
added the new
invalid_webhook_urlenum value to theresponse property for the response status - warning
added the new
invalid_webhook_urlenum value to theresponse property for the response status - warning
added the new
invalid_webhook_urlenum value to theresponse property for the response status - warning
added the new
invalid_webhook_urlenum value to theresponse property for the response status - warning
added the new
mandate_action_pendingenum value to theresponse property for the response status - warning
added the new
mandate_action_pendingenum value to theresponse property for the response status - warning
added the new
mandate_action_pendingenum value to theresponse property for the response status - warning
added the new
mandate_action_pendingenum value to theresponse property for the response status - warning
added the new
mandate_action_pendingenum value to theresponse property for the response status - warning
added the new
mandate_action_pendingenum value to theresponse property for the response status - warning
added the new
mandate_canceledenum value to theresponse property for the response status - warning
added the new
mandate_canceledenum value to theresponse property for the response status - warning
added the new
mandate_canceledenum value to theresponse property for the response status - warning
added the new
mandate_canceledenum value to theresponse property for the response status - warning
added the new
mandate_canceledenum value to theresponse property for the response status - warning
added the new
mandate_canceledenum value to theresponse property for the response status - warning
added the new
mandate_expiredenum value to theresponse property for the response status - warning
added the new
mandate_expiredenum value to theresponse property for the response status - warning
added the new
mandate_expiredenum value to theresponse property for the response status - warning
added the new
mandate_expiredenum value to theresponse property for the response status - warning
added the new
mandate_expiredenum value to theresponse property for the response status - warning
added the new
mandate_expiredenum value to theresponse property for the response status - warning
added the new
mandate_invalid_statusenum value to theresponse property for the response status - warning
added the new
mandate_invalid_statusenum value to theresponse property for the response status - warning
added the new
mandate_invalid_statusenum value to theresponse property for the response status - warning
added the new
mandate_invalid_statusenum value to theresponse property for the response status - warning
added the new
mandate_invalid_statusenum value to theresponse property for the response status - warning
added the new
mandate_invalid_statusenum value to theresponse property for the response status - warning
added the new
mandate_policy_violationenum value to theresponse property for the response status - warning
added the new
mandate_policy_violationenum value to theresponse property for the response status - warning
added the new
mandate_policy_violationenum value to theresponse property for the response status - warning
added the new
mandate_policy_violationenum value to theresponse property for the response status - warning
added the new
mandate_policy_violationenum value to theresponse property for the response status - warning
added the new
mandate_policy_violationenum value to theresponse property for the response status - warning
added the new
mandate_revokedenum value to theresponse property for the response status - warning
added the new
mandate_revokedenum value to theresponse property for the response status - warning
added the new
mandate_revokedenum value to theresponse property for the response status - warning
added the new
mandate_revokedenum value to theresponse property for the response status - warning
added the new
mandate_revokedenum value to theresponse property for the response status - warning
added the new
mandate_revokedenum value to theresponse property for the response status - warning
added the new
solanaenum value to the//////response property for the response status - warning
added the new
solanaenum value to the//////////response property for the response status - warning
added the new
solana-devnetenum value to the//////response property for the response status - warning
added the new
solana-devnetenum value to the//////////response property for the response status - warning
added the new
subscription_limit_exceededenum value to theresponse property for the response status - warning
added the new
subscription_limit_exceededenum value to theresponse property for the response status - warning
added the new
subscription_limit_exceededenum value to theresponse property for the response status - warning
added the new
subscription_limit_exceededenum value to theresponse property for the response status - warning
added the new
subscription_limit_exceededenum value to theresponse property for the response status - warning
added the new
subscription_limit_exceededenum value to theresponse property for the response status
- warning
- warning
added the new
mfa_challenge_not_foundenum value to theresponse property for the response status - warning
added the new
mfa_challenge_not_foundenum value to theresponse property for the response status - warning
added the new
mfa_challenge_not_foundenum value to theresponse property for the response status - warning
added the new
mfa_challenge_not_foundenum value to theresponse property for the response status - warning
added the new
mfa_challenge_not_foundenum value to theresponse property for the response status - warning
added the new
mfa_challenge_not_foundenum value to theresponse property for the response status - warning
added the new
operation_in_progressenum value to theresponse property for the response status - warning
added the new
operation_in_progressenum value to theresponse property for the response status - warning
added the new
operation_in_progressenum value to theresponse property for the response status - warning
added the new
operation_in_progressenum value to theresponse property for the response status - warning
added the new
operation_in_progressenum value to theresponse property for the response status - warning
added the new
operation_in_progressenum value to theresponse property for the response status
- warning