The timeline can include deposits, fees, adjustments, refunds, and withdrawals. Use transaction
id as the stable public identifier.
Use rail, currency, and settlement_rail to distinguish NGN fiat, USD cash, USDT, and USDC activity.
Required Actions
Some crypto deposits may be confirmed on-chain but unavailable until additional Travel Rule information is submitted through the partner API. These rows keepstatus: "hold" and include required_action:
GET on submission_url to retrieve the required fields and POST to the
same path to submit sender information. required_action.status changes to
submitted after a successful submission and before the deposit is credited.
Once credited, required_action is omitted.
Listing Transactions
Reading One Transaction
Status Handling
Treat
success, failed, and cancelled as terminal. A transaction can move
from pending, processing, or hold to a terminal status.
Reconciliation Pattern
- Process deposit and withdrawal webhooks as the primary source of timely changes.
- Upsert transactions by public
id; a later status updates the existing record. - Run a cursor-based reconciliation job periodically and after webhook downtime.
- Use the detail endpoint for operator lookups and targeted gap recovery, not continuous polling.
- Keep transaction IDs, webhook event IDs, and timestamps in your support logs.
Required Headers
Transaction reads requireX-Api-Key enabled for wallet reads.
Common failures include invalid filters, requesting a transaction outside the account context, or querying a transaction before it appears in the timeline.