GET /api/v1/balances returns those balances live, one entry per account and currency — so you can monitor how much is available and alert your team when it runs low.
The most common use case is watching the funds available for refunds. You have one account with the refund role in each currency you are paid out in, and a refund is paid from the one in the currency its payment was paid out in. Poll this endpoint on a schedule and raise an alert when one of those balances drops below your threshold.
Console
View balances in your dashboard
API reference
Full endpoint specification
Account roles
A merchant’s provider-managed accounts are each tagged with a role. Balances are returned per account, because a merchant can hold several — including more than one currency. A merchant with no managed accounts yet receives an emptydata array.
Read the
refund row in a payment’s payout currency to answer “can I cover a refund of this payment right now?”. A refund of a payment paid out in GBP comes from the GBP refund account, whatever currency the customer paid in. The receiving balance is money mid-pipeline (about to be converted and paid out) — it is not spendable refund headroom.Step 1: Fetch balances
CallGET /api/v1/balances with your access token. As a merchant you don’t pass an ID — the account is resolved from your credentials.
Every request needs an
Authorization: Bearer <access_token> header. See Authentication to exchange your client_id and client_secret for a token.Response fields
balance is null when the provider did not report a figure for that account (e.g. a freshly provisioned account, or a transient provider hiccup). null means “unknown right now” — it is not zero. Don’t render it as 0, and don’t fire a low-balance alert on it.Step 2: Alert on a low refund balance
Each payout currency has its ownrefund row, so check each currency you are paid out in. This example checks GBP:
Reading another merchant’s balances
Merchant credentials resolve to their own account automatically. If you are a partner or platform acting across merchants, name the target with?merchant_id=:
merchant_id is required — omitting it returns 400 MERCHANT_ID_REQUIRED. You can only read merchants you own; anything else returns 404.
Next steps
Payout reconciliation
See the transactions and fees behind each payout
API reference
Full endpoint specification