Accounts

Create an account. Two ownership modes are supported:

  • Entity-owned: when owner is omitted, the account is owned by the Entity making the request. Returns an account with owner: entity_<uuid>. Omit compliance; it has no effect for Entity-owned accounts.

  • Customer-owned: pass a Customer ID as owner (e.g. customer_af2937b0-9846-4fe7-bfe9-ccc22d935114). The Customer must have the custodyCrypto, custodyFiat, and custodyStablecoin capabilities enabled, otherwise the request is rejected with customer_not_authorized (HTTP 403). compliance.requesterIpAddress is required; use the IP address of the end-customer who initiated the request (not the partner server's IP).

post/v2/accounts

Request

  • Base URL: https://api.cdp.coinbase.com/platform
  • URL: https://api.cdp.coinbase.com/platform/v2/accounts
  • Auth: HTTP bearer

Headers

X-Idempotency-Keystring

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

ownerstring

The Owner ID of the Account.

Owner IDs are UUIDs prefixed with the Owner Type as follows:

  • Entity: entity_ - If the Owner is your Entity, e.g. entity_af2937b0-9846-4fe7-bfe9-ccc22d935114.

  • Customer: customer_ - If the Owner is one of your Customers, e.g. customer_af2937b0-9846-4fe7-bfe9-ccc22d935114. Customer ownership requires the Customer to have the custodyCrypto, custodyFiat, and custodyStablecoin capabilities enabled.

namestring

An optional name for the account. Must be 1-64 characters and can only contain alphanumeric characters, hyphens, and spaces.

Example request

{
  "owner": "entity_af2937b0-9846-4fe7-bfe9-ccc22d935114",
  "name": "My Business Account",
  "compliance": {
    "requesterIpAddress": "203.0.113.42"
  }
}

Response

Successfully created account.

accountIdstring required

The ID of the Account, which is a UUID prefixed by the string account_.

type'prime' | 'business' | 'cdp' required

The type of the Account.

  • prime: a linked Coinbase Prime account.
  • business: a linked Coinbase Business account.
  • cdp: a CDP-native account created via this API. Used for accounts created on behalf of an Entity and for Customer-owned accounts.
ownerstring required

The Owner ID of the Account.

Owner IDs are UUIDs prefixed with the Owner Type as follows:

  • Entity: entity_ - If the Owner is your Entity, e.g. entity_af2937b0-9846-4fe7-bfe9-ccc22d935114.

  • Customer: customer_ - If the Owner is one of your Customers, e.g. customer_af2937b0-9846-4fe7-bfe9-ccc22d935114. Customer ownership requires the Customer to have the custodyCrypto, custodyFiat, and custodyStablecoin capabilities enabled.

namestring

An optional name for the account. Must be 1-64 characters and can only contain alphanumeric characters, hyphens, and spaces.

createdAtstring date-time required

The timestamp when the account was created.

updatedAtstring date-time required

The timestamp when the account was last updated.

Example response

{
  "accountId": "account_af2937b0-9846-4fe7-bfe9-ccc22d935114",
  "type": "prime",
  "owner": "entity_af2937b0-9846-4fe7-bfe9-ccc22d935114",
  "name": "My Business Account",
  "createdAt": "2023-10-08T14:30:00Z",
  "updatedAt": "2023-10-08T14:30:00Z"
}

Changes

    • warning

      added the new incompatible_event_types enum value to the response property for the response status

    • warning

      added the new incompatible_event_types enum value to the response property for the response status

    • warning

      added the new incompatible_event_types enum value to the response property for the response status

    • warning

      added the new incompatible_event_types enum value to the response property for the response status

    • warning

      added the new invalid_webhook_headers enum value to the response property for the response status

    • warning

      added the new invalid_webhook_headers enum value to the response property for the response status

    • warning

      added the new invalid_webhook_headers enum value to the response property for the response status

    • warning

      added the new invalid_webhook_headers enum value to the response property for the response status

    • warning

      added the new invalid_webhook_url enum value to the response property for the response status

    • warning

      added the new invalid_webhook_url enum value to the response property for the response status

    • warning

      added the new invalid_webhook_url enum value to the response property for the response status

    • warning

      added the new invalid_webhook_url enum value to the response property for the response status

    • warning

      added the new mandate_action_pending enum value to the response property for the response status

    • warning

      added the new mandate_action_pending enum value to the response property for the response status

    • warning

      added the new mandate_action_pending enum value to the response property for the response status

    • warning

      added the new mandate_action_pending enum value to the response property for the response status

    • warning

      added the new mandate_canceled enum value to the response property for the response status

    • warning

      added the new mandate_canceled enum value to the response property for the response status

    • warning

      added the new mandate_canceled enum value to the response property for the response status

    • warning

      added the new mandate_canceled enum value to the response property for the response status

    • warning

      added the new mandate_expired enum value to the response property for the response status

    • warning

      added the new mandate_expired enum value to the response property for the response status

    • warning

      added the new mandate_expired enum value to the response property for the response status

    • warning

      added the new mandate_expired enum value to the response property for the response status

    • warning

      added the new mandate_invalid_status enum value to the response property for the response status

    • warning

      added the new mandate_invalid_status enum value to the response property for the response status

    • warning

      added the new mandate_invalid_status enum value to the response property for the response status

    • warning

      added the new mandate_invalid_status enum value to the response property for the response status

    • warning

      added the new mandate_policy_violation enum value to the response property for the response status

    • warning

      added the new mandate_policy_violation enum value to the response property for the response status

    • warning

      added the new mandate_policy_violation enum value to the response property for the response status

    • warning

      added the new mandate_policy_violation enum value to the response property for the response status

    • warning

      added the new mandate_revoked enum value to the response property for the response status

    • warning

      added the new mandate_revoked enum value to the response property for the response status

    • warning

      added the new mandate_revoked enum value to the response property for the response status

    • warning

      added the new mandate_revoked enum value to the response property for the response status

    • warning

      added the new subscription_limit_exceeded enum value to the response property for the response status

    • warning

      added the new subscription_limit_exceeded enum value to the response property for the response status

    • warning

      added the new subscription_limit_exceeded enum value to the response property for the response status

    • warning

      added the new subscription_limit_exceeded enum value to the response property for the response status

    • warning

      added the new mfa_challenge_not_found enum value to the response property for the response status

    • warning

      added the new mfa_challenge_not_found enum value to the response property for the response status

    • warning

      added the new mfa_challenge_not_found enum value to the response property for the response status

    • warning

      added the new mfa_challenge_not_found enum value to the response property for the response status

    • warning

      added the new operation_in_progress enum value to the response property for the response status

    • warning

      added the new operation_in_progress enum value to the response property for the response status

    • warning

      added the new operation_in_progress enum value to the response property for the response status

    • warning

      added the new operation_in_progress enum value to the response property for the response status