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.
| Field | Type | Required | Notes |
|---|---|---|---|
nonce | string | Optional | A counter that must increase with each request. An alternative to tonce; send one or the other |
tonce | string | Optional | The 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 |
userUuid | string | Optional | The user the credentials act for. Set automatically from the API key; sending it has no effect |
ccy | string | Optional | Restricts the result to one currency |
accountGroupUuid | string | Optional | Restricts the result to one account group. Omitting it returns every transaction your credentials can see |
transactionState | TransactionState | Optional | Restricts the result to one state |
transactionClass | TransactionClassFilter | Optional | Restricts the result to one class. Note this filter accepts fewer values than a transaction can carry — see below |
transactionType | TransactionType | Optional | Restricts the result to one type |
tradeRef | string | Optional | Returns the legs of a single trade |
from | integer | Optional | Start of the period, as Unix time in milliseconds |
to | integer | Optional | End of the period, as Unix time in milliseconds |
max | integer | Optional | How many records to return. Defaults to 50; -1 requests the maximum — max 200 |
offset | integer | Optional | Index to start from, for paging |
withBeneficiaryOnly | boolean | Optional | When true, returns only transactions that name a beneficiary |
lang | string | Optional | Language 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.
| Value | Meaning |
|---|---|
CASH | Fiat movements |
COIN | Digital-asset movements |
RFSTRADE | Legs of a trade executed against a streamed price |
OTCTRADE | Legs of a trade agreed with the brokerage desk |
Response
The response also carries the resultCode and description fields common to
every REST call.
| Field | Type | Notes |
|---|---|---|
transactions | Transaction[] | The matching records, newest first |
count | int | How many records this response carries |
totalCount | int | How 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.
| Field | Type | Notes |
|---|---|---|
transactionClass | TransactionClass | The kind of movement this leg belongs to |
uuid | string | Identifier for this transaction |
userUuid | string | The user the transaction belongs to |
accountGroupUuid | string | The account group the transaction belongs to |
amount | decimal | Signed: negative for a withdrawal or the debit leg of a trade |
fee | decimal | Fee charged on this leg, in the same currency |
ccy | string | Currency of amount and fee |
transactionState | TransactionState | Where the transaction has reached |
transactionType | TransactionType | Whether the leg is a debit or a credit, and what caused it |
received | integer | When the transaction was received, as Unix time in milliseconds |
processed | integer | When the transaction was processed, as Unix time in milliseconds. Zero when it has not been |
timestampMillis | integer | The transaction's own timestamp, as Unix time in milliseconds |
displayTitle | string | A human-readable label, derived from the class and type |
displayDescription | string | A human-readable description. Populated for digital-asset movements |
coinAddress | string | Destination or source address, for a digital-asset movement |
coinTransactionId | string | Internal identifier for the digital-asset movement |
coinConfirmations | integer | Confirmations seen so far |
coinConfirmationsRequired | integer | Confirmations needed before the movement is treated as settled |
subAccount | SubAccount | The sub-account the movement belongs to, when there is one |
paymentTransferType | string | How a fiat movement was made |
customRef | string | Your own reference, echoed back |
quoteId | string | The quote this leg was executed against |
tradeId | string | Identifier for the trade this leg belongs to |
executedPrice | string | Price the trade executed at, as a string because it names both currencies |
tradeRef | string | Reference shared by every leg of the same trade |
settleDate | date | The date the trade settles |
beneficiary | ParticipantRef | The party receiving, when the movement names one |
sender | ParticipantRef | The party delivering, when the movement names one |
networkId | string | The network a digital-asset movement was made over |
beneficiaryBankAccountUuid | string | The bank account a fiat movement was paid to |
paymentReason | string | Reason recorded against the payment |
coinTransactionHash | string | Blockchain transaction hash |
coinTransactionCustodianVenueName | string | The venue holding the assets for this movement |
SubAccount
| Field | Type | Notes |
|---|---|---|
uuid | string | Identifier for the sub-account |
name | string | Name of the sub-account |
ParticipantRef
A reference to a settlement party. The full record — bank accounts, wallets and verification state — is on settlement parties.
| Field | Type | Notes |
|---|---|---|
uuid | string | Identifier for the party |
name | string | Name of the party |