A capability represents a specific action a customer is authorized to take: holding a balance, sending a transfer, or placing a trade. Before initiating any of these operations on behalf of a customer, you must check that the relevant capability isDocumentation Index
Fetch the complete documentation index at: https://docs.cloud.coinbase.com/llms.txt
Use this file to discover all available pages before exploring further.
active. Coinbase determines which capabilities a customer can access based on the identity information you submit and the outcome of their compliance review.
Capability statuses
| Status | Meaning | What to do |
|---|---|---|
unrequested | Capability was not included in the capabilities block when creating the customer | Request it by updating the customer |
active | Customer is authorized for this action | Proceed with the operation |
pending | One or more requirements are outstanding | Resolve the requirements. See the Requirements page |
inactive | Blocked by a compliance decision | Cannot be resolved via the API. Do not proceed |
All capabilities
Most capabilities require the same base set of identity fields: name, date of birth, full SSN, address, purpose of account, and source of funds.tradeCrypto requires additional information; see the table below.
| Capability | What it unlocks | Required fields |
|---|---|---|
custodyFiat | Hold fiat balances in a custodial account | Base fields |
custodyStablecoin | Hold stablecoin balances | Base fields |
custodyCrypto | Hold crypto balances | Base fields |
transferFiat | Send fiat transfers (Fedwire, SWIFT, SEPA) | Base fields |
transferCrypto | Send onchain crypto transfers | Base fields |
transferStablecoin | Send stablecoin transfers | Base fields |
tradeStablecoin | Convert between stablecoins | Base fields |
tradeCrypto | Place crypto trade orders | Base fields + citizenship, employment status, occupation, expected volume, email, phone |
How to check capabilities
Capabilities are returned in the customer object. The response includes all capabilities, both requested and unrequested:"active"
Capability-gating pattern
Check capability status before each protected operation:Webhooks
Subscribe tocustomer.capability.status_changed to receive real-time updates when a capability transitions between states:
Webhook event names are provisional and subject to change until the webhooks documentation ships. This is the recommended approach for production; it keeps your integration responsive as Coinbase processes compliance decisions in real time.
Capability resolution
If a capability ispending or inactive, check requirements on the customer object to find what needs to be resolved. See the Requirements page for the resolution reference.