Read balances

For integration engineers. Read an account's total, available and locked balances, and understand what they include.

Who this is for

Engineers who have minted tokens in 3. Issue tokens. By the end of this step you have confirmed that ACC-0001 holds 1,000.00 GBP.

What the three figures mean

GET /api/accounts/{accountRef}/balances returns the account's position in its asset, read from the token contract at the time of the request. The three figures come from a single read and are consistent with one another.

FieldMeaning
totalWhat the account holds, locked or not
lockedWhat the account's active locks withhold. Freed when a lock is released or cancelled
availabletotal less locked, not below zero. Spends are enforced against this figure
asOfWhen the figures were read. The balance is only as current as this timestamp

Only settled operations count. An operation that has been accepted but has not reached CONFIRMED does not appear in any of the three figures. If you post a pending entry in your core banking system when you submit an operation, the platform balance will not match it until the operation confirms. See Balances.

All three figures are decimal strings in currency units. They are reported exactly as the contract holds them, without rounding, and can carry more decimal places than the currency allows.

Worked example

GET /api/accounts/ACC-0001/balances HTTP/1.1
Host: api.qfp.quantnetwork.net
Authorization: Bearer eyJraWQiOiJ...
API-Version: 1.0.0

Illustrative example built from the schema.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "accountRef": "ACC-0001",
  "customerRef": "CUST-0001",
  "assetId": "GBP",
  "total": "1000.00",
  "available": "1000.00",
  "locked": "0.00",
  "asOf": "2026-08-06T09:32:05.410Z"
}

An account with an active lock shows the withheld amount in locked:

{
  "accountRef": "ACC-0001",
  "customerRef": "CUST-0001",
  "assetId": "GBP",
  "total": "1250.00",
  "available": "1210.00",
  "locked": "40.00",
  "asOf": "2026-08-13T11:58:04.114Z"
}

View in API Reference

Errors and edge cases

StatusWhenWhat to do
404No account has that reference, or the account's asset has no ACTIVE contractCheck the reference and the contract
422The account is PENDING or FAILED and has no wallet address to readWait for provisioning to complete. See 2. Create a customer and an account
500The balance could not be readRetry. A failed read is always an error, never a zero balance, so a 200 with "0.00" means the account holds nothing
Account INACTIVEDeactivation stops new operationsBalances are still returned for funds already held

A pending account:

HTTP/1.1 422 Unprocessable Content
Content-Type: application/json

{
  "timestamp": "2026-08-13T11:58:04.114Z",
  "status": 422,
  "error": "Unprocessable Content",
  "message": "Account 'ACC-0002' is PENDING and has no wallet address yet; balances are readable once provisioning completes."
}

Follow a Recipe

Step through the code in JavaScript or Python, inspect illustrative responses, and open the connected endpoint schemas.

API Reference

Open an endpoint for request fields, response examples and the interactive API console.

OperationMethod
Get an account's balancesGET

Related pages

Implementation resources

Balances code recipes.

Use Implement a backend client for request handling, durable idempotency and outcome tracking. The developer integration coverage map links every public operation to its API Reference and contract-derived code recipe. Replace example identifiers with values from your assigned environment.


Did this page help you?