Ten independent virtual balances
Every account holds ten virtual balances, one per asset:
They are fully independent: they never mix and are never converted
automatically. (
BANK_USD and BANK_EUR are separate banking mirror
balances — see Banking.)
GET /v1/balances always returns all ten (zeros if you have not used that
asset yet), as decimal strings:
Internally each amount is stored as an integer in its asset’s minimal
unit (cents, micro-USDT, satoshis, micro-grams) and computed with exact
rational arithmetic. There are no floats and no accumulated rounding
errors.
Choose which balance pays
Payouts and service fees (KYC, wallet creation, banking) can be debited from any of your ten balances. The pricing pipeline does not change: the operation is quoted in USDT as always, and at the end the total translates to the chosen asset at the effective settlement price of the moment.- Per-account default:
PUT /v1/settlementwith{"default_settlement_asset": "BTC"}. From then on, every payout and service fee comes out of the BTC balance (if it covers the amount; there are no cascades into other balances). - Per-operation override: send
settlement_assetinPOST /v1/payouts(or in the QR confirm) to pay that single operation from another balance without touching the default.
The
settlement block of GET /v1/rates shows the effective per-asset
price (spread included) so you can estimate before operating, and the
payout response records settlement_asset, settlement_amount and
settlement_rate for auditability.
Choose which balance receives your payins
Payins (QR, bank transfer, collect, and card) credit the USD balance directly in cents. If you configure another payin asset, the net amount follows the post-credit conversion flow at the real price, with no extra swap spread; the payin already paid its fee and rate. The same limits as a regular swap apply.available and held
Each balance has its own two counters:
When you create a payout or withdrawal, the debit (
amount + fee) leaves
available and sits in held until the operation reaches a final state:
completed→ the hold is consumed; the money left.failed→ the full debit (amount + fee) is refunded toavailable.
FX conversion (fiat ↔ USDT, quoted)
Fiat operations are quoted in USDT at your account’s rates at execution time (the same ones returned byGET /v1/rates, USD base): rate for
payouts and payin_rate for payins. Conversion rounds up on debits and
down on credits, with at most 1 micro-USDT of difference. The quoted
total then debits (or credits) in the settlement asset — USD-principal
accounts settle 1:1 in USD cents.
Example — a 50,000 CLP payout at a 950.25 rate:
payin_rate:
fx_rate) for auditability.
Reference and settlement prices
GET /v1/rates includes an asset_prices block with the USD reference
price of USD, USDT, USDC, BTC and the metals (BTC per unit; GOLD, SILVER and PLATINUM per gram;
USD, USDT and USDC are 1 by convention) to value your balances on screen,
plus a settlement block with the effective price your balance would
be valued at if you pay an operation from that asset (spread included):
settlement_grade: true means the price is fresh enough to execute
operations; if it drops to false, payments from that asset answer
503 pricing_unavailable until the price recovers.
Immutable ledger
Every movement produces an immutable entry with the resulting balance (balance_after) in the movement’s currency. Your full history lives
at GET /v1/movements (filter by currency with ?asset=):
/v1/movements, /v1/payouts, /v1/payins,
/v1/crypto/transactions, /v1/banking/operations) accepts pagination
(page, page_size up to 200) and from/to date filters
(YYYY-MM-DD, organization timezone, inclusive).
Operation states
Payouts and crypto withdrawals follow the same lifecycle: Final states (completed/failed) arrive via webhook; no
polling required.
Custody-backed metal balances
GOLD, SILVER and PLATINUM are ledger-only, custodian-backed balances
measured in fine grams with six decimal places. Settlement and swaps use a
price oracle and the fixed 31.1034768 grams-per-troy-ounce conversion; no
on-chain metal deposit, withdrawal or spending rail is implied.