Skip to main content
Your org has one balance for each asset that Jenzy enabled. GET /v2/balances gives one row for each asset. GET /v2/balances/{asset} gives one row.
The list has the same assets as GET /v2/assets. An asset that you never used reads "0.00". It does not disappear from the list.

The three fields

  • available — the money that you can spend now, in that asset. A payout or a conversion draws this down.
  • held — the money that payouts in progress reserve. Each hold is the full debit of the payout, with its fee. Hermes releases the hold when the payout gets to a terminal state.
  • shortfall — usually "0.00". A different value shows that the balance is below zero. This can happen after a reversal. Your next collection in that asset pays the shortfall first.
available and shortfall are two readings of one figure. When one is above zero, the other is zero.

No totals

There is no total across assets, and there is no value in a reference asset. Each row stands on its own. A KES row and a USDT row have nothing in common. If you want a total, convert each row yourself with your own rate.

A balance is per asset, and so is a refusal

A payout draws down the balance of its source_asset. A conversion draws down the balance of its from_asset. When that one balance is too low, you get insufficient_funds (402). Your balance in a different asset does not help. Convert first, or fund the balance.

Read the correct source

GET /v2/balances is the correct source for your balance. Do not calculate a balance from webhooks, because events can arrive in a different sequence. A /v2 webhook delivery does not carry a balance block. There is no balance.low event on /v2. If your system needs a floor, read GET /v2/balances at a moderate rate and compare the row yourself.