API documentation
Sign in

Transactions

Retrieving the individual debits and credits that make up your account activity.

One endpoint returns your transaction history, newest first:

POST /api/3/transaction/list

A transaction is one leg, not one event. A single trade produces at least two transactions — a debit of what you sold and a credit of what you bought — sharing a tradeRef. Reconcile against transactions; report against trades.

Debits arrive negative. A WITHDRAWAL or a TRADE_DEBIT carries a signed amount, so summing amount over a currency gives a net movement without inspecting transactionType first.

The transactionState, transactionType and transactionClass values are shared with the webhook payload and are listed under transaction code tables.

Request

Every filter is optional. Sending none returns the most recent transactions across every account group your credentials can see.

FieldTypeRequiredNotes
noncestringOptionalA counter that must increase with each request. An alternative to tonce; send one or the other
toncestringOptionalThe current Unix time in microseconds. Send this or nonce — a request with neither is rejected, and each value must be higher than the last one used by the key
userUuidstringOptionalThe user the credentials act for. Set automatically from the API key; sending it has no effect
ccystringOptionalRestricts the result to one currency
accountGroupUuidstringOptionalRestricts the result to one account group. Omitting it returns every transaction your credentials can see
transactionStateTransactionStateOptionalRestricts the result to one state
transactionClassTransactionClassFilterOptionalRestricts the result to one class. Note this filter accepts fewer values than a transaction can carry — see below
transactionTypeTransactionTypeOptionalRestricts the result to one type
tradeRefstringOptionalReturns the legs of a single trade
fromintegerOptionalStart of the period, as Unix time in milliseconds
tointegerOptionalEnd of the period, as Unix time in milliseconds
maxintegerOptionalHow many records to return. Defaults to 50; -1 requests the maximum — max 200
offsetintegerOptionalIndex to start from, for paging
withBeneficiaryOnlybooleanOptionalWhen true, returns only transactions that name a beneficiary
langstringOptionalLanguage for the generated displayTitle and displayDescription. Defaults to en-US

TransactionClassFilter

The transactionClass filter accepts four values, while a returned transaction can carry five. INTERENTITYFEE has no filter value, so those transactions can be received but not selected for.

ValueMeaning
CASHFiat movements
COINDigital-asset movements
RFSTRADELegs of a trade executed against a streamed price
OTCTRADELegs of a trade agreed with the brokerage desk

Response

The response also carries the resultCode and description fields common to every REST call.

FieldTypeNotes
transactionsTransaction[]The matching records, newest first
countintHow many records this response carries
totalCountintHow many records match the filter in total, for paging

Transaction

One leg of a movement. Which fields are populated depends on transactionClass — the coin* fields are set for digital-asset movements, quoteId and executedPrice for trade legs.

FieldTypeNotes
transactionClassTransactionClassThe kind of movement this leg belongs to
uuidstringIdentifier for this transaction
userUuidstringThe user the transaction belongs to
accountGroupUuidstringThe account group the transaction belongs to
amountdecimalSigned: negative for a withdrawal or the debit leg of a trade
feedecimalFee charged on this leg, in the same currency
ccystringCurrency of amount and fee
transactionStateTransactionStateWhere the transaction has reached
transactionTypeTransactionTypeWhether the leg is a debit or a credit, and what caused it
receivedintegerWhen the transaction was received, as Unix time in milliseconds
processedintegerWhen the transaction was processed, as Unix time in milliseconds. Zero when it has not been
timestampMillisintegerThe transaction's own timestamp, as Unix time in milliseconds
displayTitlestringA human-readable label, derived from the class and type
displayDescriptionstringA human-readable description. Populated for digital-asset movements
coinAddressstringDestination or source address, for a digital-asset movement
coinTransactionIdstringInternal identifier for the digital-asset movement
coinConfirmationsintegerConfirmations seen so far
coinConfirmationsRequiredintegerConfirmations needed before the movement is treated as settled
subAccountSubAccountThe sub-account the movement belongs to, when there is one
paymentTransferTypestringHow a fiat movement was made
customRefstringYour own reference, echoed back
quoteIdstringThe quote this leg was executed against
tradeIdstringIdentifier for the trade this leg belongs to
executedPricestringPrice the trade executed at, as a string because it names both currencies
tradeRefstringReference shared by every leg of the same trade
settleDatedateThe date the trade settles
beneficiaryParticipantRefThe party receiving, when the movement names one
senderParticipantRefThe party delivering, when the movement names one
networkIdstringThe network a digital-asset movement was made over
beneficiaryBankAccountUuidstringThe bank account a fiat movement was paid to
paymentReasonstringReason recorded against the payment
coinTransactionHashstringBlockchain transaction hash
coinTransactionCustodianVenueNamestringThe venue holding the assets for this movement

SubAccount

FieldTypeNotes
uuidstringIdentifier for the sub-account
namestringName of the sub-account

ParticipantRef

A reference to a settlement party. The full record — bank accounts, wallets and verification state — is on settlement parties.

FieldTypeNotes
uuidstringIdentifier for the party
namestringName of the party

We use cookies to improve your experience and analyse site traffic. Cookie policy