Skip to main content

Deposits

A deposit is an on-chain payment ZaroPay detected to one of your addresses. Always scoped to the authenticated merchant.

List GET /v1/deposits

Query params:

ParamTypeNotes
statusstringDETECTED, CONFIRMING, CONFIRMED, STUCK, REORG_PENDING, FAILED
statusGroupstringconfirmed · pending (DETECTED+CONFIRMING) · failed (FAILED+STUCK+REORG_PENDING)
chainstringtron
walletIdstring (uuid)Filter by settlement account
qstringSearch over tx_hash, to_address, amount, id (max 120)
page / limitint1100, default 20

Returns an array of deposit rows + meta, newest first.

Retrieve GET /v1/deposits/:id

:id is the deposit UUID (404 if not yours).

Deposit fields

FieldTypeNotes
idstring (uuid)
merchant_idstring (uuid)
deposit_address_idstring (uuid) | null
chain / currencystring
tx_hashstringOn-chain transaction hash
output_indexintLog/output index within the tx
amountstringOn-chain gross received (decimal string, full precision)
amount_unitsstring | nullRaw base units
from_addressstring | nullPayer
to_addressstringYour deposit address
block_numberbigint | null
confirmationsint
required_confirmationsint
statusstringDeposit status enum
expected_amountstring | nullOrder amount, if any
fee_modestring | nullmerchant / client
payment_statestring | nullexact, underpaid, overpaid
settlement_account_idstring (uuid) | null
api_key_idstring (uuid) | nullWhich key created the originating address
recovered_attimestamp | nullSet only for late-payment recovery (null = on-time)
detected_at / confirmed_attimestamp | null
created_at / updated_attimestamp
Amounts here are un-normalized

On this raw deposit row, decimal amounts may appear as full-scale strings (e.g. "100.000000000000000000"). The webhook payload gives you cleaned-up amount / grossAmount / orderAmount strings — prefer those for display and reconciliation.