GET /dapi/v1/client/balance.
Send X-Hevn-Account to act for a client (Acting as a client).
Balance
Response: 200
FDIC_EUR row.
If
POST /dapi/v1/payouts returns insufficient_funds while the balance looks sufficient, a debit is in flight.
Walk the ledger
GET /dapi/v1/transactions returns rows newest first, in cursor pages (Pagination).
Response: 200
accountId when an external account or a sub account moved the money. It is absent on a main wallet row.
Filters
Summary
GET /dapi/v1/transactions/summary takes the same filters and returns settled and pending totals in USD (Inflow and outflow totals).
Response: 200
Single transaction
GET /dapi/v1/transactions/{transactionId} returns the row with more detail (Retrieve one transaction).
Exports
GET /dapi/v1/transactions/export streams a file: the filtered transaction list, a transaction report for one virtual account (kind=statement), a confirmation that a virtual account exists with its account details (kind=confirmation), or a receipt for one transaction (kind=receipt). The parameters each kind needs and the formats it takes: Export transactions.
download helper is in the reference client.
Reconcile
- Store the newest
createdAtyou have processed, per client, and peraccountIdwhen you reconcile accounts apart. - Request
from=<watermark>and walk the cursor to the end. - Match your records on
id, and a payout on thetransactionIdits read returns. - Move the watermark after the walk completes. Ids are stable, so an overlapping replay is safe.
pending row is not an error.
Refresh the ledger
POST /dapi/v1/transactions/sync refreshes one client’s ledger from the partner bank and the chains its money moved over (Refresh the ledger).
Response: 200