Skip to main content
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 is 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

Always check capability status before initiating operations. Initiating a transfer or creating an account without an active capability will result in an error: typically 403 from the gating service, or 422 (customer_not_ready_for_account_creation) on account and deposit-destination creation.

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.

How to check capabilities

Capabilities are returned in the customer object. The response includes all capabilities, both requested and unrequested:
To check a specific capability:
Expected output: "active"

Capability-gating pattern

Check capability status before each protected operation:

Webhooks

Subscribe to customer.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 is pending or inactive, check requirements on the customer object to find what needs to be resolved. See the Requirements page for the resolution reference.