Overview
Settled transactions and their per-leg detail.
This is the sandbox. It runs on testnets only. Never send real money or real tokens to an address or bank account the sandbox returns.
The sandbox is subject to the Beta Features section of our Terms of Use.
A transaction is a settled movement of value through Agora. Each records a source, a recipient, and the per-currency totals that moved. The detail endpoint adds the legs behind it.
GET /v0/transactionslists your transactions, newest first, with cursor pagination.GET /v0/transactions/{txnId}returns one transaction plus itslegs.
In the sandbox
Sandbox transactions come from three places. Each appears only once its payout lands.
- On-chain deposits appear as a
mintorredeemwith twotokenlegs, the deposit and the payout. - Simulated wires appear as a
mintwith awireleg and atokenleg. - Redeems to simulated USD appear as a
redeemwith atokenleg and awireleg.
Types
A transaction’s type tells you what it did:
mint: fiat or stablecoin in, AUSD out.redeem: AUSD in, fiat or stablecoin out.bridge: AUSD moved between chains.reward: a rewards payout.return: a returned or reversed transfer.
We will add new type values over time, so handle ones you don’t recognize gracefully. isInstantSettlement is true when the transaction took Agora’s instant-settlement path.
Status
Today status is always settled: these endpoints expose settled transactions only. We will add values like pending for ongoing transfers, so handle values you don’t recognize gracefully. initiatedAt is the first leg’s time; settledAt is when settlement completed, null until then.
Counterparties
The transaction and each of its legs carry a source and a recipient, each tagged by kind:
bank: carriesbankName,accountNumber, and thenameyou registered the account under.wallet: carries the checksummedaddress, thechain, and thenameyou registered the wallet under.
The Agora side of a transfer is named "Agora". Each counterparty carries an accountId matching an account from GET /v0/accounts, or null when the account isn’t associated with your organization. Bank counterparties currently return null.
On the transaction itself (not its legs), source and recipient also carry amounts, the per-currency totals that moved on that side.
Legs
The detail endpoint adds a legs array, one entry per settlement step. Each leg has a decimal-string amount and currency, its own source and recipient, and:
direction:FROM_AGORA(Agora to customer) orTO_AGORA(customer to Agora).detail: rail-specific ids, keyed bytype:token(on-chaintransactionHash),wire(Fedwireimad),bookTransfer(confirmationNumber), orinstantPayment(confirmationNumber). Afeeleg is a manual accounting entry, so itsdetailcarries only thetype.
A leg’s detail.type names the settlement rail (token, wire, …). The transaction-level type classifies the whole transaction (mint, redeem, …). Same field name, different values.
Filtering
GET /v0/transactions narrows the list by movement type, by sourceChain / recipientChain, by isInstantSettlement, and by an initiatedAt range. The grammar is shared across the list endpoints. See Filtering list endpoints.
The chain filters match the source and recipient the response reports, not every leg the transaction touched: a mint funded by wire has no source chain, so it matches on recipientChain only. isInstantSettlement=false covers standard settlement plus the types that have no settlement path of their own, such as reward and return.
Pagination
Both list responses return { data, nextCursor }:
data: the page, newest first.nextCursor: an opaque cursor. Pass it back as thecursorquery param for the next page;nullwhen there are none.
Size the page with limit. Amounts are decimal strings, not numbers (see the API overview). Every endpoint needs authentication (see the Authentication guide); for errors, see the Error Reference.

