The Accounts domain covers the ledger side of your integration — the balances your participants and platform hold at zerohash, and the record of every movement in and out of them. An account is a single balance of a single asset for a single owner, with a type (such as available, payable, or receivable) that describes the role it plays in settlement. These endpoints are how you read those balances, trace their history, and monitor settlement obligations programmatically.
For engineers, this domain is where you reconcile. Every trade, deposit, withdrawal and transfer ultimately lands as a balance change on an account, and these endpoints let you observe that state from your own systems — listing accounts, drilling into a specific one, walking its ledger movement by movement, and surfacing any outstanding settlement obligations across your platform.
Listing and reading accounts
Use the list endpoint to enumerate the accounts under your platform. Each record includes the account's balance in the respective asset, and each account_label maintains an individual balance;
The list accounts endpoint only returns accounts with a non-zero balance. An account that has been created but currently holds no value won't appear in the list response.
If you're expecting an account that isn't showing up, an empty balance is the most likely reason — query it directly byaccount_idto confirm it exists, and read its current state.
Tracking account updates
Beyond querying the Accounts endpoints directly, zerohash offers two ways to be notified of balance changes as they happen, so you don't have to poll:
Balances WebSocket
A real-time feed that pushes an update to your client every time an account's balance changes. On connect, it returns a snapshot of all current balances, then streams each subsequent change as it occurs.
Use it to keep dashboards and customer-facing UIs live — reflecting crypto and fiat deposits, settled trades, and initiated withdrawals the moment they happen. It's the convenient alternative to constantly polling a REST endpoint.
Webhook Notifications
If you'd rather receive server-to-server callbacks, zerohash can push a notification on an account balance update, delivered with the header:
x-zh-hook-payload-type: account_balance.changed
Webhook notifications for account_balance.changed events can be coupled with GET calls to the corresponding run_type that triggered the change;
deposit- GET /depositswithdrawal- GET /withdrawals/requests/{withdrawal\_id}settlement- GET /tradestransfer- GET /transfers
Additionally, account movements can be called using the endpoints documented here.
Setup requiredWebhook listeners aren't on by default. Platforms must request webhook listener configuration from the zerohash support team to start receiving these notifications.