Qué es una wallet
Una wallet es el saldo que tu business mantiene en una moneda específica. Las operaciones de la API siempre acreditan o debitan la wallet correspondiente — nunca “cuenta global”.Wallets fiat
Una por cada moneda local soportada (USD, CLP, COP, MXN, EUR, etc.). Se usan para payins locales y para liquidar payouts bancarios.
Wallets cripto
USDT, USDC y otras activadas en tu cuenta. Se usan para payouts crypto on-chain y para exchanges.
Para listar wallets activas y sus saldos usa
GET /api/businesses/wallets/{uuid} (ver User Information).Cómo entra y sale el dinero
1
Entrada: Payins
Cuando un cliente paga un
Payment Order, el monto se acredita en la wallet de la moneda de destino que definiste (currency_destiny). Si el pago fue en pesos pero destino es USD, Vita hace la conversión al tipo de cambio del momento del pago.2
Movimiento interno: Exchange
POST /api/businesses/transactions con transactions_type: exchange mueve fondos de una wallet a otra dentro de tu cuenta. Es la única forma de pasar entre monedas sin salir del sistema.3
Salida: Payouts
Todo payout debita la wallet de origen antes de rutear al destino. Si no hay saldo suficiente, la operación se rechaza antes de llegar al rail bancario o blockchain.
Principios operativos
Saldo disponible vs saldo total
Saldo disponible vs saldo total
El endpoint de balance devuelve el saldo disponible para operar. Montos retenidos por operaciones en curso (payouts
started o pending) ya están descontados — no vuelvas a reservarlos del lado tuyo.No hay 'cuenta global'
No hay 'cuenta global'
No existe un balance consolidado automático en una moneda base. Si necesitas una vista en USD de todas tus wallets, consulta
GET /api/businesses/prices para obtener la tasa vigente y agrega del lado de tu backend.Precios con expiración
Precios con expiración
GET /api/businesses/prices y GET /api/businesses/crypto_prices devuelven un campo valid_until. Después de ese timestamp, la tasa no es válida para crear exchanges — vuelve a consultar.Toda operación es una Transaction
Toda operación es una Transaction
Payouts, exchanges y transferencias internas se crean contra el mismo endpoint
POST /api/businesses/transactions. El campo transactions_type decide qué tipo es. Para el ledger, todas aparecen en GET /api/businesses/transactions y /get_all_transactions.Antes de operar
Siempre que vayas a crear un payout o un exchange:1
Consulta precios
Usa el endpoint de prices adecuado y guarda el
valid_until.2
Verifica saldo de la wallet de origen
GET /api/businesses/wallets/{uuid} — asegura que el saldo cubra el monto + fee + spread.3
Genera un identificador propio (order)
Único por operación en tu sistema. Habilita idempotencia — ver Idempotencia y reintentos.
4
Crea la transacción
POST /api/businesses/transactions con los campos específicos del tipo.