Skip to main content

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.
USD is the principal balance: payouts, fiat payins and service fees use USD unless the account configures otherwise. An empty asset setting normalizes to USD.

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/settlement with {"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_asset in POST /v1/payouts (or in the QR confirm) to pay that single operation from another balance without touching the default.
Multi-asset settlement rules: 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 to available.

FX conversion (fiat ↔ USDT, quoted)

Fiat operations are quoted in USDT at your account’s rates at execution time (the same ones returned by GET /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:
Example — a 50,000 CLP payin at a 955.10 payin_rate:
The rate used is recorded on the object (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=):
Every list endpoint (/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.
Last modified on October 4, 2026