Skip to main content

Read an Account Balance

What this page solves​

Reading the amount available for transfers from one of your accounts.

When to use it​

  • Before creating a transfer

    Check that the source account has enough funds.

  • After transfers

    Reconcile the balance in your own systems.

Before you start​

  • API key

    With the Internal transfers or Partner transfers scope that has access to the account. See Payments scopes.

  • Account number

    A wallet (Personal Area → Payments & wallet), a trading account on the Exness platform (Personal Area → Trading → Accounts), or your Reward Wallet (Partner Personal Area → Wallet accounts). Send it as a string, exactly as shown.

  1. 1
    Request GET /v1/accounts/{account_id}/balance.
  2. 2
    Compare balance with the amount you plan to transfer, in the account currency.

Main endpoints​

OperationPurpose
GET /v1/accounts/{account_id}/balanceRead the balance available for transfers

Example request​

The example is structural: replace the placeholders in angle brackets with your values. For a runnable implementation, see Read a balance.

GET /v1/accounts/8066808/balance HTTP/1.1
EXN-API-KEY: <your API key>
EXN-IDEMPOTENCY-KEY:
EXN-TIMESTAMP: <current Unix time in milliseconds>
EXN-SIGN-VERSION: 1
EXN-DATA: <base64url-encoded signed payload>
EXN-SIGN: <base64url-encoded signature>

The signed EXN-IDEMPOTENCY-KEY header is sent with an empty value for this GET request.

What to expect in return​

HTTP 200:

{
"account_id": "8066808",
"balance": "1000.00",
"currency": "USD"
}
  • balance — the amount available for transfers from the account, as a non-negative decimal string.
  • currency — the account currency. Transfer amounts from this account are expressed in the same currency.

Common errors​

HTTPcodeerror_messageWhat to do
4031002AUTH_PERMISSION_DENIEDYour key has no Payments scope, or your source IP is not allowed for the key.
4042000ACCOUNT_NOT_FOUNDThe account does not exist or is not available to your API key. Check the account number.
4223001REQUEST_INVALID_PARAMETERSThe account number did not pass validation. Send it as a string, exactly as shown.

All codes are listed in Troubleshooting Your API Requests.

Recovery and reconciliation​

The balance can change between your balance request and your transfer request. If a transfer creation request fails with TRANSFER_INSUFFICIENT_FUNDS while no request with its idempotency key has had an unknown outcome, read the balance again before you adjust the amount.

Retry after an unknown outcome

On a retry after an unknown outcome, the error can mean that the earlier attempt already used the funds: do not change the request; see Recovery and Idempotency.

Send Your First Request · Transfer between your own accounts · Transfer to another client