The Transaction object
One movement of money. Fields marked *(in)* appear only on inbound rows, *(out)* only on outbound. Empty fields are omitted.
Every endpoint that returns a transaction returns this shape, wrapped in a data envelope.
Attributes
id
uuid · always presentAlways present. The only field safe to key on.
direction
enum · always present— One of: in, out.
status
enum · always presentpending, successful or failed. Only successful and failed are final. Deposits appear once credited, so they are always successful. One of: successful, failed, pending.
currency
string · always present—
amount
string · always presentGross amount, before fees, with the asset's full decimal places ("20.000000").
amount_minor
string · always present—
fee
string · always presentDeducted from amount.
fee_minor
string · always present—
created_at
timestamp · always present—
reference
string · optionalOur reference: DEP_… inbound, WDR_… outbound. Absent on direct on-chain receives.
chain
enum · optionalThe chain the money moved on. Lightning shows as bitcoin - check network. Absent on fiat payouts. One of: bitcoin, tron, ethereum, polygon, solana, base, bsc.
network
enum · optionalHow the money moved: lightning (see invoice) or onchain (see address and hash). Absent on fiat payouts. One of: onchain, lightning.
address
string · optional—
hash
string · optionalThe settlement hash. Absent on a failed payment.
invoice
string · optionalThe Lightning bolt11.
address_reference
string · optional(in) Your reference on the address the money arrived at.
address_label
string · optional(in) Your note on that address. Display only.
completed_at
timestamp · optional(out) Set once the order reached a terminal success.
failure_code
enum · optional(out) Why the payment failed. A small fixed set, safe to switch on. One of: transfer_failed, payout_failed.
failure_message
string · optional(out) A short description of the failure.
settlement_currency
string · optional(out, fiat) The currency the recipient received.
settlement_decimals
integer · optional(out, fiat) Decimal places of the settlement currency. Not always 2: UGX, RWF and XOF have none.
settlement_amount
string · optional—
settlement_amount_minor
string · optional—
rate
string · optional(out, fiat) The rate applied, fees included: settlement_amount = (amount - fee) x rate.
destination
object · optional(out, fiat) The destination, masked to the last four digits.
{
"id": "0d6c2f3a-1b4e-4c9a-9f2d-7a1e5c8b3d60",
"direction": "in",
"status": "successful",
"currency": "USDC",
"amount": "20.000000",
"amount_minor": "20000000",
"fee": "0.600000",
"fee_minor": "600000",
"created_at": "2026-09-01T10:04:11Z",
"reference": "WDR_TBJWZFYIYTM3KPF5",
"chain": "ethereum",
"network": "onchain",
"address": "<address>",
"hash": "<hash>",
"invoice": "<invoice>",
"address_reference": "<address_reference>",
"address_label": "<address_label>",
"completed_at": "2026-09-01T10:04:11Z",
"failure_code": "transfer_failed",
"failure_message": "<failure_message>",
"settlement_currency": "GHS",
"settlement_decimals": "<settlement_decimals>",
"settlement_amount": "<settlement_amount>",
"settlement_amount_minor": "<settlement_amount_minor>",
"rate": "<rate>",
"destination": "<destination>"
}