Diez saldos virtuales independientes
Cada cuenta mantiene diez saldos virtuales, uno por asset:
Son totalmente independientes entre sí: nunca se mezclan ni se convierten
automáticamente. (
BANK_USD y BANK_EUR son saldos espejo de banking
separados — ver Banking.)
GET /v1/balances devuelve siempre los diez (con ceros si no has operado
ese asset), como strings decimales:
Internamente cada monto se almacena como entero en la unidad mínima de su
asset (centavos, micro-USDT, satoshis, micro-gramos) y se calcula con
aritmética racional exacta. Nunca hay floats ni errores de redondeo
acumulados.
Elige desde qué saldo pagas
Los payouts y las comisiones de servicios (KYC, creación de wallets, banking) pueden debitarse desde cualquiera de tus diez saldos. El pipeline de pricing no cambia: la operación se cotiza en USDT como siempre, y al final el total se traduce al asset elegido con el precio efectivo de settlement del momento.- Predeterminado por cuenta:
PUT /v1/settlementcon{"default_settlement_asset": "BTC"}. Desde ahí, todo payout y toda comisión de servicio sale del saldo BTC (si alcanza; no hay cascadas a otros saldos). - Override por operación: envía
settlement_assetenPOST /v1/payouts(o en el confirm de QR) para pagar esa operación puntual desde otro saldo, sin tocar el predeterminado.
El bloque
settlement de GET /v1/rates muestra el precio efectivo por
asset (spread incluido) para estimar antes de operar, y la respuesta del
payout registra settlement_asset, settlement_amount y
settlement_rate para auditoría.
Elige en qué saldo se acreditan tus payins
En una cuenta nueva, los payins (QR, transferencia, collect y tarjeta) acreditan directamente al saldo USD en centavos. Una cuenta existente con USDT explícito conserva USDT. Si configuras otrodefault_payin_asset, el neto
sigue el flujo de conversión posterior al crédito al precio real, sin
spread adicional; el payin ya pagó su comisión y su tasa. Aplican los
mismos límites de un swap normal.
available y held
Cada saldo tiene sus dos contadores:
Cuando creas un payout o retiro, el débito (
monto + comisión) sale de
available y queda en held hasta que la operación llega a estado final:
completed→ el hold se consume; el dinero salió.failed→ se reembolsa el débito completo (monto + comisión) aavailable.
Conversión FX (fiat ↔ USDT, cotizada)
Las operaciones fiat se cotizan en USDT con las tasas de tu cuenta al momento de ejecutar (las mismas que devuelveGET /v1/rates, base USD):
rate para payouts y payin_rate para payins. La conversión redondea
hacia arriba en los débitos y hacia abajo en los abonos, con una
diferencia máxima de 1 micro-USDT. El total cotizado luego se debita (o se
acredita) en el asset de settlement — las cuentas con principal USD
liquidan 1:1 en centavos USD.
Ejemplo de un payout de 50.000 CLP con tasa 950.25:
payin_rate 955.10:
fx_rate) para auditoría.
Precios de referencia y de settlement
GET /v1/rates incluye un bloque asset_prices con el precio USD de
referencia de USD, USDT, USDC, BTC y los metales (BTC por unidad; GOLD, SILVER y PLATINUM por
gramo; USD, USDT y USDC valen 1 por convención), para valorizar tus saldos
en pantalla, y un bloque settlement con el precio efectivo al que se
valoraría tu saldo si pagas una operación desde ese asset (spread incluido):
settlement_grade: true indica que el precio está lo bastante fresco para
ejecutar operaciones; si baja a false, los pagos desde ese asset
responden 503 pricing_unavailable hasta que el precio vuelva.
Ledger inmutable
Cada movimiento genera una entrada inmutable con saldo resultante (balance_after) en la moneda del movimiento. Tu historial completo
está en GET /v1/movements (filtra por moneda con ?asset=):
/v1/movements, /v1/payouts, /v1/payins,
/v1/crypto/transactions, /v1/banking/operations) aceptan paginación
(page, page_size hasta 200) y filtros de fecha from/to
(YYYY-MM-DD, zona horaria de la organización, inclusive).
Estados de operación
Payouts y retiros crypto siguen el mismo ciclo: Los estados finales (completed/failed) llegan por
webhook; no es necesario hacer polling.
Saldos de metales respaldados por custodio
GOLD, SILVER y PLATINUM son saldos ledger-only respaldados por
custodio y medidos en gramos finos con seis decimales. Settlement y swaps
usan un oráculo de precios y la conversión fija de 31.1034768 gramos por
onza troy; esto no implica un riel on-chain de depósito, retiro o gasto de
metales.