# Requires: npm i -g @infinite_dev/cli && export INFINITE_API_KEY=sk_sandbox_...
# Escape hatch for any endpoint: infinite api <METHOD> <path>
infinite api GET /v1/accounts/acc_abc123/balanceGet account balance (acc_abc123).import requests
url = "https://sandbox.api.infinite.dev/v1/accounts/{id}/balance"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox.api.infinite.dev/v1/accounts/{id}/balance', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.api.infinite.dev/v1/accounts/{id}/balance",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox.api.infinite.dev/v1/accounts/{id}/balance"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox.api.infinite.dev/v1/accounts/{id}/balance")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.api.infinite.dev/v1/accounts/{id}/balance")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"accountId": "vba_abc123",
"currency": "USD",
"available": {
"currency": "USD",
"exponent": 2,
"value": "12345",
"displayValue": "123.45"
},
"pending": {
"currency": "USD",
"exponent": 2,
"value": "12345",
"displayValue": "123.45"
},
"providerAvailableMinor": "8500",
"ledgerAvailableMinor": "8000",
"providerDriftMinor": "500",
"providerBalanceFetchedAt": "2026-09-24T04:00:00.000Z"
}Get account balance
Returns the balance of a balance account: funds available to pay out and funds committed to in-flight payouts. Only available for accounts with holdsBalance=true.
# Requires: npm i -g @infinite_dev/cli && export INFINITE_API_KEY=sk_sandbox_...
# Escape hatch for any endpoint: infinite api <METHOD> <path>
infinite api GET /v1/accounts/acc_abc123/balanceGet account balance (acc_abc123).import requests
url = "https://sandbox.api.infinite.dev/v1/accounts/{id}/balance"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox.api.infinite.dev/v1/accounts/{id}/balance', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.api.infinite.dev/v1/accounts/{id}/balance",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox.api.infinite.dev/v1/accounts/{id}/balance"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox.api.infinite.dev/v1/accounts/{id}/balance")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.api.infinite.dev/v1/accounts/{id}/balance")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"accountId": "vba_abc123",
"currency": "USD",
"available": {
"currency": "USD",
"exponent": 2,
"value": "12345",
"displayValue": "123.45"
},
"pending": {
"currency": "USD",
"exponent": 2,
"value": "12345",
"displayValue": "123.45"
},
"providerAvailableMinor": "8500",
"ledgerAvailableMinor": "8000",
"providerDriftMinor": "500",
"providerBalanceFetchedAt": "2026-09-24T04:00:00.000Z"
}Authorizations
API Key in Bearer format (e.g., Bearer sk_test_...)
Headers
API key
Path Parameters
Balance account ID
Response
Account balance
Account ID
"vba_abc123"
Balance currency
"USD"
Funds available to pay out
Show child attributes
Show child attributes
Funds committed to in-flight payouts
Show child attributes
Show child attributes
Live custody-partner balance in minor units. Present only when a single-account read succeeds. Does not replace available.
"8500"
Ledger available balance in minor units, echoed beside the partner read. Same amount as available.
"8000"
Partner balance minus ledger available, in minor units. Positive means the partner holds more than the ledger.
"500"
When the partner balance was read
"2026-09-24T04:00:00.000Z"
Was this page helpful?