# Requires: npm i -g @infinite_dev/cli && export INFINITE_API_KEY=sk_sandbox_...
# Escape hatch for any endpoint: infinite api <METHOD> <path>
infinite api POST /v1/balance-accounts \
--body '<request-json>'Create a balance account.
# Use MCP tool ensure_balance_account for the bound customer when USD_BALANCE is READY.import requests
url = "https://sandbox.api.infinite.dev/v1/balance-accounts"
payload = {
"customerId": "cus_abc123",
"product": "STANDARD",
"externalReference": "550e8400-e29b-41d4-a716-446655440000",
"metadata": { "nickname": "Operating balance" }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
customerId: 'cus_abc123',
product: 'STANDARD',
externalReference: '550e8400-e29b-41d4-a716-446655440000',
metadata: {nickname: 'Operating balance'}
})
};
fetch('https://sandbox.api.infinite.dev/v1/balance-accounts', 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/balance-accounts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'customerId' => 'cus_abc123',
'product' => 'STANDARD',
'externalReference' => '550e8400-e29b-41d4-a716-446655440000',
'metadata' => [
'nickname' => 'Operating balance'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox.api.infinite.dev/v1/balance-accounts"
payload := strings.NewReader("{\n \"customerId\": \"cus_abc123\",\n \"product\": \"STANDARD\",\n \"externalReference\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"metadata\": {\n \"nickname\": \"Operating balance\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sandbox.api.infinite.dev/v1/balance-accounts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"customerId\": \"cus_abc123\",\n \"product\": \"STANDARD\",\n \"externalReference\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"metadata\": {\n \"nickname\": \"Operating balance\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.api.infinite.dev/v1/balance-accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"customerId\": \"cus_abc123\",\n \"product\": \"STANDARD\",\n \"externalReference\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"metadata\": {\n \"nickname\": \"Operating balance\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "vba_1234567890abcdef",
"customerId": "cust_abc123",
"type": "VIRTUAL_BANK",
"status": "ACTIVE",
"createdAt": "2026-01-15T10:00:00Z",
"updatedAt": "2026-01-15T10:00:00Z",
"externalReference": "550e8400-e29b-41d4-a716-446655440000",
"bankDetails": {
"accountNumber": "1234567890",
"routingNumber": "021000021",
"iban": "GB82WEST12345698765432",
"swiftCode": "CHASUS33",
"bankName": "JPMorgan Chase Bank",
"bankCountryCode": "US",
"bankAddress": {
"addressLine1": "270 Park Avenue",
"addressLine2": "Floor 10",
"city": "New York",
"state": "NY",
"postalCode": "10017",
"country": "US"
},
"beneficiaryName": "John Smith",
"beneficiaryPhone": "+14155550123",
"beneficiaryAddress": {
"addressLine1": "123 Main Street",
"addressLine2": "Suite 100",
"city": "New York",
"state": "NY",
"postalCode": "10001",
"country": "US"
},
"supportedNetworks": [
"ACH",
"WIRE"
]
},
"walletDetails": {
"walletAddress": "0x1234567890abcdef1234567890abcdef12345678",
"addressType": "EVM",
"chains": [
"ETHEREUM",
"BASE"
],
"walletType": "TREASURY",
"sweepTargetAccountId": "eba_1234567890abcdef"
},
"currencyCodes": [
"USD",
"USDC"
],
"virtualBankAccount": {
"id": "vba_1234567890abcdef",
"depositInstructions": {
"bankName": "JPMorgan Chase Bank",
"bankAddress": {
"addressLine1": "270 Park Avenue",
"addressLine2": "Floor 10",
"city": "New York",
"state": "NY",
"postalCode": "10017",
"country": "US"
},
"accountNumber": "1234567890",
"routingNumber": "021000021",
"iban": "GB82WEST12345698765432",
"swiftBic": "CHASUS33",
"bankCountryCode": "US",
"beneficiaryName": "John Doe",
"beneficiaryAddress": {
"addressLine1": "270 Park Avenue",
"addressLine2": "Floor 10",
"city": "New York",
"state": "NY",
"postalCode": "10017",
"country": "US"
}
},
"developerFeeFixed": "100000",
"developerFeePercent": 0.01,
"sourceRail": "ACH",
"sourceCurrency": "USD",
"destinationRail": "BASE",
"destinationCurrency": "USDC",
"sweepTargetAccountId": "ewa_1234567890abcdef",
"originCapable": true,
"originAccountId": "vba_1234567890abcdef"
},
"virtualWallet": {
"id": "vw_1234567890abcdef",
"state": "ACTIVE",
"destinationCurrency": "USD",
"destinationRail": "ACH",
"sweepTargetAccountId": "eba_1234567890abcdef",
"originCapable": false,
"originAccountId": "vwa_1234567890abcdef"
},
"proxyDetails": {
"aliasType": "phone",
"aliasValue": "+5511912345678",
"paymentRail": "pix",
"beneficiaryName": "John Smith",
"beneficiaryType": "INDIVIDUAL"
},
"isThirdParty": false,
"counterpartyId": "cp_abc123",
"referenceId": "550e8400-e29b-41d4-a716-446655440000",
"originCapable": true,
"originAccountId": "vba_1234567890abcdef",
"metadata": {
"nickname": "Main Checking Account",
"purpose": "Business operations",
"tags": [
"primary",
"operations"
]
},
"created": true,
"holdsBalance": true,
"paymentRail": "ETHEREUM",
"lastSentAt": "2024-01-15T10:30:00Z",
"lastReceivedAt": "2024-01-15T10:30:00Z",
"customer": {
"id": "<string>",
"customerName": "<string>",
"organizationId": "<string>",
"type": "INDIVIDUAL",
"status": "DRAFT",
"createdAt": "2026-01-15T10:00:00Z",
"updatedAt": "2026-01-15T10:00:00Z",
"email": "<string>",
"countryCode": "AD",
"imageUrl": "<string>",
"requestedCapabilities": [
"USD_ACH_PAYIN"
],
"capabilities": [
{
"capability": "USD_WIRE_PAYIN",
"status": "READY"
}
],
"customerDetails": {
"firstName": "John",
"lastName": "Smith",
"middleName": "Michael",
"transliteratedFirstName": "Li Ming",
"transliteratedMiddleName": "Wen",
"transliteratedLastName": "Wang",
"dateOfBirth": "1990-01-15",
"nationality": "US",
"taxResidenceCountry": "GB",
"phone": "+14155551234",
"occupation": "151252",
"employmentStatus": "EMPLOYED",
"sourceOfIncome": "SALARY",
"sourceOfFundsDescription": "<string>"
},
"associatedEntities": [
{
"id": "asp_abc123",
"createdAt": "2026-01-15T10:30:00Z",
"updatedAt": "2026-01-15T10:30:00Z",
"entityType": "BUSINESS",
"hasOwnership": true,
"hasControl": true,
"parentEntityId": "asp_parent123",
"details": {
"firstName": "John",
"nickname": "Johnny",
"lastName": "Doe",
"middleName": "Michael",
"dateOfBirth": "1985-03-15",
"taxResidenceCountry": "GB",
"transliteratedFirstName": "<string>",
"transliteratedMiddleName": "<string>",
"transliteratedLastName": "<string>",
"taxIdentificationDocumentType": "UTR"
},
"countryCode": "US",
"email": "contact@acmeholdings.com",
"phone": "+14155551234",
"address": {
"addressLine1": "123 Main Street",
"city": "San Francisco",
"postalCode": "94102",
"country": "US",
"addressLine2": "Apt 4B",
"state": "CA",
"transliterated": {
"addressLine1": "123 Main Street",
"addressLine2": "Apt 4B",
"city": "Beijing",
"state": "Hebei"
}
},
"ownershipPercentage": 51,
"isSigner": false,
"isDirector": false,
"role": "CEO",
"title": "Managing Director",
"documents": [
"doc_abc123"
],
"attestedOwnershipStructureAt": "2026-01-15T10:30:00Z",
"displayName": "Acme Holdings LLC",
"verificationLink": {
"sessionId": "vsess_abc123",
"verificationUrl": "https://verify.infinite.dev/?sessionId=vsess_abc123",
"expiresAt": "2026-01-09T10:30:00Z",
"status": "ACTIVE"
}
}
],
"addresses": [
{
"addressLine1": "123 Main Street",
"city": "San Francisco",
"postalCode": "94102",
"country": "US",
"addressLine2": "Apt 4B",
"state": "CA",
"transliterated": {
"addressLine1": "123 Main Street",
"addressLine2": "Apt 4B",
"city": "Beijing",
"state": "Hebei"
},
"label": "HOME",
"isDefault": true
}
],
"missingRequirements": [
{
"requirementType": "FIELD",
"key": "businessData.taxIdentificationNumber",
"displayName": "Tax Identification Number"
},
{
"requirementType": "DOCUMENT",
"key": "ownership.ownership_structure",
"displayName": "Ownership Information"
}
],
"accounts": [
"<array>"
],
"documents": [
{
"id": "doc_abc123",
"organizationId": "org_xyz789",
"customerId": "cus_abc123",
"documentType": "INVOICE",
"fileName": "invoice-2026-001.pdf",
"contentType": "application/pdf",
"sizeBytes": 1024000,
"status": "UPLOADED",
"createdAt": "2023-11-07T05:31:56Z",
"transferId": "txn_xyz789",
"documentSubtype": "BANK_STATEMENT",
"remarks": "<string>",
"fileHash": "<string>",
"downloadUrl": "<string>",
"uploadedAt": "2023-11-07T05:31:56Z",
"associatedEntityId": "<string>"
}
],
"treasury": {
"customerId": "cus_abc123",
"treasuries": [
{
"id": "trs_abc123",
"balances": {},
"fundingMethods": [
{
"id": "vba_abc123",
"type": "BANK_ACCOUNT",
"provider": "INFINITE",
"currency": "USD",
"currencyCodes": [
"USDC"
],
"rail": "ACH",
"rails": [
"ACH",
"WIRE"
],
"bankName": "Infinite Bank",
"beneficiaryName": "Acme Treasury",
"accountNumber": "1234567890",
"routingNumber": "021000021",
"iban": "GB82WEST12345698765432",
"swiftBic": "CHASUS33",
"address": "0x1234567890abcdef1234567890abcdef12345678",
"addressType": "EVM",
"chains": [
"ETHEREUM",
"BASE"
]
}
],
"wallets": [
{
"accountId": "inw_abc123",
"address": "0x1234567890abcdef1234567890abcdef12345678",
"addressType": "EVM",
"balances": [
{
"currency": "USDC",
"balance": {
"currency": "USD",
"exponent": 2,
"value": "12345",
"displayValue": "123.45"
},
"chain": "ETHEREUM"
}
]
}
],
"name": "Main Treasury",
"provider": "INFINITE"
}
]
},
"verificationSessions": [
{
"id": "vs_abc123",
"status": "COMPLETED",
"createdAt": "2026-01-15T10:30:00Z",
"completedAt": "2026-01-15T11:00:00Z",
"progressPercentage": 100
}
]
},
"sweepTargetAccount": "<unknown>",
"counterparty": {
"id": "cp_abc123",
"name": "Jane Doe",
"beneficiaryType": "INDIVIDUAL",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"address": {
"addressLine1": "123 Main Street",
"city": "San Francisco",
"postalCode": "94102",
"country": "US",
"addressLine2": "Apt 4B",
"state": "CA",
"transliterated": {
"addressLine1": "123 Main Street",
"addressLine2": "Apt 4B",
"city": "Beijing",
"state": "Hebei"
}
}
}
}Create a balance account
Creates a USD account that holds a balance. Use product STANDARD (default) for a fiat hold funded by bank transfer, or YIELD for a reserve-backed hold that can earn configurable yield. Pay out by creating a transfer sourced from this account. Requires the matching customer capability (USD_BALANCE or USD_YIELD). Use the Idempotency-Key header to safely retry on network failure.
# Requires: npm i -g @infinite_dev/cli && export INFINITE_API_KEY=sk_sandbox_...
# Escape hatch for any endpoint: infinite api <METHOD> <path>
infinite api POST /v1/balance-accounts \
--body '<request-json>'Create a balance account.
# Use MCP tool ensure_balance_account for the bound customer when USD_BALANCE is READY.import requests
url = "https://sandbox.api.infinite.dev/v1/balance-accounts"
payload = {
"customerId": "cus_abc123",
"product": "STANDARD",
"externalReference": "550e8400-e29b-41d4-a716-446655440000",
"metadata": { "nickname": "Operating balance" }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
customerId: 'cus_abc123',
product: 'STANDARD',
externalReference: '550e8400-e29b-41d4-a716-446655440000',
metadata: {nickname: 'Operating balance'}
})
};
fetch('https://sandbox.api.infinite.dev/v1/balance-accounts', 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/balance-accounts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'customerId' => 'cus_abc123',
'product' => 'STANDARD',
'externalReference' => '550e8400-e29b-41d4-a716-446655440000',
'metadata' => [
'nickname' => 'Operating balance'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox.api.infinite.dev/v1/balance-accounts"
payload := strings.NewReader("{\n \"customerId\": \"cus_abc123\",\n \"product\": \"STANDARD\",\n \"externalReference\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"metadata\": {\n \"nickname\": \"Operating balance\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sandbox.api.infinite.dev/v1/balance-accounts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"customerId\": \"cus_abc123\",\n \"product\": \"STANDARD\",\n \"externalReference\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"metadata\": {\n \"nickname\": \"Operating balance\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.api.infinite.dev/v1/balance-accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"customerId\": \"cus_abc123\",\n \"product\": \"STANDARD\",\n \"externalReference\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"metadata\": {\n \"nickname\": \"Operating balance\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "vba_1234567890abcdef",
"customerId": "cust_abc123",
"type": "VIRTUAL_BANK",
"status": "ACTIVE",
"createdAt": "2026-01-15T10:00:00Z",
"updatedAt": "2026-01-15T10:00:00Z",
"externalReference": "550e8400-e29b-41d4-a716-446655440000",
"bankDetails": {
"accountNumber": "1234567890",
"routingNumber": "021000021",
"iban": "GB82WEST12345698765432",
"swiftCode": "CHASUS33",
"bankName": "JPMorgan Chase Bank",
"bankCountryCode": "US",
"bankAddress": {
"addressLine1": "270 Park Avenue",
"addressLine2": "Floor 10",
"city": "New York",
"state": "NY",
"postalCode": "10017",
"country": "US"
},
"beneficiaryName": "John Smith",
"beneficiaryPhone": "+14155550123",
"beneficiaryAddress": {
"addressLine1": "123 Main Street",
"addressLine2": "Suite 100",
"city": "New York",
"state": "NY",
"postalCode": "10001",
"country": "US"
},
"supportedNetworks": [
"ACH",
"WIRE"
]
},
"walletDetails": {
"walletAddress": "0x1234567890abcdef1234567890abcdef12345678",
"addressType": "EVM",
"chains": [
"ETHEREUM",
"BASE"
],
"walletType": "TREASURY",
"sweepTargetAccountId": "eba_1234567890abcdef"
},
"currencyCodes": [
"USD",
"USDC"
],
"virtualBankAccount": {
"id": "vba_1234567890abcdef",
"depositInstructions": {
"bankName": "JPMorgan Chase Bank",
"bankAddress": {
"addressLine1": "270 Park Avenue",
"addressLine2": "Floor 10",
"city": "New York",
"state": "NY",
"postalCode": "10017",
"country": "US"
},
"accountNumber": "1234567890",
"routingNumber": "021000021",
"iban": "GB82WEST12345698765432",
"swiftBic": "CHASUS33",
"bankCountryCode": "US",
"beneficiaryName": "John Doe",
"beneficiaryAddress": {
"addressLine1": "270 Park Avenue",
"addressLine2": "Floor 10",
"city": "New York",
"state": "NY",
"postalCode": "10017",
"country": "US"
}
},
"developerFeeFixed": "100000",
"developerFeePercent": 0.01,
"sourceRail": "ACH",
"sourceCurrency": "USD",
"destinationRail": "BASE",
"destinationCurrency": "USDC",
"sweepTargetAccountId": "ewa_1234567890abcdef",
"originCapable": true,
"originAccountId": "vba_1234567890abcdef"
},
"virtualWallet": {
"id": "vw_1234567890abcdef",
"state": "ACTIVE",
"destinationCurrency": "USD",
"destinationRail": "ACH",
"sweepTargetAccountId": "eba_1234567890abcdef",
"originCapable": false,
"originAccountId": "vwa_1234567890abcdef"
},
"proxyDetails": {
"aliasType": "phone",
"aliasValue": "+5511912345678",
"paymentRail": "pix",
"beneficiaryName": "John Smith",
"beneficiaryType": "INDIVIDUAL"
},
"isThirdParty": false,
"counterpartyId": "cp_abc123",
"referenceId": "550e8400-e29b-41d4-a716-446655440000",
"originCapable": true,
"originAccountId": "vba_1234567890abcdef",
"metadata": {
"nickname": "Main Checking Account",
"purpose": "Business operations",
"tags": [
"primary",
"operations"
]
},
"created": true,
"holdsBalance": true,
"paymentRail": "ETHEREUM",
"lastSentAt": "2024-01-15T10:30:00Z",
"lastReceivedAt": "2024-01-15T10:30:00Z",
"customer": {
"id": "<string>",
"customerName": "<string>",
"organizationId": "<string>",
"type": "INDIVIDUAL",
"status": "DRAFT",
"createdAt": "2026-01-15T10:00:00Z",
"updatedAt": "2026-01-15T10:00:00Z",
"email": "<string>",
"countryCode": "AD",
"imageUrl": "<string>",
"requestedCapabilities": [
"USD_ACH_PAYIN"
],
"capabilities": [
{
"capability": "USD_WIRE_PAYIN",
"status": "READY"
}
],
"customerDetails": {
"firstName": "John",
"lastName": "Smith",
"middleName": "Michael",
"transliteratedFirstName": "Li Ming",
"transliteratedMiddleName": "Wen",
"transliteratedLastName": "Wang",
"dateOfBirth": "1990-01-15",
"nationality": "US",
"taxResidenceCountry": "GB",
"phone": "+14155551234",
"occupation": "151252",
"employmentStatus": "EMPLOYED",
"sourceOfIncome": "SALARY",
"sourceOfFundsDescription": "<string>"
},
"associatedEntities": [
{
"id": "asp_abc123",
"createdAt": "2026-01-15T10:30:00Z",
"updatedAt": "2026-01-15T10:30:00Z",
"entityType": "BUSINESS",
"hasOwnership": true,
"hasControl": true,
"parentEntityId": "asp_parent123",
"details": {
"firstName": "John",
"nickname": "Johnny",
"lastName": "Doe",
"middleName": "Michael",
"dateOfBirth": "1985-03-15",
"taxResidenceCountry": "GB",
"transliteratedFirstName": "<string>",
"transliteratedMiddleName": "<string>",
"transliteratedLastName": "<string>",
"taxIdentificationDocumentType": "UTR"
},
"countryCode": "US",
"email": "contact@acmeholdings.com",
"phone": "+14155551234",
"address": {
"addressLine1": "123 Main Street",
"city": "San Francisco",
"postalCode": "94102",
"country": "US",
"addressLine2": "Apt 4B",
"state": "CA",
"transliterated": {
"addressLine1": "123 Main Street",
"addressLine2": "Apt 4B",
"city": "Beijing",
"state": "Hebei"
}
},
"ownershipPercentage": 51,
"isSigner": false,
"isDirector": false,
"role": "CEO",
"title": "Managing Director",
"documents": [
"doc_abc123"
],
"attestedOwnershipStructureAt": "2026-01-15T10:30:00Z",
"displayName": "Acme Holdings LLC",
"verificationLink": {
"sessionId": "vsess_abc123",
"verificationUrl": "https://verify.infinite.dev/?sessionId=vsess_abc123",
"expiresAt": "2026-01-09T10:30:00Z",
"status": "ACTIVE"
}
}
],
"addresses": [
{
"addressLine1": "123 Main Street",
"city": "San Francisco",
"postalCode": "94102",
"country": "US",
"addressLine2": "Apt 4B",
"state": "CA",
"transliterated": {
"addressLine1": "123 Main Street",
"addressLine2": "Apt 4B",
"city": "Beijing",
"state": "Hebei"
},
"label": "HOME",
"isDefault": true
}
],
"missingRequirements": [
{
"requirementType": "FIELD",
"key": "businessData.taxIdentificationNumber",
"displayName": "Tax Identification Number"
},
{
"requirementType": "DOCUMENT",
"key": "ownership.ownership_structure",
"displayName": "Ownership Information"
}
],
"accounts": [
"<array>"
],
"documents": [
{
"id": "doc_abc123",
"organizationId": "org_xyz789",
"customerId": "cus_abc123",
"documentType": "INVOICE",
"fileName": "invoice-2026-001.pdf",
"contentType": "application/pdf",
"sizeBytes": 1024000,
"status": "UPLOADED",
"createdAt": "2023-11-07T05:31:56Z",
"transferId": "txn_xyz789",
"documentSubtype": "BANK_STATEMENT",
"remarks": "<string>",
"fileHash": "<string>",
"downloadUrl": "<string>",
"uploadedAt": "2023-11-07T05:31:56Z",
"associatedEntityId": "<string>"
}
],
"treasury": {
"customerId": "cus_abc123",
"treasuries": [
{
"id": "trs_abc123",
"balances": {},
"fundingMethods": [
{
"id": "vba_abc123",
"type": "BANK_ACCOUNT",
"provider": "INFINITE",
"currency": "USD",
"currencyCodes": [
"USDC"
],
"rail": "ACH",
"rails": [
"ACH",
"WIRE"
],
"bankName": "Infinite Bank",
"beneficiaryName": "Acme Treasury",
"accountNumber": "1234567890",
"routingNumber": "021000021",
"iban": "GB82WEST12345698765432",
"swiftBic": "CHASUS33",
"address": "0x1234567890abcdef1234567890abcdef12345678",
"addressType": "EVM",
"chains": [
"ETHEREUM",
"BASE"
]
}
],
"wallets": [
{
"accountId": "inw_abc123",
"address": "0x1234567890abcdef1234567890abcdef12345678",
"addressType": "EVM",
"balances": [
{
"currency": "USDC",
"balance": {
"currency": "USD",
"exponent": 2,
"value": "12345",
"displayValue": "123.45"
},
"chain": "ETHEREUM"
}
]
}
],
"name": "Main Treasury",
"provider": "INFINITE"
}
]
},
"verificationSessions": [
{
"id": "vs_abc123",
"status": "COMPLETED",
"createdAt": "2026-01-15T10:30:00Z",
"completedAt": "2026-01-15T11:00:00Z",
"progressPercentage": 100
}
]
},
"sweepTargetAccount": "<unknown>",
"counterparty": {
"id": "cp_abc123",
"name": "Jane Doe",
"beneficiaryType": "INDIVIDUAL",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"address": {
"addressLine1": "123 Main Street",
"city": "San Francisco",
"postalCode": "94102",
"country": "US",
"addressLine2": "Apt 4B",
"state": "CA",
"transliterated": {
"addressLine1": "123 Main Street",
"addressLine2": "Apt 4B",
"city": "Beijing",
"state": "Hebei"
}
}
}
}Authorizations
API Key in Bearer format (e.g., Bearer sk_test_...)
Headers
API key
Optional idempotency key. When supplied, a retry with the same key replays the original response (24h TTL) instead of being rejected as a duplicate.
Body
Customer ID
"cus_abc123"
Balance product. STANDARD holds fiat USD. YIELD holds a reserve-backed token that can earn configurable yield. Defaults to STANDARD.
STANDARD, YIELD "STANDARD"
Client-provided external reference
"550e8400-e29b-41d4-a716-446655440000"
Additional metadata
Show child attributes
Show child attributes
{ "nickname": "Operating balance" }
Response
Balance account created successfully
Account ID (vba_xxx for virtual bank, vwa_xxx for virtual wallet, inb_xxx for infinite bank, inw_xxx for infinite wallet, eba_xxx for external bank, ewa_xxx for external wallet, pba_xxx for provider balance)
"vba_1234567890abcdef"
Customer ID
"cust_abc123"
Account type
VIRTUAL_BANK, VIRTUAL_WALLET, INFINITE_BANK, INFINITE_WALLET, EXTERNAL_BANK, EXTERNAL_WALLET, EXTERNAL_PROXY, PROVIDER_BALANCE "VIRTUAL_BANK"
Account status
IN_REVIEW, ACTIVE, CLOSED "ACTIVE"
Account creation date
"2026-01-15T10:00:00Z"
Account last update date
"2026-01-15T10:00:00Z"
Client-provided external reference for mapping to your system
"550e8400-e29b-41d4-a716-446655440000"
Bank account details (for bank accounts)
Show child attributes
Show child attributes
Wallet details (for wallet accounts)
Show child attributes
Show child attributes
Currency codes supported by this account
["USD", "USDC"]
Virtual bank account details
Show child attributes
Show child attributes
Virtual wallet details (also known as liquidation addresses)
Show child attributes
Show child attributes
Proxy account details (for proxy/alias-based accounts like PIX, UPI, PromptPay)
Show child attributes
Show child attributes
Is this account owned by a third party?
false
Counterparty ID when this is a third-party recipient account
"cp_abc123"
Client-provided reference ID
"550e8400-e29b-41d4-a716-446655440000"
Whether this account can be used as the canonical transfer origin.
true
Canonical origin account ID when this account is a virtual alias.
"vba_1234567890abcdef"
Additional metadata
Show child attributes
Show child attributes
Whether this account was newly created in this request. Returns false if an existing account was returned (idempotent behavior).
true
Present and true when this is a balance account (USD or stablecoin). Deposits credit the account instead of being swept, and the balance can fund transfers. See GET /v1/accounts/{id}/balance.
true
Payment rail for provider balance accounts (e.g. ETHEREUM). Omitted for other account types.
"ETHEREUM"
Timestamp of the last transfer sent from this account
"2024-01-15T10:30:00Z"
Timestamp of the last transfer received to this account
"2024-01-15T10:30:00Z"
Expanded customer details (only included when expand=customer)
Show child attributes
Show child attributes
Expanded sweep target account details (only included when expand=sweepTargetAccount). For virtual bank accounts and virtual wallets that sweep to an external account.
Expanded counterparty details (only included when expand=counterparty)
Show child attributes
Show child attributes
Was this page helpful?