Documentation Index
Fetch the complete documentation index at: https://mintlify.com/tiagosiebler/coinbase-api/llms.txt
Use this file to discover all available pages before exploring further.
CBAppClient is the REST client for the Coinbase App API. It exposes consumer-facing wallet capabilities: listing accounts, managing crypto addresses, sending or receiving funds, handling fiat deposits and withdrawals, and querying live pricing data. Every request automatically attaches a CB-VERSION header required by the versioned API.
Installation & Setup
The
apiKey is your CDP API key name. The apiSecret is the full EC private key string including -----BEGIN EC PRIVATE KEY-----. These are used to generate a short-lived JWT for each request.All Methods
The table below lists every method, whether it requires authentication, its HTTP verb, and the endpoint it targets.| Method | Auth | HTTP | Endpoint |
|---|---|---|---|
getAccounts() | 🔒 | GET | /v2/accounts |
getAccount() | 🔒 | GET | /v2/accounts/{account_id} |
createAddress() | 🔒 | POST | /v2/accounts/{account_id}/addresses |
getAddresses() | 🔒 | GET | /v2/accounts/{account_id}/addresses |
getAddress() | 🔒 | GET | /v2/accounts/{account_id}/addresses/{addressId} |
getAddressTransactions() | 🔒 | GET | /v2/accounts/{account_id}/addresses/{addressId}/transactions |
sendMoney() | 🔒 | POST | /v2/accounts/{account_id}/transactions |
transferMoney() | 🔒 | POST | /v2/accounts/{account_id}/transactions |
getTransactions() | 🔒 | GET | /v2/accounts/{account_id}/transactions |
getTransaction() | 🔒 | GET | /v2/accounts/{account_id}/transactions/{transactionId} |
depositFunds() | 🔒 | POST | /v2/accounts/{account_id}/deposits |
commitDeposit() | 🔒 | POST | /v2/accounts/{account_id}/deposits/{deposit_id}/commit |
getDeposits() | 🔒 | GET | /v2/accounts/{account_id}/deposits |
getDeposit() | 🔒 | GET | /v2/accounts/{account_id}/deposits/{deposit_id} |
withdrawFunds() | 🔒 | POST | /v2/accounts/{account_id}/withdrawals |
commitWithdrawal() | 🔒 | POST | /v2/accounts/{account_id}/withdrawals/{withdrawal_id}/commit |
getWithdrawals() | 🔒 | GET | /v2/accounts/{account_id}/withdrawals |
getWithdrawal() | 🔒 | GET | /v2/accounts/{account_id}/withdrawals/{withdrawal_id} |
getFiatCurrencies() | — | GET | /v2/currencies |
getCryptocurrencies() | — | GET | /v2/currencies/crypto |
getExchangeRates() | — | GET | /v2/exchange-rates |
getBuyPrice() | — | GET | /v2/prices/{currencyPair}/buy |
getSellPrice() | — | GET | /v2/prices/{currencyPair}/sell |
getSpotPrice() | — | GET | /v2/prices/{currencyPair}/spot |
getCurrentTime() | — | GET | /v2/time |
Pagination
Several list methods (getAccounts, getAddresses, getAddressTransactions, getTransactions, getDeposits, getWithdrawals) return a pagination object alongside data. To fetch the next page, pass the next_uri value from the previous response as paginationURL:
Accounts
getAccounts(params?)
Returns all accounts associated with the authenticated user’s API key. Supports pagination.
Next-page URI returned by a previous
getAccounts() call. Leave empty on the first request.Cursor ID; returns accounts after this ID.
getAccount(params)
Retrieves a single account by ID or currency string (e.g., "BTC").
Account UUID or currency string.
Addresses
createAddress(params)
Creates a new crypto receive address for a wallet account.
The account for which to generate an address.
Optional label for the new address.
getAddresses(params) / getAddress(params) / getAddressTransactions(params)
Transactions
sendMoney(params)
Sends crypto to an external network address or a Coinbase user’s email.
Source account ID or currency string.
Must be
"send".Destination crypto address or email.
Amount to send as a decimal string, e.g.
"0.001".Currency code, e.g.
"BTC".Optional memo for the transaction.
If
true, suppresses the email notification to the recipient.Idempotency key — prevents duplicate sends on retry.
Set
true for Travel Rule compliance when sending to a financial institution.Required when
to_financial_institution is true.transferMoney(params)
Moves funds between two accounts belonging to the same user. Both accounts must share the same currency.
Source account ID or currency string.
Must be
"transfer".Destination account ID.
Amount to transfer.
Currency code.
getTransactions(params) / getTransaction(params)
Deposits
depositFunds(params)
Initiates a fiat deposit from a linked payment method into a fiat account.
Fiat account to receive funds (e.g., a USD account).
Deposit amount as a decimal string.
Fiat currency code, e.g.
"USD".Payment method ID to debit.
If
false, creates the deposit in a pending state that must be committed separately.commitDeposit(params)
Finalises a deposit that was created with commit: false.
getDeposits(params) / getDeposit(params)
Withdrawals
withdrawFunds(params)
Withdraws fiat from a Coinbase account to a linked payment method.
Fiat account to withdraw from.
Amount to withdraw.
Currency code.
Payment method ID to credit.
If
false, creates the withdrawal in a pending state.commitWithdrawal(params) / getWithdrawals(params) / getWithdrawal(params)
Data & Pricing (No Auth Required)
getFiatCurrencies() / getCryptocurrencies()
getExchangeRates(params?)
Returns exchange rates for one unit of the base currency against all supported currencies.
Base currency code. Defaults to
"USD".