Name | Method | Endpoint | Legacy Scope | CDP API Key Scope |
---|---|---|---|---|
Send Money | POST | /v2/accounts/:account_id/transactions | wallet:transactions:send | transfer |
List Transactions | GET | /v2/accounts/:account_id/transactions | wallet:transactions:read | view |
Show Transaction | GET | /v2/accounts/:account_id/transactions/:transaction_id | wallet:transactions:read | view |
amount
can be positive (credit) or negative (debit). Transactions with counterparties have either a to
or from
field.
Transaction Type | Description |
---|---|
advanced_trade_fill | Fills for an advanced trade order |
buy | Buy a digital asset |
clawback | Recover money already disbursed |
derivatives_settlement | Daily cash transfers between futures and spot accounts for the US-regulated futures product |
earn_payout | Payout for user earn on Coinbase |
fiat_deposit | Deposit funds into a fiat account from a financial institution |
fiat_withdrawal | Withdraw funds from a fiat account |
incentives_rewards_payout | Redemptions for Incentive & Referral campaigns |
incentives_shared_clawback | Clawback incentive payout from customer account |
intx_deposit | Deposit crypto to customer international account |
intx_withdrawal | Withdraw crypto from customer international account |
receive | Receive a digital asset |
request | Request a digital asset from a user or email |
retail_simple_dust | Sweep of dust balance from the account |
sell | Sell a digital asset |
send | Send a supported digital asset to a corresponding address or email. Note: Previously functioned as a default catch-all type. Now it is restricted to send transactions only. |
staking_transfer | Funds from primary account moved to staked account |
subscription_rebate | Transaction for Coinbase subscription rebate |
subscription | Transaction for Coinbase subscription |
trade | Exchange one cryptocurrency for another cryptocurrency or fiat currency |
transfer | Transfer funds between two of your own accounts |
tx | Default transaction type, uncategorized. |
unstaking_transfer | Funds from staked funds moved to primary account |
unsupported_asset_recovery | Recover unsupported ERC-20s deposited to Coinbase on ethereum mainnet |
unwrap_asset | Unwrap wrapped assets, e.g. cbETH, to wrappable assets, e.g. staked ETH |
vault_withdrawal | Withdraw funds from a vault account |
wrap_asset | Wrap wrappable assets, e.g. staked ETH, to wrapped assets, e.g. cbETH |
tx
is the default and uncategorized and additional types will be added over time.
details
field for constructing human readable descriptions of transactions. Currently available statuses are:
Transaction Status | Description |
---|---|
canceled | Transaction was canceled |
completed | Completed transactions (e.g., a send or a buy) |
expired | Conditional transaction expired due to external factors |
failed | Failed transactions (e.g., failed buy) |
pending | Pending transactions (e.g., a send or a buy) |
waiting_for_clearing | Vault withdrawal is waiting to be cleared |
waiting_for_signature | Vault withdrawal is waiting for approval |
Parameter | Type | Required | Description |
---|---|---|---|
id | string | Required | Transaction ID |
type | string, enum | Required | Transaction type |
status | string, enum | Required | Status |
amount | money hash | Required | Amount of any supported digital asset. Value is negative to indicate the debiting of funds for the following transaction type cases:
|
native_amount | money hash | Required | Amount in user’s native currency. Value is negative to indicate the debiting of funds for the following transaction type cases:
|
description | string | Required | User defined description |
created_at | timestamp | Required | |
updated_at | timestamp | Required | Removed for List/Show Tx on 7 Feb |
resource , constant transaction | string | Required | |
resource_path | string | Required | |
instant_exchange | boolean | Required | Removed for List/Show Tx on 7 Feb |
advanced_trade_fill | hash | Required | Only provided if the transaction type is advanced_trade_fill . Contains information about the fill posted. |
details | hash | Required | Removed for List/Show Tx on 7 Feb Detailed information about the transaction |
network | hash | Optional | Info about crypto networks including on-chain transaction hashes. Only available for certain types of transactions. |
to | hash | Optional | Receiving party of a debit transaction. Usually another resource but can be another type like email. Only available for certain types of transactions. |
from | hash | Optional | Originating party of a credit transaction. Usually another resource, but can be another type like Bitcoin network. Only available for certain types of transactions. |
address | hash | Optional | Removed for List/Show Tx on 7 Feb Associated crypto address for received payment |
application | hash | Optional | Removed for List/Show Tx on 7 Feb Associated OAuth2 application |
cancelable | boolean | Optional | New for List/Show Tx on 7 Feb Allowed to cancel transaction; ONLY provided when transaction is a SEND |
idem | string | Optional | New for List/Show Tx on 7 Feb Idempotency key of transaction; ONLY provided when transaction is a SEND |
buy | hash | Optional | New for List/Show Tx on 7 Feb Only provided if transaction type is a buy |
sell | hash | Optional | New for List/Show Tx on 7 Feb Only provided if transaction type is a sell |
trade | hash | Optional | New for List/Show Tx on 7 Feb Only provided if transaction type is a trade |
Parameter | Type | Description |
---|---|---|
fill_price | string | Price this fill was posted at |
product_id | string | |
order_id | string | The UUID of the order this fill belongs to |
commission | Commission per fill of the order. Always represented in quote currency. | |
order_side | string, enum | Side the order was placed on. Possible values: BUY , SELL |
Parameter | Type | Description |
---|---|---|
title | string | Description of transaction with currency. Example: “Received Bitcoin” |
subsidebar_label | string or null | |
header | string | Amount received, in amount and equivalent native amount. Example: “Received 0.005378 BTC ($49.92)“ |
health | string | Health of transaction. Example: “Positive” |
Parameter | Type | Description |
---|---|---|
status | string, enum | Possible values:
|
status_description | string or null | Removed for List/Show Tx on 7 Feb Description of status |
hash | string | New for List/Show Tx on 7 Feb Hash for onchain transactions; ONLY provided when transaction is a SEND |
transaction_fee | hash | New for List/Show Tx on 7 Feb Transaction fee; ONLY provided when transaction is a SEND |
network_name | string | New for List/Show Tx on 7 Feb Name of transaction network; ONLY provided when transaction is a SEND |
Parameter | Type | Description |
---|---|---|
id | string | Updated for List/Show Tx on 7 Feb UUID (and after Feb 7, account) of user who the transaction is from |
resource | string or null | Updated for List/Show Tx on 7 Feb user (and after Feb 7, account) |
resource_path | string | Updated for List/Show Tx on 7 Feb
|
currency | string | Removed for List/Show Tx on 7 Feb Currency user sent |
status
field for the completed
state with the Show a Transaction API. You can also see if a transaction is pending
in the Send Money API response.
When used with OAuth2 authentication, this endpoint requires two factor authentication.
POST https://api.coinbase.com/v2/accounts/:account_id/transactions
wallet:transactions:send
Parameter | Type | Required | Description |
---|---|---|---|
type , constant send | string | Required | Type send is required when sending money |
to | string | Required | A blockchain address, or email of the recipient |
amount | string | Required | Amount to be sent |
currency | string | Required | Currency of the amount |
description | string | Optional | Notes to be included in the email to the recipient |
skip_notifications | boolean | Optional | Don’t send notification emails for small amounts (e.g., tips) |
idem | string | Optional | [Recommended] A UUIDv4 token to ensure idempotence. If a previous transaction with the same idem parameter exists for this sender, that previous transaction is returned and a new one is not created. Max length is 100 characters. Must be a valid UUID and lowercased. |
destination_tag | string | Optional | For select currencies, destination_tag or memo indicates the beneficiary or destination of a payment for select currencies. Example: { "type" : "send", "to": "address", "destination_tag" : "memo", "amount": "", "currency": "" } |
network | string | Optional | Network to be sent on for a blockchain address send. If not specified, send will be executed on the default network for that currency. Ex: “ethereum”, “polygon”, etc. |
travel_rule_data | object | Optional | Visit the Guide for more details |
GET https://api.coinbase.com/v2/accounts/:account_id/transactions
wallet:transactions:read
GET https://api.coinbase.com/v2/accounts/:account_id/transactions/:transaction_id
wallet:transactions:read