List bridge intents
Bridge (Alpha Preview)
Bridge Intents
[Alpha Preview] List bridge intents, newest-first, with cursor pagination.
GET
List bridge intents
Paginated history of bridge intents — every bridge attempt with its lifecycle
status, amounts (token + USD), token metadata, transaction hashes, and
per-step timestamps. Newest-first.
Two differences from
Scoping
At least one scoping dimension is required — the endpoint never runs an unbounded scan:wallet— intents where the address is the sender or the recipient.customerId— intents created with any API key owned by that customer.apiKey— intents created with that specific API key.
customerId and apiKey are mutually exclusive (at most one). wallet can be
combined with either to narrow a customer/key scope to one address.
Note that apiKey is both the auth credential and a scope: passing
?apiKey= filters results to intents created with that key. To list a
wallet’s intents across all keys, authenticate with the
Authorization: <key> header and pass only wallet. An unknown or revoked
apiKey returns 404.
Query parameters
Unknown chains, malformed wallets, and malformed cursors return
400.
Response
/status/{id} worth flagging:
amountIn/amountOutare raw base units (not decimal-adjusted) —"7887660"above is 7.88766 USDC (6 decimals). UseamountInUsd/amountOutUsdfor display, or divide by the token’s decimals.- Timestamps are epoch milliseconds, not ISO strings.
originMeta / destinationMeta carry token name/symbol/logo, with null
fields when the token isn’t indexed. latencyMs is the deposit-detected →
fill-confirmed delta (null when the intent never filled, e.g. a refund).
Status lifecycle
Happy path:pending → deposited → filling (→ broadcasted → replaced) → filled → settling → settled. Failure path: filling → retrying → refunded or
failed; settling → settle_lost when reconciliation could not confirm
settlement. From the user’s perspective, filled (and later settled) means
funds were received; refunded means the deposit was returned on the origin
chain. See Bridge Status for the
statuses the live polling endpoint emits.
Pagination
Cursor-based (keyset), newest-first.pagination.nextCursor is non-null when
the page was full — pass it back as cursor for the next page; null means
you’ve reached the end.
Query Parameters
Wallet address — returns intents where it is the sender or the recipient.
Scope to all intents created with API keys owned by this customer.
Scope to intents created with this API key.
Filter by lifecycle status.
Available options:
pending, deposited, filling, broadcasted, replaced, filled, settling, settled, settle_lost, retrying, refunded, failed Filter by origin chain (id, name, or alias — e.g. "evm:8453", "base").
Filter by destination chain (id, name, or alias).
Page size (1-100, default 50).
Required range:
1 <= x <= 100Opaque cursor from the previous page's pagination.nextCursor.