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.
CBExchangeClient is the REST client for the Coinbase Exchange API — the institutional-grade trading platform (formerly Coinbase Pro). It covers portfolio accounts, order management, fills, transfers, profiles, reports, lending, and market data. Most endpoints require authentication with an API key, secret, and passphrase.
Installation & Setup
The Exchange API uses HMAC-SHA256 signing with a
apiKey, apiSecret, and apiPassphrase. A sandbox is available at https://api-public.sandbox.exchange.coinbase.com.All Methods
| Method | Auth | HTTP | Endpoint |
|---|---|---|---|
| Accounts | |||
getAccounts() | 🔒 | GET | /accounts |
getAccount() | 🔒 | GET | /accounts/{account_id} |
getAccountHolds() | 🔒 | GET | /accounts/{account_id}/holds |
getAccountLedger() | 🔒 | GET | /accounts/{account_id}/ledger |
getAccountTransfers() | 🔒 | GET | /accounts/{account_id}/transfers |
| Address Book | |||
getAddressBook() | 🔒 | GET | /address-book |
addAddresses() | 🔒 | POST | /address-book |
deleteAddress() | 🔒 | DELETE | /address-book/{id} |
| Coinbase Wallets | |||
getCoinbaseWallets() | 🔒 | GET | /coinbase-accounts |
createNewCryptoAddress() | 🔒 | POST | /coinbase-accounts/{account_id}/addresses |
| Conversions | |||
convertCurrency() | 🔒 | POST | /conversions |
getConversionFeeRates() | 🔒 | GET | /conversions/fees |
getConversion() | 🔒 | GET | /conversions/{conversion_id} |
getAllConversions() | 🔒 | GET | /conversions |
| Currencies | |||
getCurrencies() | — | GET | /currencies |
getCurrency() | — | GET | /currencies/{currency_id} |
| Deposits | |||
depositFromCoinbaseAccount() | 🔒 | POST | /deposits/coinbase-account |
depositFromPaymentMethod() | 🔒 | POST | /deposits/payment-method |
getPaymentMethods() | 🔒 | GET | /payment-methods |
| Transfers | |||
getTransfers() | 🔒 | GET | /transfers |
getTransfer() | 🔒 | GET | /transfers/{transfer_id} |
submitTravelInformation() | 🔒 | POST | /transfers/{transfer_id}/travel-rules |
withdrawToCoinbaseAccount() | 🔒 | POST | /withdrawals/coinbase-account |
withdrawToCryptoAddress() | 🔒 | POST | /withdrawals/crypto |
getCryptoWithdrawalFeeEstimate() | 🔒 | GET | /withdrawals/fee-estimate |
withdrawToPaymentMethod() | 🔒 | POST | /withdrawals/payment-method |
| Fees | |||
getFees() | 🔒 | GET | /fees |
| Orders & Fills | |||
getFills() | 🔒 | GET | /fills |
getOrders() | 🔒 | GET | /orders |
cancelAllOrders() | 🔒 | DELETE | /orders |
submitOrder() | 🔒 | POST | /orders |
getOrder() | 🔒 | GET | /orders/{order_id} |
cancelOrder() | 🔒 | DELETE | /orders/{order_id} |
| Loans | |||
getLoans() | 🔒 | GET | /loans |
getLoanAssets() | 🔒 | GET | /loans/assets |
getInterestSummaries() | 🔒 | GET | /loans/interest |
getInterestRateHistory() | 🔒 | GET | /loans/interest/history/{loan_id} |
getInterestCharges() | 🔒 | GET | /loans/interest/{loan_id} |
getLendingOverview() | 🔒 | GET | /loans/lending-overview |
getNewLoanPreview() | 🔒 | GET | /loans/loan-preview |
submitNewLoan() | 🔒 | POST | /loans/open |
getNewLoanOptions() | 🔒 | GET | /loans/options |
repayLoanInterest() | 🔒 | POST | /loans/repay-interest |
repayLoanPrincipal() | 🔒 | POST | /loans/repay-principal |
getPrincipalRepaymentPreview() | 🔒 | GET | /loans/repayment-preview |
| Oracle | |||
getSignedPrices() | 🔒 | GET | /oracle |
| Products | |||
getAllTradingPairs() | — | GET | /products |
getAllProductVolume() | — | GET | /products/volume-summary |
getProduct() | — | GET | /products/{product_id} |
getProductBook() | — | GET | /products/{product_id}/book |
getProductCandles() | — | GET | /products/{product_id}/candles |
getProductStats() | — | GET | /products/{product_id}/stats |
getProductTicker() | — | GET | /products/{product_id}/ticker |
getProductTrades() | — | GET | /products/{product_id}/trades |
| Profiles | |||
getProfiles() | 🔒 | GET | /profiles |
createProfile() | 🔒 | POST | /profiles |
transferFundsBetweenProfiles() | 🔒 | POST | /profiles/transfer |
getProfileById() | 🔒 | GET | /profiles/{profile_id} |
renameProfile() | 🔒 | PUT | /profiles/{profile_id} |
deleteProfile() | 🔒 | PUT | /profiles/{profile_id}/deactivate |
| Reports | |||
getAllReports() | 🔒 | GET | /reports |
createReport() | 🔒 | POST | /reports |
getReport() | 🔒 | GET | /reports/{report_id} |
| Travel Rules | |||
getTravelRuleInformation() | 🔒 | GET | /travel-rules |
createTravelRuleEntry() | 🔒 | POST | /travel-rules |
deleteTravelRuleEntry() | 🔒 | DELETE | /travel-rules/{id} |
| Users | |||
getUserExchangeLimits() | 🔒 | GET | /users/{user_id}/exchange-limits |
updateSettlementPreference() | 🔒 | POST | /users/{user_id}/settlement-preferences |
getUserTradingVolume() | 🔒 | GET | /users/{user_id}/trading-volumes |
| Wrapped Assets | |||
getAllWrappedAssets() | — | GET | /wrapped-assets |
getAllStakeWraps() | 🔒 | GET | /wrapped-assets/stake-wrap |
createStakeWrap() | 🔒 | POST | /wrapped-assets/stake-wrap |
getStakeWrap() | 🔒 | GET | /wrapped-assets/stake-wrap/{stake_wrap_id} |
getWrappedAssetDetails() | 🔒 | GET | /wrapped-assets/{wrapped_asset_id} |
getWrappedAssetConversionRate() | 🔒 | GET | /wrapped-assets/{wrapped_asset_id}/conversion-rate |
Accounts
getAccounts()
Returns all trading accounts for the authenticated profile. Trading accounts are distinct from your Coinbase.com wallet accounts.
getAccountHolds(params)
Lists active holds on an account. Holds are placed on open orders and pending withdrawals.
Account UUID.
Pagination cursor.
Pagination cursor.
Max results per page (default 100).
getAccountLedger(params)
Lists all balance-affecting events for an account: trades, transfers, fees, rebates, and conversions.
Orders
submitOrder(params)
Places a new limit or market order. Account funds are held for the duration of the order.
Trading pair, e.g.
"BTC-USD"."buy" or "sell"."limit", "market", or "stop".Amount in base currency. Required for limit orders and market sells.
Limit price. Required for limit orders.
Quoted currency amount. Used for market buys instead of
size.Client-generated UUID for idempotency. Auto-generated if not supplied.
"loss" or "entry" for stop orders.Trigger price for stop orders.
"GTC", "GTT", "IOC", or "FOK". Defaults to "GTC".If
true, cancels the order if it would immediately fill (maker only).Profile to place order in. Defaults to the default profile.
getOrders(params?)
Lists open orders. Only open or un-settled orders are returned by default.
cancelAllOrders(params?) / cancelOrder(params)
getFills(params?)
Returns recent trade executions (partial and complete fills) for the API key’s profile.
Filter fills by order ID.
Filter fills by trading pair.
ISO 8601 start time.
ISO 8601 end time.
Products
getAllTradingPairs(params?) / getProduct(params)
getProductBook(params)
Returns the order book for a product. Use level to control depth: 1 (best bid/ask only), 2 (top 50 aggregated), 3 (full order book, authenticated only).
getProductCandles(params)
Returns historical OHLCV candles. Each candle is [timestamp, low, high, open, close, volume].
Trading pair.
ISO 8601 start time.
ISO 8601 end time.
Candle size in seconds. Allowed values:
60, 300, 900, 3600, 21600, 86400.Transfers
withdrawToCryptoAddress(params)
Withdraws funds from a profile to an external crypto wallet.
Amount to withdraw.
Currency code, e.g.
"BTC".Destination wallet address.
Source profile ID.
Required for currencies like XRP.
Set to
true to confirm intentional omission of destination tag.depositFromCoinbaseAccount(params)
Moves funds from a Coinbase.com wallet into your Exchange trading account.
Profiles
getProfiles(params?) / createProfile(params)
transferFundsBetweenProfiles(params)
Moves an amount of currency between two profiles within the same account.
Source profile ID.
Destination profile ID.
Currency to transfer.
Amount to transfer.