Skip to main content

Coinbase CDP

Coinbase Developer Platform v2 (wallets, EVM accounts, policies) and Advanced Trade API.

Coinbase CDP Logo

Authentication​

This connector uses Token-based authentication.

info

Set up your connection in the Abstra Console before using it in your workflows.

How to use​

Using the Smart Chat​

Execute the action "CHOOSE_ONE_ACTION_BELOW" from my connector "YOUR_CONNECTOR_NAME" using the params "PARAMS_HERE".

Using the Web Editor​

from abstra.connectors import run_connection_action

result = run_connection_action(
connection_name="your_connection_name",
action_name="your_action_name",
params={
"param1": "value1",
"param2": "value2"
})

Available Actions​

This connector provides 222 actions:

ActionPurposeParameters
cdp_v2/get_v2_accountsList all accounts. The API will return all accounts that the API Key has Permissions to access. You can filter the results by using query parameters, which will be treated as a single conjunction i.e. AND. Results are sorted by creation date in descending order newest first.pageSize (integer)
pageToken (string)
owner (array)
type (string)
cdp_v2/post_v2_accountsCreate 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 withX-Idempotency-Key (string)
data: {
. owner
. name (string)
. compliance (object)
} (object) required
cdp_v2/get_v2_accounts_by_account_idGet an account by its ID.accountId (string) required
cdp_v2/get_v2_accounts_by_account_id_balancesList the balances for an account. Results are sorted by native-fiat equivalent balance in descending order.accountId (string) required
pageSize (integer)
pageToken (string)
cdp_v2/get_v2_accounts_by_account_id_balances_by_assetGet the balance for an account by asset.accountId (string) required
asset (string) required
cdp_v2/get_v2_coinbase_accounts_balancesReturns the balances held in the Coinbase account. The available amount is the immediately spendable balance. The total amount also includes funds currently on hold. Both amounts are returned as decimal strings with 2 decimal places e.g. '50.00'. Authentication: Requires a Coinbase OAuth Bearer token with the coinbase:stablecoins:balance-read scope. Returned assets: Currently always returns a single USDC entry. If the payer holds no USDC, the entry is still returned with an available and totaNo parameters
cdp_v2/post_v2_customersCreate a new customer record. You can optionally request capabilities and submit verification requirements in the same request. This endpoint supports creating a customer with: - Minimal data customer type only - Capability requests - KYC data submission - Combined request for capability and required info for verificationX-Idempotency-Key (string)
data required
cdp_v2/get_v2_customersList all customers. The API will return all customers that the API Key has permissions to access. Results are not returned in any guaranteed order.pageSize (integer)
pageToken (string)
cdp_v2/get_v2_customers_requirementsPreview the requirements a hypothetical customer of the given customerType and jurisdiction would need to satisfy to enable the requested capabilities, without creating a customer record. Partner onboarding UIs can use this to render the collection flow before any customer state exists. Today this endpoint only previews the Terms of Service requirement: the response's RequirementsMap will only ever contain a tos key. Other requirement families PII / CDD inputs are not yet available through thiscustomerType (string) required
capabilities (array) required
countryCode (string)
citizenship (string)
cdp_v2/get_v2_customers_by_customer_idGet a customer by their ID. Returns the full customer object.customerId (string) required
cdp_v2/delete_v2_customers_by_customer_idInitiates deletion of the customer and all associated data. This operation is idempotent — repeated calls for an already-deleted customer return 204. A 404 is returned only when no customer with the given ID exists for the caller's entity.customerId (string) required
X-Idempotency-Key (string)
cdp_v2/put_v2_customers_by_customer_idUpdate customer information and/or request capability changes. This endpoint supports partial updates. Provide only the fields you wish to change.customerId (string) required
X-Idempotency-Key (string)
data required
cdp_v2/get_v2_deposit_destinationsList deposit destinations. You can optionally filter the results by type, account ID, network, cryptocurrency address, or status. Results are sorted by creation date in descending order newest first.accountId (string)
address (string)
type (string)
network (string)
status (string)
pageSize (integer)
pageToken (string)
cdp_v2/post_v2_deposit_destinationsCreate a new deposit destination for an account. Two types are supported: - crypto public: provisions a cryptocurrency address on the requested network. The returned crypto.address is the deposit address; funds sent to it are credited to the target account in the specified asset. For Customer-owned accounts, the Customer must have the custodyCrypto and custodyStablecoin capabilities enabled. - fiat private-beta: provisions a bank account at a CDP banking partner. The server picks thX-Idempotency-Key (string)
data required
cdp_v2/get_v2_deposit_destinations_by_deposit_destination_idGet a specific deposit destination by its ID.depositDestinationId (string) required
cdp_v2/post_v2_transfersCreate a new transfer to move funds from a source to a target. All transfers first transition to quoted. If execute: false, the transfer stays quoted until you call /v2/transfers/transferId/execute. If execute: true, quoted status emits momentarily before the transfer moves to processing, where execution proceeds. Subscribe to the transfers webhook to follow progress in real time instead of polling.X-Idempotency-Key (string)
data: {
. source
. target
. amount
. asset
. amountType (string)
. validateOnly (boolean)
. execute (boolean)
. metadata (object)
. travelRule
} (object) required
cdp_v2/get_v2_transfersList transfers for your organization. Use this to view and monitor your transfer activity. Sorting: Results are sorted by creation time in descending order newest first. Transfers with the same creation time are returned in a consistent order across pages. Status Filtering: Filter by specific status to efficiently manage transfers: ?status=processing - Monitor active transfers. ?status=quoted - Find transfers awaiting execution. ?status=failed - Review failed transfers for troubleshooting.status (string)
accountId (string)
sourceAccountId (string)
targetAccountId (string)
createdAfter (string)
createdBefore (string)
updatedAfter (string)
updatedBefore (string)
sourceAsset (string)
targetAsset (string)
sourceAddress (string)
targetAddress (string)
targetEmail (string)
transferId (string)
pageSize (integer)
pageToken (string)
cdp_v2/get_v2_transfers_by_transfer_idGet a transfer by its ID.transferId (string) required
cdp_v2/post_v2_transfers_by_transfer_id_executeExecutes a transfer which was created using the Create a transfer endpoint.transferId (string) required
X-Idempotency-Key (string)
cdp_v2/post_v2_transfers_by_transfer_id_travel_ruleSubmit travel rule information for a deposit transfer held pending compliance review. Required fields vary by jurisdiction and may include originator name, address, date of birth, personal ID, and VASP information. If the submitted information satisfies all jurisdictional requirements, status will be completed and the transfer will proceed. Otherwise, status will be incomplete and missingFields will indicate which fields still need to be provided.transferId (string) required
X-Idempotency-Key (string)
data: {
. isSelf (boolean)
. isIntermediary (boolean)
. attestVerifiedWalletOwnership (boolean)
. originator
. beneficiary
} (object) required
cdp_v2/post_v2_payment_sessionsCreates a payment session that defines what is being paid — amount, asset, and target. Optionally configure execution behavior, expiry deadlines, redirect URLs, and metadata. If expiry deadlines are omitted, sensible defaults are applied 1 day for authorization, 7 days for capture, 30 days for refund. Expiries must be in ascending order — see the expiries object for details and constraints. Returns the session in created status. Next step: call one of the authorization endpoints wallet or CoinX-Idempotency-Key (string)
data: {
. amount (string)
. asset
. target
. expiries (object)
. redirect (object)
. autoCapture (boolean)
. externalReferenceId (string)
. customerDisplay (object)
. metadata (object)
. compliance
} (object) required
cdp_v2/get_v2_payment_sessionsReturns a paginated list of payment sessions that the API key has permission to access.pageSize (integer)
pageToken (string)
cdp_v2/get_v2_payment_sessions_by_payment_session_idRetrieves a single payment session by its ID, including its current status, balances, and associated metadata. The API key must have permission to access the requested session.paymentSessionId (string) required
cdp_v2/post_v2_payment_sessions_by_payment_session_id_cancelCancels a payment session before any funds have been authorized or captured. The session must be in created status. Cancel is blocked while any authorization action is pending. Once canceled, no further actions can be performed on the session. This is the only way to terminate a pre-authorization session — expiry deadlines block actions but do not automatically transition the session to a terminal state.paymentSessionId (string) required
X-Idempotency-Key (string)
data: {
. cancellationReason (string)
} (object) required
cdp_v2/get_v2_payment_sessions_by_payment_session_id_authorizations_wallet_optionsReturns the available wallet authorization options for a payment session. The session must be in created status. Provide one or more payer wallet addresses as query parameters. Each option specifies the currency, amount, network, and payloads the payer must sign to authorize the payment. Present the options to the payer and let them choose one, then call Authorize Wallet with the selected option. This is a stateless read operation — the session is not modified. If a requested address has no epaymentSessionId (string) required
addresses (array) required
network (string)
asset (string)
cdp_v2/post_v2_payment_sessions_by_payment_session_id_authorizations_walletCustomer-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 faipaymentSessionId (string) required
X-Idempotency-Key (string)
data: {
. optionId (string)
. signedPayloads (array)
. metadata (object)
. customerDisplay
. externalReferenceId
} (object) required
cdp_v2/post_v2_payment_sessions_by_payment_session_id_authorizations_x402Customer-initiated. Authorizes a payment session using x402. The payer supplies the payment payload, so this call is unauthenticated. The session must be in created status. The client sends no request body. You may supply the base64-encoded x402-compliant payment payload in the optional PAYMENT-SIGNATURE header. 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. 402 Payment Required mapaymentSessionId (string) required
PAYMENT-SIGNATURE (string)
X-External-Reference-Id
X-Customer-Display-Reference-Code
X-Idempotency-Key (string)
cdp_v2/post_v2_payment_sessions_by_payment_session_id_authorizations_coinbaseMerchant-initiated. The merchant charges the payer's Coinbase account using an OAuth grant the payer authorized earlier, so the payer does not need to be present at payment time. The session must be in created status. Authentication: Requires a Coinbase OAuth Bearer token with the coinbase:stablecoins:payment-create scope. 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 autoCaptupaymentSessionId (string) required
cb-authz-id (string) required
X-Idempotency-Key (string)
data: {
. metadata (object)
. customerDisplay
. externalReferenceId
} (object) required
cdp_v2/post_v2_payment_sessions_by_payment_session_id_authorizations_mandateMerchant-initiated. The merchant draws against a mandate in approval_succeeded status using the mandate's existing approval, so no fresh signature is required and the customer does not need to be present. The session must be in created status and the mandate must be in approval_succeeded status. When more than one mandate condition applies, the first match wins: an in-flight approval or revocation returns 409 mandate_action_pending; revokedAt set returns 422 mandate_revoked; canceledAt set returpaymentSessionId (string) required
X-Idempotency-Key (string)
data: {
. mandateId
. metadata (object)
. customerDisplay
. externalReferenceId
} (object) required
cdp_v2/get_v2_payment_sessions_by_payment_session_id_authorizationsReturns a paginated list of authorizations for a payment session. Each authorization represents a hold on funds and includes its current status and amount.paymentSessionId (string) required
pageSize (integer)
pageToken (string)
cdp_v2/get_v2_payment_sessions_by_payment_session_id_authorizations_by_authorization_idRetrieves a single authorization by its ID, including its current status, amount, and any associated onchain transactions.paymentSessionId (string) required
authorizationId (string) required
cdp_v2/post_v2_payment_sessions_by_payment_session_id_capturesCaptures authorized funds. The session must have a positive capturable balance and the captureExpiresAt deadline must not have passed. This is an asynchronous operation. The capture is returned in pending status and transitions to succeeded or failed. Multiple partial captures are allowed. If amount is omitted, the full remaining capturable amount is captured.paymentSessionId (string) required
X-Idempotency-Key (string)
data: {
. amount (string)
. finalCapture (boolean)
. metadata (object)
. externalReferenceId
. customerDisplay
} (object) required
cdp_v2/get_v2_payment_sessions_by_payment_session_id_capturesReturns a paginated list of captures for a payment session. Each capture includes its status, amount, associated onchain transactions, and timestamps. Only captures accessible by the current API key are returned.paymentSessionId (string) required
pageSize (integer)
pageToken (string)
cdp_v2/get_v2_payment_sessions_by_payment_session_id_captures_by_capture_idRetrieves a single capture by its ID, including status, captured amount, associated onchain transactions, and timestamps. Only returns the capture if the API key has permission to access it.paymentSessionId (string) required
captureId (string) required
cdp_v2/post_v2_payment_sessions_by_payment_session_id_voidsReleases all remaining capturable funds back to the payer. The session must have a positive capturable balance. This is an asynchronous operation. The void is returned in pending status and transitions to succeeded or failed. After voiding, no further captures can be made. Unlike Cancel, which works before authorization, void works after authorization.paymentSessionId (string) required
X-Idempotency-Key (string)
data: {
. metadata (object)
. externalReferenceId
. customerDisplay
} (object) required
cdp_v2/get_v2_payment_sessions_by_payment_session_id_voidsReturns a paginated list of voids for a payment session. Each void includes its status, amount, associated onchain transactions, and timestamps. Only voids accessible by the current API key are returned.paymentSessionId (string) required
pageSize (integer)
pageToken (string)
cdp_v2/get_v2_payment_sessions_by_payment_session_id_voids_by_void_idRetrieves a single void by its ID, including status, voided amount, associated onchain transactions, and timestamps. Only returns the void if the API key has permission to access it.paymentSessionId (string) required
voidId (string) required
cdp_v2/post_v2_payment_sessions_by_payment_session_id_refundsReturns captured funds to the payer. The session must have a positive refundable balance and the refundExpiresAt deadline must not have passed. This is an asynchronous operation. The refund is returned in pending status and transitions to succeeded or failed. If amount is omitted, the full remaining refundable amount is refunded. Multiple partial refunds are supported.paymentSessionId (string) required
X-Idempotency-Key (string)
data: {
. source
. amount (string)
. reason (string)
. metadata (object)
. externalReferenceId
. customerDisplay
} (object) required
cdp_v2/get_v2_payment_sessions_by_payment_session_id_refundsReturns a paginated list of refunds for a payment session. Each refund includes its status, amount, reason, associated onchain transactions, and timestamps. Only refunds accessible by the current API key are returned.paymentSessionId (string) required
pageSize (integer)
pageToken (string)
cdp_v2/get_v2_payment_sessions_by_payment_session_id_refunds_by_refund_idRetrieves a single refund by its ID, including status, refunded amount, reason, associated onchain transactions, and timestamps. Only returns the refund if the API key has permission to access it.paymentSessionId (string) required
refundId (string) required
cdp_v2/post_v2_mandatesCreates a mandate denominated in asset. Optionally set policy to cap debits; if omitted, a Coinbase-configured monthly max applies. The response always includes the resolved policy. Returns the mandate in created status with no source; it is not yet usable. Next step: have the customer approve it with Get wallet approval options then Approve a mandate with a wallet, which attaches the source and moves the mandate to approval_succeeded. A mandate's terms can't be modified once created. To changX-Idempotency-Key (string)
data: {
. asset
. policy
. expiresAt (string)
. approvalRedirect
. revocationRedirect
. customerDisplay (object)
. metadata (object)
} (object) required
cdp_v2/get_v2_mandatesReturns a paginated list of mandates that the API key has permission to access. Filter by address the funding source, network, and status.address (string)
network (string)
status (string)
pageSize (integer)
pageToken (string)
cdp_v2/get_v2_mandates_by_mandate_idRetrieves a single mandate by its ID, including its current status, policy, and source.mandateId (string) required
cdp_v2/post_v2_mandates_by_mandate_id_cancelEnds the mandate off-chain. status becomes canceled, canceledAt is set, and new authorizations are blocked immediately; authorizations already in progress are not affected. Cancel can be called from any status except a fully revoked one revokedAt set; canceling an already canceled mandate is a no-op that returns the mandate unchanged. Canceling does not touch the on-chain spending allowance, which may still be live afterward. The customer removes it separately with Revoke a mandate with a wallemandateId (string) required
X-Idempotency-Key (string)
data: {
. reason (string)
} (object) required
cdp_v2/get_v2_mandates_by_mandate_id_revocationsReturns all wallet revocations for the mandate, newest first. Each records an attempt to remove the spending allowance on-chain. A succeeded entry means the allowance has been removed.mandateId (string) required
pageSize (integer)
pageToken (string)
cdp_v2/get_v2_mandates_by_mandate_id_revocations_by_revocation_idRetrieves a single revocation by ID.mandateId (string) required
revocationId (string) required
cdp_v2/post_v2_mandates_by_mandate_id_revocations_walletCustomer-initiated. Removes the mandate's spending allowance on-chain using the customer's signed payloads from Get wallet revocation options. The customer signs the payloads themselves, so this call is unauthenticated. The mandate must have an active allowance and no approval or revocation in flight. Returns a pending revocation and moves the mandate to revocation_pending. When the network transaction confirms, revokedAt is set and status becomes revocation_succeeded; if it does not complete,mandateId (string) required
X-Idempotency-Key (string)
data: {
. optionId (string)
. signedPayloads (array)
. reason (string)
. metadata (object)
} (object) required
cdp_v2/get_v2_mandates_by_mandate_id_revocations_wallet_optionsReturns the payloads the customer must sign to remove the mandate's spending allowance on-chain. The mandate must have an active allowance approval succeeded, not yet revoked and no approval or revocation in flight. A canceled mandate can still be revoked while its allowance is live. Present the payloads to the customer to sign, then call Revoke a mandate with a wallet with the signed payloads. This is a stateless read operation and does not modify the mandate. The payloads embed fresh signingmandateId (string) required
cdp_v2/get_v2_mandates_by_mandate_id_approvalsReturns the approvals for a mandate, most recent first. Each approval is an attempt to attach a funding source; inspect them to see why a mandate is not yet approval_succeeded: a pending attempt is still in progress, a failed one carries an error.mandateId (string) required
pageSize (integer)
pageToken (string)
cdp_v2/get_v2_mandates_by_mandate_id_approvals_by_approval_idRetrieves a single approval by its ID, including its current status, its onchainTransactions once submitted, and, when it failed, its error. Poll this after Approve a mandate with a wallet to follow a pending approval to succeeded or failed, or consume the mandate webhooks instead.mandateId (string) required
approvalId (string) required
cdp_v2/post_v2_mandates_by_mandate_id_approvals_walletCustomer-initiated. Approves a mandate on a wallet source using the customer's signed payloads from Get wallet approval options. The customer signs the payloads themselves, so this call is unauthenticated. The mandate must be in created or approval_failed status, not expired, and have no approval or revocation in flight. Returns a pending approval and moves the mandate to approval_pending. On success the mandate's source is set and status becomes approval_succeeded; it can then be used by AuthomandateId (string) required
X-Idempotency-Key (string)
data: {
. optionId (string)
. signedPayloads (array)
. metadata (object)
} (object) required
cdp_v2/get_v2_mandates_by_mandate_id_approvals_wallet_optionsReturns the available wallet approval options for a mandate. The mandate must be in created or approval_failed status, not expired, and have no approval or revocation in flight. Provide one or more customer wallet addresses as query parameters. Each option specifies the network, asset, and payloads the customer must sign to approve the mandate. Present the options to the customer and let them choose one, then call Approve a mandate with a wallet with the selected option and its signed payloads.mandateId (string) required
addresses (array) required
network (string)
asset (string)
cdp_v2/post_v2_disbursementsCreates a merchant-initiated payment of funds from a CDP account owned by the merchant to a Coinbase user account or onchain address. Used for standalone refunds, goodwill disbursements, rebates, and other merchant-driven payouts that are not tied to a specific payment session. This is an asynchronous operation. The disbursement is returned in pending status and transitions to succeeded with associated onchainTransactions or failed with error.X-Idempotency-Key (string)
data: {
. source
. target
. amount (string)
. asset
. reason (string)
. externalReferenceId (string)
. customerDisplay
. metadata (object)
. compliance
} (object) required
cdp_v2/get_v2_disbursementsReturns a paginated list of disbursements created by the merchant. Each disbursement includes its source, target, status, amount, and timestamps. Only disbursements accessible by the current API key are returned.pageSize (integer)
pageToken (string)
status (string)
sourceAccountId (string)
externalReferenceId (string)
cdp_v2/get_v2_disbursements_by_disbursement_idRetrieves a single disbursement by its ID, including source, target, status, amount, associated onchain transactions, error details if failed, and timestamps. Only returns the disbursement if the API key has permission to access it.disbursementId (string) required
cdp_v2/post_v2_end_usersCreates an end user. An end user is an entity that can own CDP EVM accounts, EVM smart accounts, and/or Solana accounts. 1 or more authentication methods must be associated with an end user. By default, no accounts are created unless the optional evmAccount and/or solanaAccount fields are provided. This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.X-Wallet-Auth (string) required
X-Idempotency-Key (string)
data: {
. userId (string)
. authenticationMethods (array)
. evmAccount (object)
. solanaAccount (object)
} (object) required
cdp_v2/get_v2_end_usersLists the end users belonging to the developer's CDP Project. By default, the response is sorted by creation date in ascending order and paginated to 20 users per page.pageSize (integer)
pageToken (string)
sort (array)
cdp_v2/post_v2_end_users_auth_validate_tokenValidates the end user's access token and returns the end user's information. Returns an error if the access token is invalid or expired. This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.data: {
. accessToken (string)
} (object) required
cdp_v2/get_v2_end_users_by_user_idGets an end user by ID. This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.userId (string) required
cdp_v2/get_v2_end_users_lookupLooks up end users. Exactly one lookup type must be provided per request: - email: searches across all email-based authentication methods email, Google, Apple, GitHub. May return multiple end users if the same email address appears across different auth methods. - oauthProvider + oauthSubject: looks up a user by their OAuth provider and subject the sub claim from the provider's ID token. Both params must be provided together. - phoneNumber: looks up a user by their SMS-verified phoneemail (string)
oauthProvider (string)
oauthSubject (string)
phoneNumber (string)
siweAddress (string)
cdp_v2/post_v2_end_users_by_user_id_evmAdds a new EVM EOA account to an existing end user. End users can have up to 10 EVM accounts. This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.userId (string) required
X-Wallet-Auth (string) required
X-Idempotency-Key (string)
data (object) required
cdp_v2/post_v2_end_users_by_user_id_evm_smart_accountCreates an EVM smart account for an existing end user. The backend will create a new EVM EOA account to serve as the owner of the smart account. This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.userId (string) required
X-Wallet-Auth (string) required
X-Idempotency-Key (string)
data: {
. enableSpendPermissions (boolean)
} (object) required
cdp_v2/post_v2_end_users_by_user_id_solanaAdds a new Solana account to an existing end user. End users can have up to 10 Solana accounts. This API is intended to be used by the developer's own backend, and is authenticated using the developer's CDP API key.userId (string) required
X-Wallet-Auth (string) required
X-Idempotency-Key (string)
data (object) required
cdp_v2/post_v2_end_users_importImports an existing private key for an end user into the developer's CDP Project. The private key must be encrypted using the CDP SDK's encryption scheme before being sent to this endpoint. This API should be called from the CDP SDKhttps://github.com/coinbase/cdp-sdk to ensure that the associated private key is properly encrypted. This endpoint allows developers to import existing keys for their end users, supporting both EVM and Solana key types. The end user must have at least one authenticatX-Wallet-Auth (string) required
X-Idempotency-Key (string)
data: {
. userId (string)
. authenticationMethods (array)
. encryptedPrivateKey (string)
. keyType (string)
} (object) required
cdp_v2/get_v2_embedded_wallet_api_evm_borrow_productsLists the borrow products available across all supported networks and protocols. If a network and/or protocol query parameter is supplied, then borrow products are filtered and returned accordingly. A borrow product is a protocol-native representation of a borrowable market, describing the venue that hosts it, the assets that can be borrowed or posted as collateral, and their collateral and debt capabilities. For example, a Morpho Blue market that lends USDC against cbBTC.projectID (string)
network (string)
protocol (string)
pageSize (integer)
pageToken (string)
cdp_v2/get_v2_embedded_wallet_api_evm_borrow_products_by_borrow_product_idGets a single borrow product by its ID. The ID is a stable identifier that uniquely identifies a single borrow product based on the product's onchain parameters. A borrow product is a protocol-native representation of a borrowable market, describing the venue that hosts it and the assets that participate in it together with their collateral and debt capabilities.borrowProductId (string) required
projectID (string)
cdp_v2/post_v2_embedded_wallet_api_end_users_by_user_id_evm_sign_transactionSigns a transaction with the given end user EVM account. The transaction should be serialized as a hex string using RLPhttps://ethereum.org/en/developers/docs/data-structures-and-encoding/rlp/. The transaction must be an EIP-1559 dynamic fee transactionhttps://github.com/ethereum/EIPs/blob/master/EIPS/eip-1559.md. The developer is responsible for ensuring that the unsigned transaction is valid, as the API will not validate the transaction.userId (string) required
X-Wallet-Auth (string)
X-Idempotency-Key (string)
X-Developer-Auth (string)
projectID (string)
data: {
. address (string)
. transaction (string)
. walletSecretId (string)
} (object) required
cdp_v2/post_v2_embedded_wallet_api_end_users_by_user_id_evm_send_transactionSigns a transaction with the given end user EVM account and sends it to the indicated supported network. This API handles nonce management and gas estimation, leaving the developer to provide only the minimal set of fields necessary to send the transaction. The transaction should be serialized as a hex string using RLPhttps://ethereum.org/en/developers/docs/data-structures-and-encoding/rlp/. The transaction must be an EIP-1559 dynamic fee transactionhttps://github.com/ethereum/EIPs/blob/master/userId (string) required
X-Wallet-Auth (string)
X-Idempotency-Key (string)
X-Developer-Auth (string)
projectID (string)
data: {
. address (string)
. network (string)
. walletSecretId (string)
. transaction (string)
} (object) required
cdp_v2/post_v2_embedded_wallet_api_end_users_by_user_id_evm_by_address_send_by_assetSends USDC from an end user's EVM account EOA or Smart Account to a recipient address on a supported EVM network. This endpoint simplifies USDC transfers by automatically handling contract resolution, decimal conversion, gas estimation, and transaction encoding. The amount field accepts human-readable amounts as decimal strings e.g., '1.5', '25.50'.userId (string) required
address required
asset required
X-Wallet-Auth (string)
X-Idempotency-Key (string)
X-Developer-Auth (string)
projectID (string)
data: {
. to
. amount (string)
. network (string)
. useCdpPaymaster (boolean)
. paymasterUrl
. paymasterContext (object)
. walletSecretId (string)
} (object) required
cdp_v2/post_v2_embedded_wallet_api_end_users_by_user_id_evm_sign_messageSigns an EIP-191https://eips.ethereum.org/EIPS/eip-191 message with the given end user EVM account. Per the specification, the message in the request body is prepended with 0x19 0x45 E thereum Signed Message:n' + lenmessage before being signed.userId (string) required
X-Wallet-Auth (string)
X-Idempotency-Key (string)
X-Developer-Auth (string)
projectID (string)
data: {
. address (string)
. message (string)
. walletSecretId (string)
} (object) required
cdp_v2/post_v2_embedded_wallet_api_end_users_by_user_id_evm_sign_typed_dataSigns EIP-712https://eips.ethereum.org/EIPS/eip-712 typed data with the given end user EVM account.userId (string) required
X-Wallet-Auth (string)
X-Idempotency-Key (string)
X-Developer-Auth (string)
projectID (string)
data: {
. address (string)
. typedData (object)
. walletSecretId (string)
} (object) required
cdp_v2/get_v2_embedded_wallet_api_end_users_by_user_id_delegationReturns the active delegation for the specified end user, if one exists. This operation can be performed by the end user themselves or by a developer using their API key.userId (string) required
projectID (string)
cdp_v2/delete_v2_embedded_wallet_api_end_users_by_user_id_delegationDeprecation Notice: Prefer Revoke delegation for end user operation/revokeDelegationForEndUser POST /v2/embedded-wallet-api/end-users/userId/delegation/revoke, which takes the same request body. This DELETE path will be removed on 2026-10-22. Revokes all active delegations for the specified end user. This operation can be performed by the end user themselves or by a developer using their API key.userId (string) required
X-Wallet-Auth (string)
X-Developer-Auth (string)
X-Idempotency-Key (string)
projectID (string)
data: {
. walletSecretId (string)
} (object) required
cdp_v2/post_v2_embedded_wallet_api_end_users_by_user_id_delegation_revokeRevokes all active delegations for the specified end user. This operation can be performed by the end user themselves or by a developer using their API key.userId (string) required
X-Wallet-Auth (string)
X-Developer-Auth (string)
X-Idempotency-Key (string)
projectID (string)
data: {
. walletSecretId (string)
} (object) required
cdp_v2/post_v2_embedded_wallet_api_end_users_by_user_id_address_by_address_delegationCreates an account-scoped delegation that allows a developer to sign on behalf of an end user for a single blockchain account identified by its address for the specified duration. The end user must be authenticated to authorize this delegation. Multiple account-scoped delegations may exist concurrently for a single end user one per canonical account address. Account-scoped and user-scoped delegations cannot coexist for the same user. When the address corresponds to an EVM Smart Account, the deleuserId (string) required
address (string) required
X-Wallet-Auth (string) required
X-Idempotency-Key (string)
projectID (string)
data: {
. expiresAt (string)
. walletSecretId (string)
} (object) required
cdp_v2/get_v2_embedded_wallet_api_end_users_by_user_id_address_by_address_delegationReturns the active account-scoped delegation for the specified end user account, if one exists. Useful for showing delegation status in a UI. When the address corresponds to an EVM Smart Account, this returns the delegation for the Smart Account's owner EOA.userId (string) required
address (string) required
projectID (string)
cdp_v2/delete_v2_embedded_wallet_api_end_users_by_user_id_address_by_address_delegationDeprecation Notice: Prefer Revoke account-scoped delegation for end user operation/revokeDelegationForEndUserAccount POST /v2/embedded-wallet-api/end-users/userId/address/address/delegation/revoke, which takes the same request body. This DELETE path will be removed on 2026-10-22. Revokes the active account-scoped delegation for the specified end user account. Other account-scoped delegations for the same user are unaffected. This operation can be performed by the end user themselves or by auserId (string) required
address (string) required
X-Wallet-Auth (string)
X-Developer-Auth (string)
X-Idempotency-Key (string)
projectID (string)
data: {
. walletSecretId (string)
} (object) required
cdp_v2/post_v2_embedded_wallet_api_end_users_by_user_id_address_by_address_delegation_revokeRevokes the active account-scoped delegation for the specified end user account. Other account-scoped delegations for the same user are unaffected. This operation can be performed by the end user themselves or by a developer using their API key. When the address corresponds to an EVM Smart Account, this revokes the delegation for the Smart Account's owner EOA.userId (string) required
address (string) required
X-Wallet-Auth (string)
X-Developer-Auth (string)
X-Idempotency-Key (string)
projectID (string)
data: {
. walletSecretId (string)
} (object) required
cdp_v2/post_v2_embedded_wallet_api_end_users_by_user_id_evm_eip7702_delegationCreates an EIP-7702 delegation for an end user's EVM EOA account, upgrading it with smart account capabilities. This endpoint: - Retrieves delegation artifacts from onchain - Signs the EIP-7702 authorization for delegation - Assembles and submits a Type 4 transaction - Creates an associated smart account object The delegation allows the EVM EOA to be used as a smart account, which enables batched transactions and gas sponsorship via paymaster.userId (string) required
X-Wallet-Auth (string)
X-Idempotency-Key (string)
X-Developer-Auth (string)
projectID (string)
data: {
. address (string)
. network (string)
. enableSpendPermissions (boolean)
. walletSecretId (string)
} (object) required
cdp_v2/get_v2_embedded_wallet_api_end_users_by_user_id_evm_smart_accounts_by_address_user_operations_by_user_op_hashGets a user operation by its hash for an end user's EVM Smart Account.userId (string) required
address (string) required
userOpHash (string) required
projectID (string)
cdp_v2/post_v2_embedded_wallet_api_end_users_by_user_id_evm_smart_accounts_by_address_sendPrepares, signs, and sends a user operation for an end user's Smart Account.userId (string) required
address (string) required
X-Idempotency-Key (string)
X-Wallet-Auth (string)
X-Developer-Auth (string)
projectID (string)
data: {
. network (string)
. calls (array)
. useCdpPaymaster (boolean)
. paymasterUrl
. paymasterContext (object)
. walletSecretId (string)
. dataSuffix (string)
} (object) required
cdp_v2/get_v2_embedded_wallet_api_end_users_by_user_id_evm_smart_accounts_by_address_borrow_positionsLists the borrow positions held by an end user smart account, with the live onchain state of each position read at a point-in-time snapshot. A borrow position represents collateral posted and a loan borrowed against it in a borrow product, such as a Morpho Blue market that lends USDC against cbBTC. Each position reports its current collateral and debt balances, its health factor, and its health status. Returns an empty list if the smart account has no borrow positions.userId (string) required
address (string) required
pageSize (integer)
pageToken (string)
projectID (string)
cdp_v2/post_v2_embedded_wallet_api_end_users_by_user_id_evm_smart_accounts_by_address_borrow_positionsCreates a borrow position for a specific borrow product, by posting collateral from an end user smart account and borrowing a loan against it. One position can be opened per borrow product for a given smart account. A borrow product is a protocol-native representation of a borrowable market, such as a Morpho Blue market that lends USDC against cbBTC. The borrowProductId identifies the product to borrow against, and the collateralAmount and loanAmount specify the collateral to post and the loan tuserId (string) required
address (string) required
X-Wallet-Auth (string) required
projectID (string)
data: {
. borrowProductId (string)
. collateralAmount
. loanAmount
. walletSecretId (string)
. useCdpPaymaster (boolean)
. paymasterUrl
. paymasterContext
} (object) required
cdp_v2/post_v2_embedded_wallet_api_end_users_by_user_id_evm_smart_accounts_by_address_borrow_positions_adjustAdjusts an existing borrow position for a specific borrow product by supplying collateral, withdrawing collateral, repaying debt, and/or borrowing more of the loan asset from an end user smart account. The borrowProductId identifies the product whose position to adjust, and the addCollateralAmount, removeCollateralAmount, repayLoanAmount, and borrowLoanAmount fields specify the changes to apply, each expressed as a decimal string in standard unit denomination of the respective token. A single reuserId (string) required
address (string) required
X-Wallet-Auth (string) required
projectID (string)
data: {
. borrowProductId (string)
. addCollateralAmount
. removeCollateralAmount
. repayLoanAmount
. borrowLoanAmount
. walletSecretId (string)
. useCdpPaymaster (boolean)
. paymasterUrl
. paymasterContext
} (object) required
cdp_v2/post_v2_embedded_wallet_api_end_users_by_user_id_evm_smart_accounts_by_address_borrow_positions_closeCloses an end user smart account's borrow position by fully repaying its outstanding loan and withdrawing all remaining collateral back to the smart account, in a single user operation. A borrow position is identified by the smart account address and the borrowProductId in the request body, since a smart account holds at most one position per borrow product. Closing repays the entire accrued debt and withdraws the full collateral balance; there is no partial close. To adjust a position without cuserId (string) required
address (string) required
X-Wallet-Auth (string) required
projectID (string)
data: {
. borrowProductId (string)
. walletSecretId (string)
. useCdpPaymaster (boolean)
. paymasterUrl
. paymasterContext
} (object) required
cdp_v2/post_v2_embedded_wallet_api_end_users_by_user_id_solana_sign_messageSigns an arbitrary Base64 encoded message with the given Solana account. WARNING: Never sign a message that you didn't generate as it may put your funds at risk.userId (string) required
X-Wallet-Auth (string)
X-Idempotency-Key (string)
X-Developer-Auth (string)
projectID (string)
data: {
. address (string)
. message (string)
. walletSecretId (string)
} (object) required
cdp_v2/post_v2_embedded_wallet_api_end_users_by_user_id_solana_sign_transactionSigns a transaction with the given end user Solana account. The unsigned transaction should be serialized into a byte array and then encoded as base64. Transaction types The following transaction types are supported: Legacy transactionshttps://solana-labs.github.io/solana-web3.js/classes/Transaction.html Versioned transactionshttps://solana-labs.github.io/solana-web3.js/classes/VersionedTransaction.html The developer is responsible for ensuring that the unsigned transaction is valid, as the APuserId (string) required
X-Wallet-Auth (string)
X-Idempotency-Key (string)
X-Developer-Auth (string)
projectID (string)
data: {
. address (string)
. network (string)
. transaction (string)
. walletSecretId (string)
} (object) required
cdp_v2/post_v2_embedded_wallet_api_end_users_by_user_id_solana_sign_x402_paymentSigns an x402 payment payload using the end user's given Solana account. Accepts the full x402 payment required response body from a resource server plus an index into the accepts array selecting which payment option to sign. The paymentRequired envelope's x402Version, resource, and extensions are carried through into the signed payment payload; only the selected accept entry becomes paymentPayload.accepted. Returns a signed payment payload that can be base64-encoded and sent in the PAYMENT-SIGNuserId (string) required
X-Wallet-Auth (string)
X-Idempotency-Key (string)
X-Developer-Auth (string)
projectID (string)
data: {
. paymentRequired
. acceptsIndex (integer)
. address (string)
. walletSecretId (string)
} (object) required
cdp_v2/post_v2_embedded_wallet_api_end_users_by_user_id_solana_send_transactionSigns a transaction with the given end user Solana account and sends it to the indicated supported network. The API handles recent blockhash management and fee estimation, leaving the developer to provide only the minimal set of fields necessary to send the transaction. The unsigned transaction should be serialized into a byte array and then encoded as base64. Transaction types The following transaction types are supported: Legacy transactionshttps://solana.com/developers/guides/advanced/versiouserId (string) required
X-Wallet-Auth (string)
X-Idempotency-Key (string)
X-Developer-Auth (string)
projectID (string)
data: {
. address (string)
. network (string)
. walletSecretId (string)
. transaction (string)
. useCdpSponsor (boolean)
} (object) required
cdp_v2/post_v2_embedded_wallet_api_end_users_by_user_id_solana_by_address_send_by_assetSends USDC from an end user's Solana account to a recipient address on the Solana network. This endpoint simplifies USDC transfers by automatically handling mint resolution, Associated Token Account ATA creation, decimal conversion, and transaction encoding. The amount field accepts human-readable amounts as decimal strings e.g., '1.5', '25.50'. Use the optional createRecipientAta parameter to control whether the sender pays for creating the recipient's Associated Token Account if it doesn't exiuserId (string) required
address required
asset required
X-Wallet-Auth (string)
X-Idempotency-Key (string)
X-Developer-Auth (string)
projectID (string)
data: {
. to
. amount (string)
. network (string)
. createRecipientAta (boolean)
. walletSecretId (string)
. useCdpSponsor (boolean)
} (object) required
cdp_v2/get_v2_evm_accountsLists the EVM accounts belonging to the developer's CDP Project. The response is paginated, and by default, returns 20 accounts per page.pageSize (integer)
pageToken (string)
cdp_v2/post_v2_evm_accountsCreates a new EVM account.X-Wallet-Auth (string) required
X-Idempotency-Key (string)
data: {
. name (string)
. accountPolicy (string)
} (object) required
cdp_v2/get_v2_evm_accounts_by_addressGets an EVM account by its address.address (string) required
cdp_v2/put_v2_evm_accounts_by_addressUpdates an existing EVM account. Use this to update the account's name or account-level policy.address (string) required
X-Idempotency-Key (string)
data: {
. name (string)
. accountPolicy (string)
} (object) required
cdp_v2/get_v2_evm_accounts_by_name_by_nameGets an EVM account by its name.name (string) required
cdp_v2/post_v2_evm_accounts_by_address_send_transactionSigns a transaction with the given EVM account and sends it to the indicated supported network. This API handles nonce management and gas estimation, leaving the developer to provide only the minimal set of fields necessary to send the transaction. The transaction should be serialized as a hex string using RLPhttps://ethereum.org/en/developers/docs/data-structures-and-encoding/rlp/. The transaction must be an EIP-1559 dynamic fee transactionhttps://github.com/ethereum/EIPs/blob/master/EIPS/eip-address (string) required
X-Wallet-Auth (string) required
X-Idempotency-Key (string)
data: {
. network (string)
. transaction (string)
} (object) required
cdp_v2/post_v2_evm_accounts_by_address_sign_transactionSigns a transaction with the given EVM account. The transaction should be serialized as a hex string using RLPhttps://ethereum.org/en/developers/docs/data-structures-and-encoding/rlp/. The transaction must be an EIP-1559 dynamic fee transactionhttps://github.com/ethereum/EIPs/blob/master/EIPS/eip-1559.md. The developer is responsible for ensuring that the unsigned transaction is valid, as the API will not validate the transaction.address (string) required
X-Wallet-Auth (string) required
X-Idempotency-Key (string)
data: {
. transaction (string)
} (object) required
cdp_v2/post_v2_evm_accounts_by_address_signSigns an arbitrary 32 byte hash with the given EVM account.address (string) required
X-Wallet-Auth (string) required
X-Idempotency-Key (string)
data: {
. hash (string)
} (object) required
cdp_v2/post_v2_evm_accounts_by_address_sign_messageSigns an EIP-191https://eips.ethereum.org/EIPS/eip-191 message with the given EVM account. Per the specification, the message in the request body is prepended with 0x19 0x45 E thereum Signed Message:n' + lenmessage before being signed.address (string) required
X-Wallet-Auth (string) required
X-Idempotency-Key (string)
data: {
. message (string)
} (object) required
cdp_v2/post_v2_evm_accounts_by_address_sign_typed_dataSigns EIP-712https://eips.ethereum.org/EIPS/eip-712 typed data with the given EVM account.address (string) required
X-Wallet-Auth (string) required
X-Idempotency-Key (string)
data: {
. domain (object)
. types (object)
. primaryType (string)
. message (object)
} (object) required
cdp_v2/post_v2_evm_accounts_by_address_eip7702_delegationCreates an EIP-7702 delegation for an EVM EOA account, upgrading it with smart account capabilities. This endpoint: - Retrieves delegation artifacts from onchain - Signs the EIP-7702 authorization for delegation - Assembles and submits a Type 4 transaction - Creates an associated smart account object The delegation allows the EVM EOA to be used as a smart account, which enables batched transactions and gas sponsorship via paymaster.address (string) required
X-Wallet-Auth (string) required
X-Idempotency-Key (string)
data: {
. network (string)
. enableSpendPermissions (boolean)
} (object) required
cdp_v2/get_v2_evm_eip7702_delegation_operations_by_delegation_operation_idReturns the EIP-7702 delegation operation. Use the delegationOperationId returned by the Create EIP-7702 delegation endpoint to poll for operation completion.delegationOperationId (string) required
cdp_v2/get_v2_evm_smart_accountsLists the Smart Accounts belonging to the developer's CDP Project. The response is paginated, and by default, returns 20 accounts per page.pageSize (integer)
pageToken (string)
cdp_v2/post_v2_evm_smart_accountsCreates a new Smart Account.X-Idempotency-Key (string)
data: {
. owners (array)
. name (string)
} (object) required
cdp_v2/get_v2_evm_smart_accounts_by_name_by_nameGets a Smart Account by its name.name (string) required
cdp_v2/post_v2_evm_accounts_importImport an existing EVM account into the developer's CDP Project. This API should be called from the CDP SDKhttps://github.com/coinbase/cdp-sdk to ensure that the associated private key is properly encrypted.X-Wallet-Auth (string) required
X-Idempotency-Key (string)
data: {
. encryptedPrivateKey (string)
. name (string)
. accountPolicy (string)
} (object) required
cdp_v2/post_v2_evm_accounts_by_address_exportExport an existing EVM account's private key. It is important to store the private key in a secure place after it's exported.address (string) required
X-Wallet-Auth (string) required
X-Idempotency-Key (string)
data: {
. exportEncryptionKey (string)
} (object) required
cdp_v2/post_v2_evm_accounts_export_by_name_by_nameExport an existing EVM account's private key by its name. It is important to store the private key in a secure place after it's exported.name (string) required
X-Wallet-Auth (string) required
X-Idempotency-Key (string)
data: {
. exportEncryptionKey (string)
} (object) required
cdp_v2/get_v2_evm_smart_accounts_by_addressGets a Smart Account by its address.address (string) required
cdp_v2/put_v2_evm_smart_accounts_by_addressUpdates an existing EVM smart account. Use this to update the smart account's name.address (string) required
data: {
. name (string)
} (object) required
cdp_v2/post_v2_evm_smart_accounts_by_address_user_operationsPrepares a new user operation on a Smart Account for a specific network.address (string) required
data: {
. network (string)
. calls (array)
. paymasterUrl
. paymasterContext (object)
. dataSuffix (string)
} (object) required
cdp_v2/post_v2_evm_smart_accounts_by_address_user_operations_prepare_and_sendPrepares, signs, and sends a user operation for an EVM Smart Account. This API can be used only if the owner on Smart Account is a CDP EVM Account.address (string) required
X-Idempotency-Key (string)
X-Wallet-Auth (string) required
data: {
. network (string)
. calls (array)
. paymasterUrl
. paymasterContext (object)
} (object) required
cdp_v2/get_v2_evm_smart_accounts_by_address_user_operations_by_user_op_hashGets a user operation by its hash.address (string) required
userOpHash (string) required
cdp_v2/post_v2_evm_smart_accounts_by_address_user_operations_by_user_op_hash_sendSends a user operation with a signature. The payload to sign must be the userOpHash field of the user operation. This hash should be signed directly not using personal_sign or EIP-191 message hashing. The signature must be 65 bytes in length, consisting of: - 32 bytes for the r value - 32 bytes for the s value - 1 byte for the v value must be 27 or 28 If using the CDP Paymaster, the user operation must be signed and sent within 2 minutes of being prepared.address (string) required
userOpHash (string) required
data: {
. signature (string)
} (object) required
cdp_v2/post_v2_evm_smart_accounts_by_address_spend_permissionsCreates a spend permission for the given smart account address.address (string) required
X-Wallet-Auth (string) required
X-Idempotency-Key (string)
data: {
. network (string)
. spender (string)
. token (string)
. allowance (string)
. period (string)
. start (string)
. end (string)
. salt (string)
. extraData (string)
. paymasterUrl
} (object) required
cdp_v2/get_v2_evm_smart_accounts_by_address_spend_permissions_listLists spend permission for the given smart account address.address (string) required
pageSize (integer)
pageToken (string)
cdp_v2/post_v2_evm_smart_accounts_by_address_spend_permissions_revokeRevokes an existing spend permission.address (string) required
X-Wallet-Auth (string) required
X-Idempotency-Key (string)
data: {
. network (string)
. permissionHash (string)
. paymasterUrl
} (object) required
cdp_v2/get_v2_evm_swaps_quoteGet a price estimate for a swap between two tokens on an EVM network.network (string) required
toToken (string) required
fromToken (string) required
fromAmount (string) required
taker (string) required
signerAddress (string)
gasPrice (string)
slippageBps (integer)
cdp_v2/post_v2_evm_swapsCreate a swap quote, which includes the payload to sign as well as the transaction data needed to execute the swap. The developer is responsible for signing the payload and submitting the transaction to the network in order to execute the swap.X-Idempotency-Key (string)
data: {
. network (string)
. toToken (string)
. fromToken (string)
. fromAmount (string)
. taker (string)
. signerAddress (string)
. gasPrice (string)
. slippageBps (integer)
} (object) required
cdp_v2/get_v2_evm_token_balances_by_network_by_addressLists the token balances of an EVM address on a given network. The balances include ERC-20 tokens and the native gas token usually ETH. The response is paginated, and by default, returns 20 balances per page. Calls to the base and base-sepolia networks offer: 99.5% 2 second freshness from chain tip for new tokens on an address. 99.5% 2 second freshness from chain tip for balance data. Calls to the ethereum network offer: 99% 30 second freshness from chain tip for new tokens on an aaddress (string) required
network (string) required
pageSize (integer)
pageToken (string)
cdp_v2/post_v2_evm_faucetRequest funds from the CDP Faucet on supported EVM test networks. Faucets are available for ETH, USDC, EURC, and cbBTC on Base Sepolia and Ethereum Sepolia, and for ETH only on Ethereum Hoodi. To prevent abuse, we enforce rate limits within a rolling 24-hour window to control the amount of funds that can be requested. These limits are applied at both the CDP User level and the blockchain address level. A single blockchain address cannot exceed the specified limits, even if multiple users submidata: {
. network (string)
. address (string)
. token (string)
} (object) required
cdp_v2/get_v2_policy_engine_policiesLists the policies belonging to the developer's CDP Project. Use the scope parameter to filter the policies by scope. The response is paginated, and by default, returns 20 policies per page.pageSize (integer)
pageToken (string)
scope (string)
cdp_v2/post_v2_policy_engine_policiesCreate a policy that can be used to govern the behavior of accounts.X-Idempotency-Key (string)
data: {
. scope (string)
. description (string)
. rules (array)
} (object) required
cdp_v2/get_v2_policy_engine_policies_by_policy_idGet a policy by its ID.policyId (string) required
cdp_v2/delete_v2_policy_engine_policies_by_policy_idDelete a policy by its ID. This will have the effect of removing the policy from all accounts that are currently using it.policyId (string) required
X-Idempotency-Key (string)
cdp_v2/put_v2_policy_engine_policies_by_policy_idUpdates a policy by its ID. This will have the effect of applying the updated policy to all accounts that are currently using it.policyId (string) required
X-Idempotency-Key (string)
data: {
. description (string)
. rules (array)
} (object) required
cdp_v2/get_v2_solana_accountsLists the Solana accounts belonging to the developer. The response is paginated, and by default, returns 20 accounts per page. If a name is provided, the response will contain only the account with that name.pageSize (integer)
pageToken (string)
cdp_v2/post_v2_solana_accountsCreates a new Solana account.X-Wallet-Auth (string) required
X-Idempotency-Key (string)
data: {
. name (string)
. accountPolicy (string)
} (object) required
cdp_v2/get_v2_solana_accounts_by_addressGets a Solana account by its address.address (string) required
cdp_v2/put_v2_solana_accounts_by_addressUpdates an existing Solana account. Use this to update the account's name or account-level policy.address (string) required
X-Idempotency-Key (string)
data: {
. name (string)
. accountPolicy (string)
} (object) required
cdp_v2/get_v2_solana_accounts_by_name_by_nameGets a Solana account by its name.name (string) required
cdp_v2/post_v2_solana_accounts_importImport an existing Solana account into the developer's CDP Project. This API should be called from the CDP SDKhttps://github.com/coinbase/cdp-sdk to ensure that the associated private key is properly encrypted.X-Wallet-Auth (string) required
X-Idempotency-Key (string)
data: {
. encryptedPrivateKey (string)
. name (string)
} (object) required
cdp_v2/post_v2_solana_accounts_by_address_exportExport an existing Solana account's private key. It is important to store the private key in a secure place after it's exported.address (string) required
X-Wallet-Auth (string) required
X-Idempotency-Key (string)
data: {
. exportEncryptionKey (string)
} (object) required
cdp_v2/post_v2_solana_accounts_export_by_name_by_nameExport an existing Solana account's private key by its name. It is important to store the private key in a secure place after it's exported.name (string) required
X-Wallet-Auth (string) required
X-Idempotency-Key (string)
data: {
. exportEncryptionKey (string)
} (object) required
cdp_v2/post_v2_solana_accounts_by_address_sign_transactionSigns a transaction with the given Solana account. The unsigned transaction should be serialized into a byte array and then encoded as base64. Transaction types The following transaction types are supported: Legacy transactionshttps://solana-labs.github.io/solana-web3.js/classes/Transaction.html Versioned transactionshttps://solana-labs.github.io/solana-web3.js/classes/VersionedTransaction.html The developer is responsible for ensuring that the unsigned transaction is valid, as the API willaddress (string) required
X-Wallet-Auth (string) required
X-Idempotency-Key (string)
data: {
. network (string)
. transaction (string)
} (object) required
cdp_v2/post_v2_solana_accounts_by_address_sign_messageSigns an arbitrary message with the given Solana account. WARNING: Never sign a message that you didn't generate, as it can be an arbitrary transaction. For example, it might send all of your funds to an attacker.address (string) required
X-Wallet-Auth (string) required
X-Idempotency-Key (string)
data: {
. message (string)
. encoding (string)
} (object) required
cdp_v2/post_v2_solana_accounts_send_transactionSigns and sends a single Solana transaction using multiple Solana accounts. The transaction may contain contain several instructions, each of which may require signatures from different account keys. The transaction should be serialized into a byte array and base64 encoded. The API handles recent blockhash management and fee estimation, leaving the developer to provide only the minimal set of fields necessary to send the transaction. Transaction types The following transaction types are suppoX-Wallet-Auth (string) required
X-Idempotency-Key (string)
data: {
. network (string)
. transaction (string)
. useCdpSponsor (boolean)
} (object) required
cdp_v2/post_v2_solana_faucetRequest funds from the CDP Faucet on Solana devnet. Faucets are available for SOL, USDC, and CBTUSD. To prevent abuse, we enforce rate limits within a rolling 24-hour window to control the amount of funds that can be requested. These limits are applied at both the CDP Project level and the blockchain address level. A single blockchain address cannot exceed the specified limits, even if multiple users submit requests to the same address. | Token | Amount per Faucet Request |Rolling 24-hour widata: {
. address (string)
. token (string)
} (object) required
cdp_v2/get_v2_solana_token_balances_by_network_by_addressLists the token balances of a Solana address on a given network. The balances include SPL tokens and the native SOL token. The response is paginated, and by default, returns 20 balances per page. Note: This endpoint is still under development and does not yet provide strong availability or freshness guarantees. Freshness and availability of new token balances will improve over the coming weeks.address (string) required
network (string) required
pageSize (integer)
pageToken (string)
cdp_v2/post_v2_data_query_runRun a read-only SQL query against indexed blockchain data including transactions, events, and decoded logs. This endpoint provides direct SQL access to comprehensive blockchain data across supported networks. Queries are executed against optimized data structures for high-performance analytics. Allowed Queries - Standard SQL syntax CoinbaSeQL dialect, based on ClickHouse dialect - Read-only queries SELECT statements - No DDL or DML operations - Query that follow limits defined bedata: {
. sql (string)
. cache (object)
} (object) required
cdp_v2/get_v2_data_query_grammarRetrieve the SQL grammar for the SQL API. The SQL queries that are supported by the SQL API are defined in ANTLR4 grammar which is evaluated by server before executing the query. This ensures the safety and soundness of the SQL query before execution. This endpoint returns the ANTLR4 grammar that is used to evaluate the SQL queries so that developers can understand the SQL API and build SQL queries with high confidence and correctness. LLMs interact well with ANTLR4 grammar. You can feed theNo parameters
cdp_v2/get_v2_data_query_schemaRetrieve the schema information for the available tables in the SQL API's indexed data. This includes table names, column definitions, data types, and indexed fields.database (string)
table (string)
cdp_v2/get_v2_data_evm_token_ownership_by_network_by_addressRetrieve all ERC-20 token contract addresses that an account has ever received tokens from. Analyzes transaction history to discover token interactions.network (string) required
address (string) required
cdp_v2/get_v2_data_evm_token_balances_by_network_by_addressLists the token balances of an EVM address on a given network. The balances include ERC-20 tokens and the native gas token usually ETH. The response is paginated, and by default, returns 20 balances per page. Calls to the base and base-sepolia networks offer: 99.5% 2 second freshness from chain tip for new tokens on an address. 99.5% 2 second freshness from chain tip for balance data. Calls to the ethereum network offer: 99% 30 second freshness from chain tip for new tokens on an aaddress (string) required
network (string) required
pageSize (integer)
pageToken (string)
cdp_v2/get_v2_data_webhooks_subscriptionsRetrieve a paginated list of webhook subscriptions for the authenticated project. Returns subscriptions for all CDP product events onchain, onramp/offramp, wallet, etc. in descending order by creation time. Use Cases - Monitor all active webhook subscriptions across CDP products - Audit webhook configurations - Manage subscription lifecyclepageSize (integer)
pageToken (string)
cdp_v2/post_v2_data_webhooks_subscriptionsSubscribe to real-time events across CDP products. A webhook subscription provides a targetURL and other relevant endpoint configuration to enable receiving webhooks when events occur. An entity can have up to 100 webhook subscriptions. Once this limit is reached, new webhook subscription creation requests return a 400 error with errorType: subscription_limit_exceeded. Webhook Signature Verification All webhooks include an HMAC-SHA256 signed header for security. The signature is signed widata: {
. description (string)
. eventTypes (array)
. isEnabled (boolean)
. target (object)
. metadata (object)
. labels (object)
} (object) required
cdp_v2/get_v2_data_webhooks_subscriptions_by_subscription_idRetrieve detailed information about a specific webhook subscription including configuration, status, creation timestamp, and webhook signature secret. Response Includes - Subscription configuration and filters - Target URL and custom headers - Webhook signature secret for verification - Creation timestamp and statussubscriptionId (string) required
cdp_v2/put_v2_data_webhooks_subscriptions_by_subscription_idUpdate an existing webhook subscription's configuration including event types, target URL, filtering criteria, and enabled status. All required fields must be provided, even if they are not being changed. Common Updates - Change target URL or headers - Add/remove event type filters - Update multi-label filtering criteria - Enable/disable subscriptionsubscriptionId (string) required
data: {
. description (string)
. eventTypes (array)
. isEnabled (boolean)
. target (object)
. metadata (object)
. labels (object)
} (object) required
cdp_v2/delete_v2_data_webhooks_subscriptions_by_subscription_idPermanently delete a webhook subscription and stop all event deliveries. This action cannot be undone. Important Notes - All webhook deliveries will cease immediately - Subscription cannot be recovered after deletion - Consider disabling instead of deleting for temporary pausessubscriptionId (string) required
cdp_v2/get_v2_data_webhooks_subscriptions_by_subscription_id_eventsRetrieve webhook event delivery attempts for a specific subscription. Returns event deliveries in descending order by creation time newest first, including delivery status, retry count, and response details. Use Cases - Debug webhook delivery failures and inspect response codes - Monitor delivery status and retry counts - Audit event delivery history for a subscription - Verify that expected events were sent to webhook URLs Filtering Use optional query parameters to narrow results: - esubscriptionId (string) required
eventId (string)
minCreatedAt (string)
maxCreatedAt (string)
eventTypeNames (string)
cdp_v2/post_v2_x402_verifyVerify an x402 protocol payment with a specific scheme and network.data: {
. x402Version (integer)
. paymentPayload (object)
. paymentRequirements (object)
} (object) required
cdp_v2/post_v2_x402_settleSettle an x402 protocol payment with a specific scheme and network.data: {
. x402Version (integer)
. paymentPayload (object)
. paymentRequirements (object)
} (object) required
cdp_v2/get_v2_x402_supportedGet the supported x402 protocol payment schemes and networks that the facilitator is able to verify and settle payments for.No parameters
cdp_v2/get_v2_x402_discovery_resourcesLists all active discovered x402 resources. This endpoint returns resources that have been discovered and cached by the x402 facilitator, including their payment requirements and metadata. The response is paginated, and by default, returns 100 items per page.type (string)
limit (integer)
offset (integer)
cdp_v2/get_v2_x402_discovery_merchantGets x402 merchant discovery information for a given merchant payment address. This endpoint returns all active x402 resources associated with the specified payTo address, allowing clients to discover what payment-gated resources a merchant exposes and their corresponding payment requirements. If no active resources are found for the payTo address, the endpoint returns an empty resources list. The response is paginated, and by default, returns 20 items per page.payTo (string) required
limit (integer)
offset (integer)
cdp_v2/get_v2_x402_discovery_searchSearches for active x402 resources using a text query and optional filters. Supports both text-based and vector-based search depending on availability. Results are sorted by relevance and quality score. Legacy network names e.g., base, base-sepolia, solana are automatically normalized to their CAIP-2 equivalents. The response is limited to 20 items per request. If more results exist, partialResults will be true.query (string)
network (string)
asset (string)
scheme (string)
payTo (string)
urlSubstring (string)
maxUsdPrice (string)
extensions (array)
tags (array)
bundleSlugs (array)
curatedOnly (boolean)
limit (integer)
cdp_v2/post_v2_x402_discovery_mcpHandles JSON-RPC requests for the Model Context Protocol MCP. Supports MCP methods for discovering x402 payment resources and tools.data: {
. jsonrpc (string)
. id
. method (string)
. params (object)
} (object) required
cdp_v2/get_v2_x402_discovery_bundlesLists the available curated x402 workflow bundles. A bundle is an ordered, named grouping of curated x402 resources that together cover a common agent workflow. The result set is small and server-controlled, so this endpoint is not paginated.No parameters
cdp_v2/get_v2_x402_discovery_bundles_by_bundle_slugGets a single curated x402 workflow bundle by its bundle slug, including the bundle metadata and its ordered member resources joined to their full discovery metadata.bundleSlug (string) required
cdp_v2/post_v2_x402_validateValidates an x402 endpoint's bazaar-discovery configuration by probing the seller's URL live. Returns a uniform array of preflight check results reachable, returns402, hasBazaarExtension, parse and a simulated facilitator accept/reject decision so sellers and agents can confirm their endpoint is ready to be discovered before going live. This operation is read-only: it performs no payment and does not index the resource.data: {
. resource
. method (string)
} (object) required
cdp_v2/post_v2_onramp_verificationsInitiates OTP verification by sending a 6-digit code to the user via the specified channel SMS or email. Returns a verificationId that must be passed to the Submit Onramp Verification endpoint along with the OTP code within 10 minutes. Access to this API requires allowlisting. During Onramp Headless API onboarding, contact the Onramp team to enable Onramp-managed verification for your application.X-Idempotency-Key (string)
data: {
. channel (string)
. destination
} (object) required
cdp_v2/post_v2_onramp_verifications_by_verification_id_submitSubmits the OTP code to complete verification. On success, marks the verification as verified and returns the same verificationId. The destination does not need to be re-sent. Onramp uses the value captured at initiation time. The returned verificationId should be stored on the user's device and passed to the Create Onramp Order endpoint. It is valid for 60 days. Access to this API requires allowlisting. During Onramp Headless API onboarding, contact the Onramp team to enable Onramp-managed veverificationId (string) required
X-Idempotency-Key (string)
data: {
. otpCode (string)
} (object) required
cdp_v2/post_v2_onramp_ordersCreate a new Onramp order or get a quote for an Onramp order. Either paymentAmount or purchaseAmount must be provided. This API supports two modes: Headless mode standard: returns a seamless Apple Pay or Google Pay button that you integrate directly into your app. Your app collects and verifies the user's contact details before calling this endpoint — phoneNumber, email, phoneNumberVerifiedAt, and agreementAcceptedAt are required and enforced server-side. Embedded mode: returns a webview thatX-Onramp-Partner-Id (string)
data: {
. agreementAcceptedAt (string)
. destinationAddress
. destinationNetwork (string)
. email (string)
. isQuote (boolean)
. partnerOrderRef (string)
. partnerUserRef (string)
. paymentAmount (string)
. paymentCurrency (string)
. paymentMethod (string)
. phoneNumber (string)
. phoneNumberVerifiedAt (string)
. smsVerificationId
. emailVerificationId
. purchaseAmount (string)
. purchaseCurrency (string)
. clientIp (string)
. domain (string)
. locale (string)
. userAuthToken
} (object) required
cdp_v2/get_v2_onramp_orders_by_order_idGet an onramp order by ID.orderId (string) required
cdp_v2/post_v2_onramp_sessionsReturns a single-use URL for an Onramp session. This API provides flexible functionality based on the parameters provided, supporting three cases: Important: The returned URL is single-use only. Once a user visits the URL, no one else can access it. Use Cases 1. Basic Session Minimum Parameters Required: destinationAddress, purchaseCurrency, destinationNetwork Returns: Basic single-use onramp URL. The quote object will not be included in the response. 2. One-Click Onramp URL RequiX-Onramp-Partner-Id (string)
data: {
. purchaseCurrency (string)
. destinationNetwork (string)
. destinationAddress
. paymentAmount (string)
. purchaseAmount (string)
. paymentCurrency (string)
. paymentMethod (string)
. country (string)
. subdivision (string)
. redirectUrl
. clientIp (string)
. partnerUserRef (string)
} (object) required
cdp_v2/post_v2_onramp_limitsReturns the transaction limits for an onramp user based on their payment method and user identifier. Use this API to show users their remaining purchase capacity before initiating an onramp transaction. Currently supports GUEST_CHECKOUT_APPLE_PAY payment method with phone number identification. The phone number must have been previously verified via OTP.data: {
. paymentMethodType (string)
. userId (string)
. userIdType (string)
} (object) required
cdp_v2/post_v2_onramp_limits_upgradeRequests a limit upgrade for an onramp user. Only phone number is currently supported as a userId. The default API mode submits identity information directly and returns HTTP 202 when the request is accepted. Embedded mode interactionMode: embedded returns a Coinbase-hosted upgradeUrl where the user enters identity information. The verification process is asynchronous. After calling this endpoint, use the Get Onramp User Limitshttps://docs.cdp.coinbase.com/api-reference/v2/rest-api/onramp/get-data: {
. userId (string)
. userIdType (string)
. interactionMode
. fields (object)
} (object) required
cdp_v2/get_v2_payment_methodsList payment methods linked to your entity. Payment methods represent external financial instruments that can be used as a target for transfers. The list will not include disabled or deleted payment methods. Currently Supported Types: - fedwire: Domestic USD wire transfers - swift: International wire transfers - sepa: SEPA EUR transfers Note: Payment methods are created and verified through your linked CDP entity. Currently, fetching payment methods is only supported for Prime investment vehicpageSize (integer)
pageToken (string)
cdp_v2/get_v2_payment_methods_by_payment_method_idGet details of a specific payment method by its ID. Returns 404 if the payment method is not found or not owned by the requesting entity.paymentMethodId (string) required
cdp_v2/customCall any endpoint of the connected service while reusing the connection auth. Pass the full URL as _url. Other reserved keys: _method, _query, _body, _headers. Remaining params flow naturally — empty → GET, non-empty → POST JSON body._url (string) required
_method (string)
_query (object)
_body
_headers (object)
advanced_trade/get_api_v3_brokerage_accountsGet a list of authenticated Advanced Trade accounts for the current user.limit (integer)
cursor (string)
retail_portfolio_id (string)
advanced_trade/get_api_v3_brokerage_accounts_by_account_uuidGet a list of information about an account, given an account UUID.account_uuid (string) required
advanced_trade/get_api_v3_brokerage_best_bid_askGet the best bid/ask for all products. A subset of all products can be returned instead by using the product_ids input.product_ids (array)
advanced_trade/get_api_v3_brokerage_product_bookGet a list of bids/asks for a single product. The amount of detail shown can be customized with the limit parameter.product_id (string) required
limit (integer)
aggregation_price_increment (string)
advanced_trade/get_api_v3_brokerage_productsGet a list of the available currency pairs for trading.limit (integer)
offset (integer)
product_type (string)
product_ids (array)
contract_expiry_type (string)
expiring_contract_status (string)
get_tradability_status (boolean)
get_all_products (boolean)
products_sort_order (string)
advanced_trade/get_api_v3_brokerage_products_by_product_idGet information on a single product by product ID.product_id (string) required
get_tradability_status (boolean)
advanced_trade/get_api_v3_brokerage_products_by_product_id_candlesGet rates for a single product by product ID, grouped in buckets.product_id (string) required
start (string) required
end (string) required
granularity (string) required
limit (integer)
advanced_trade/get_api_v3_brokerage_products_by_product_id_tickerGet snapshot information by product ID about the last trades ticks and best bid/ask.product_id (string) required
limit (integer) required
start (string)
end (string)
advanced_trade/post_api_v3_brokerage_ordersCreate an order with a specified product_id asset-pair, side buy/sell, etc.data: {
. client_order_id (string)
. product_id (string)
. side
. order_configuration
. leverage (string)
. margin_type
. retail_portfolio_id (string)
. preview_id (string)
. attached_order_configuration
} (object) required
advanced_trade/post_api_v3_brokerage_orders_batch_cancelInitiate cancel requests for one or more orders.data: {
. order_ids (array)
} (object) required
advanced_trade/post_api_v3_brokerage_orders_editEdit an order with a specified new size, or new price.data: {
. order_id (string)
. price (string)
. size (string)
} (object) required
advanced_trade/post_api_v3_brokerage_orders_edit_previewPreview an edit order request with a specified new size, or new price.data: {
. order_id (string)
. price (string)
. size (string)
} (object) required
advanced_trade/get_api_v3_brokerage_orders_historical_batchGet a list of orders filtered by optional query parameters product_id, order_status, etc.order_ids (array)
product_ids (array)
product_type (string)
order_status (array)
time_in_forces (array)
order_types (array)
order_side (string)
start_date (string)
end_date (string)
order_placement_source (string)
contract_expiry_type (string)
asset_filters (array)
retail_portfolio_id (string)
limit (integer)
cursor (string)
sort_by (string)
user_native_currency (string)
advanced_trade/get_api_v3_brokerage_orders_historical_fillsGet a list of fills filtered by optional query parameters product_id, order_id, etc.order_ids (array)
trade_ids (array)
product_ids (array)
start_sequence_timestamp (string)
end_sequence_timestamp (string)
retail_portfolio_id (string)
limit (integer)
cursor (string)
sort_by (string)
advanced_trade/get_api_v3_brokerage_orders_historical_by_order_idGet a single order by order ID.order_id (string) required
client_order_id (string)
user_native_currency (string)
advanced_trade/post_api_v3_brokerage_orders_previewPreview an order.data: {
. product_id (string)
. side
. order_configuration
. leverage (string)
. margin_type
. retail_portfolio_id (string)
. attached_order_configuration
} (object) required
advanced_trade/post_api_v3_brokerage_orders_close_positionPlaces an order to close any open positions for a specified product_id.data: {
. client_order_id (string)
. product_id (string)
. size (string)
} (object) required
advanced_trade/get_api_v3_brokerage_portfoliosGet all portfolios of a user.portfolio_type (string)
advanced_trade/post_api_v3_brokerage_portfoliosCreate a portfolio.data: {
. name (string)
} (object) required
advanced_trade/post_api_v3_brokerage_portfolios_move_fundsMove funds between portfolios.data: {
. funds
. source_portfolio_uuid (string)
. target_portfolio_uuid (string)
} (object) required
advanced_trade/get_api_v3_brokerage_portfolios_by_portfolio_uuidGet the breakdown of a portfolio.portfolio_uuid (string) required
currency (string)
advanced_trade/delete_api_v3_brokerage_portfolios_by_portfolio_uuidDelete portfolio.portfolio_uuid (string) required
advanced_trade/put_api_v3_brokerage_portfolios_by_portfolio_uuidEdit a portfolio.portfolio_uuid (string) required
data: {
. name (string)
} (object) required
advanced_trade/get_api_v3_brokerage_cfm_balance_summaryGet a summary of balances for CFM tradingNo parameters
advanced_trade/get_api_v3_brokerage_cfm_intraday_margin_settingGet the futures intraday margin settingNo parameters
advanced_trade/post_api_v3_brokerage_cfm_intraday_margin_settingSet the futures intraday margin settingdata: {
. setting
} (object) required
advanced_trade/get_api_v3_brokerage_cfm_intraday_current_margin_windowGet the futures current margin windowmargin_profile_type (string)
advanced_trade/get_api_v3_brokerage_cfm_positionsGet a list of positions in CFM productsNo parameters
advanced_trade/get_api_v3_brokerage_cfm_positions_by_product_idGet positions for a specific CFM productproduct_id (string) required
advanced_trade/post_api_v3_brokerage_cfm_sweeps_scheduleSchedules a sweep of funds from FCM wallet to USD Spot walletdata: {
. usd_amount (string)
} (object) required
advanced_trade/get_api_v3_brokerage_cfm_sweepsGet pending and processing sweeps of funds from FCM wallet to USD Spot walletNo parameters
advanced_trade/delete_api_v3_brokerage_cfm_sweepsCancel the pending sweep of funds from FCM wallet to USD Spot walletNo parameters
advanced_trade/post_api_v3_brokerage_intx_allocateAllocate portfolio funds to a sub-portfolio on Intx Portfoliodata: {
. portfolio_uuid (string)
. symbol (string)
. amount (string)
. currency (string)
} (object) required
advanced_trade/get_api_v3_brokerage_intx_portfolio_by_portfolio_uuidGet a summary of your Perpetuals portfolioportfolio_uuid (string) required
advanced_trade/get_api_v3_brokerage_intx_positions_by_portfolio_uuidGet a list of open positions in your Perpetuals portfolioportfolio_uuid (string) required
advanced_trade/get_api_v3_brokerage_intx_positions_by_portfolio_uuid_by_symbolGet a specific open position on Intxportfolio_uuid (string) required
symbol (string) required
advanced_trade/get_api_v3_brokerage_intx_balances_by_portfolio_uuidGet a list of asset balances on Intx for a given Portfolioportfolio_uuid (string) required
advanced_trade/post_api_v3_brokerage_intx_multi_asset_collateralEnable or Disable Multi Asset Collateral for a given Portfoliodata: {
. portfolio_uuid (string)
. multi_asset_collateral_enabled (boolean)
} (object) required
advanced_trade/get_api_v3_brokerage_transaction_summaryGet a summary of transactions with fee tiers, total volume, and fees.product_type (string)
contract_expiry_type (string)
product_venue (string)
advanced_trade/post_api_v3_brokerage_convert_quoteCreate a convert quote with a specified source account, target account, and amount. Convert is applicable for USDC-USD and EURC-EUR conversiondata: {
. from_account (string)
. to_account (string)
. amount (string)
. trade_incentive_metadata
} (object) required
advanced_trade/get_api_v3_brokerage_convert_trade_by_trade_idGets a list of information about a convert trade with a specified trade id, source account, and target accounttrade_id (string) required
from_account (string) required
to_account (string) required
advanced_trade/post_api_v3_brokerage_convert_trade_by_trade_idCommits a convert trade with a specified trade id, source account, and target accounttrade_id (string) required
data: {
. from_account (string)
. to_account (string)
} (object) required
advanced_trade/get_api_v3_brokerage_timeGet the current time from the Coinbase Advanced API.No parameters
advanced_trade/get_api_v3_brokerage_market_product_bookGet a list of bids/asks for a single product. The amount of detail shown can be customized with the limit parameter.product_id (string) required
limit (integer)
aggregation_price_increment (string)
advanced_trade/get_api_v3_brokerage_market_productsGet a list of the available currency pairs for trading.limit (integer)
offset (integer)
product_type (string)
product_ids (array)
contract_expiry_type (string)
expiring_contract_status (string)
get_all_products (boolean)
products_sort_order (string)
advanced_trade/get_api_v3_brokerage_market_products_by_product_idGet information on a single product by product ID.product_id (string) required
advanced_trade/get_api_v3_brokerage_market_products_by_product_id_candlesGet rates for a single product by product ID, grouped in buckets.product_id (string) required
start (string) required
end (string) required
granularity (string) required
limit (integer)
advanced_trade/get_api_v3_brokerage_market_products_by_product_id_tickerGet snapshot information by product ID about the last trades ticks and best bid/ask.product_id (string) required
limit (integer) required
start (string)
end (string)
advanced_trade/get_api_v3_brokerage_payment_methodsGet a list of payment methods for the current user.No parameters
advanced_trade/get_api_v3_brokerage_payment_methods_by_payment_method_idGet information about a payment method for the current user.payment_method_id (string) required
advanced_trade/get_api_v3_brokerage_key_permissionsGet information about your CDP API key permissionsNo parameters
advanced_trade/customCall any endpoint of the connected service while reusing the connection auth. Pass the full URL as _url. Other reserved keys: _method, _query, _body, _headers. Remaining params flow naturally — empty → GET, non-empty → POST JSON body._url (string) required
_method (string)
_query (object)
_body
_headers (object)