Skip to main content
GET
Cross-chain deposits and withdrawals

Authorizations

X-Auth-Apikey
string
header
required

HMAC-signed API key. Send X-Auth-Apikey, X-Auth-Nonce and X-Auth-Signature.

Query Parameters

limit
integer
default:25

Rows per page. Defaults to 25, capped at 100.

Required range: 1 <= x <= 100
page
integer
default:1

Page number, from 1.

Required range: x >= 1
direction
enum<string>

in (deposits) or out (withdrawals). Both when omitted.

Available options:
in,
out

Response

200 - application/json
address
string
required

The receiving address (lowercase).

Example:

"0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaed"

amount
string
required

USDC received on the source chain (so far, until bridged).

Example:

"50"

amount_out
string | null
required

USDC minted on Polygon.

Example:

"48"

bridge_id
string
required

Stable id of this bridge: cctp-bridge:{chain_key}:{address}:{run_id}.

Example:

"cctp-bridge:ethereum:0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaed:0192f3a1-7c1e-7d2a-9b4e-5f6a7b8c9d0e"

burn_tx_hash
string | null
required

Source-chain burn transaction.

cctp_fee
string | null
required

What Circle kept, once known.

Example:

"0"

charged_fee
string | null
required

The fee actually charged.

The fee you accepted.

Your current consent, if any.

accepted, stale (the fee rose before it could be used: a new offer is waiting), expired, or released (bridged at the standard fee).

consented_at
string | null
required
Example:

"2026-09-24T10:03:00Z"

created_at
string
required
Example:

"2026-09-24T10:00:00Z"

custody
string
required

safe or custodial.

Example:

"safe"

deliver_by
string | null
required

Withdrawals held for gas (waiting_gas / gas_above_fee): the latest the delivery completes, whatever gas does. null otherwise.

Example:

"2026-09-24T16:00:00Z"

deposit_amount
string | null
required

Amount of that deposit in USDC — what was credited. null until the deposit is linked.

Example:

"48"

deposit_credited
boolean
required

True once that deposit has credited your balance (it was accepted, or later). Use this rather than deposit_state: false while unlinked, still being checked, on hold, held in suspense, or rejected.

Example:

true

deposit_id
number | null
required

The Polygon deposit the mint created, once it is linked (it appears in your deposits). null until then.

Example:

48213

deposit_rejected
boolean
required

True when that deposit will never be credited: it was rejected, or its funds were returned to the sender. false otherwise.

Example:

false

deposit_state
string | null
required

State of that deposit (e.g. submitted, accepted). The USDC is credited only once it is accepted — a linked deposit is not yet a credited one. null until the deposit is linked.

Example:

"accepted"

destination
string | null
required

Withdrawals: the recipient there. null on a deposit.

Example:

"0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaed"

destination_chain_key
string | null
required

Withdrawals: the network the USDC is sent to. null on a deposit.

Example:

"ethereum"

direction
string
required

in (a deposit) or out (a withdrawal to another network).

Example:

"in"

error
string | null
required

Why the bridge failed, when it did.

expense_now
string | null
required

Withdrawals: the relayer's current estimate of the delivery cost on the destination chain, in USDC. null when not reported.

Example:

"1.1"

fee
string | null
required

Our fee in USDC.

Example:

"2"

fee_paid
string | null
required

Withdrawals: the fee you paid in the withdrawal, in USDC.

Example:

"3"

gross
string | null
required

Withdrawals: fee + amount burned — what left your wallet, in USDC.

Example:

"50"

inbound_from_addresses
string[] | null
required

Deposits: the address that sent each inbound transfer on the source network (lowercase), in the order of inbound_tx_hashes; an entry is null when that sender is unknown. null until reported, and on withdrawals.

Example:
inbound_tx_hashes
string[]
required

Deposits received on the source chain that this bridge carries.

Example:
mint_tx_hash
string | null
required

Polygon mint transaction.

minted_at
string | null
required

When the USDC arrived on Polygon.

Example:

"2026-09-24T10:17:00Z"

quote
object
required

The current fee quote while the bridge waits on gas; null otherwise.

quote_expires_at
string | null
required
Example:

"2026-09-24T10:10:00Z"

source_chain_key
string
required

Source chain key.

Example:

"ethereum"

source_chain_name
string | null
required

Source chain display name.

Example:

"Ethereum"

state
string
required

Deposits: waiting_minimum → bridging → attesting → minting → completed, or failed. While gas is high: awaiting_consent (accept the fee in quote, or wait) or waiting_gas (the fee is not below the amount: send more USDC to the same address, or wait; see wait_reason). Withdrawals: burned → attesting → minting → completed, or failed; waiting_gas (gas_above_fee) while destination gas is above what the fee covers — completed by deliver_by at the latest. A withdrawal failed with unsponsored was sent without our fee and is not delivered by us.

Example:

"completed"

updated_at
string
required
Example:

"2026-09-24T10:17:00Z"

wait_reason
string | null
required

Why a waiting bridge waits: fee_exceeds_amount, budget_exhausted, consent_stale, fee_unavailable (the fee cannot be priced right now); for a withdrawal gas_above_fee or unsponsored; or null.

Example:

null

withdraw_id
number | null
required

Withdrawals: the withdrawal record in your withdrawal history.

Example:

9121