Skip to main content
Las transferencias internas mueven saldo entre dos cuentas CBPay, de forma atómica en el ledger y siempre sin comisión — el dinero nunca sale del ecosistema. Funcionan con las cuatro monedas (USDT, USDC, BTC, GOLD) y siempre entre saldos de la misma moneda: el asset que envías es el asset que recibe el destino, sin conversión. Funcionan entre cualquier combinación de cuentas:

Crear una transferencia

El destino se identifica por to_account_id, to_email, to_phone (teléfono verificado) o to_contact_id (un contacto de tu libreta):
La forma del request es idéntica en todas las combinaciones (persona o empresa, en cualquier dirección) — cambia solo la credencial que llama. asset es opcional y por defecto USDT; acepta USDT, USDC, BTC o GOLD y el destino recibe en esa misma moneda. Respuesta 201 — la transferencia es síncrona e inmediata:
Replay con la misma idempotency_key200 con la transferencia original:
El receptor puede enterarse por el webhook transfer_received y ambos ven el movimiento en su historial (transfer_out / transfer_in).
Cada transferencia guarda al destinatario como contacto automáticamente (envía "save_contact": false para no guardarlo). Por seguridad, to_phone solo resuelve cuentas con el teléfono verificado por OTP; si más de una cuenta comparte el número responde 422 recipient_ambiguous.

Consultar transferencias

Lista las transferencias de tu cuenta (enviadas y recibidas), con paginación y filtros de fecha:
O una en particular por su ID (solo visible para las dos partes):
Cada fila trae direction (sent o received) desde tu perspectiva.

Reglas

  • Solo entre cuentas CBPay activas; las cuentas internas del sistema no pueden recibir.
  • Siempre misma moneda en origen y destino: no hay conversión entre saldos (USDTUSDT, GOLDGOLD, …).
  • No puedes transferirte a ti mismo (400 self_transfer).
  • Requiere idempotency_key (body o header Idempotency-Key); el replay devuelve 200 con idempotency_hit: true.
  • amount acepta hasta los decimales de la moneda: 6 para USDT/USDC/ GOLD, 8 para BTC.

Errores

FAQ

No — las transferencias entre cuentas de tu organización son gratis e instantáneas.
No — ambos lados mueven el mismo asset (USDT a USDT, USDC a USDC…). Para cambiar de asset, convierte primero con Swaps.
No — las transferencias son instantáneas e irreversibles. Si enviaste a la cuenta equivocada, coordina la devolución con la contraparte.
to_phone solo resuelve números verificados de tu organización. Un número sin verificar o desconocido responde 404; si más de una cuenta calza recibes recipient_ambiguous (422) — usa to_alias o el ID de cuenta.
Destinatarios alternativos: el alias inmutable de la cuenta y el token de su QR de perfil (GET /v1/me/qr). Todos resuelven solo dentro de tu organización.
Liquida un link de cobro por transferencia interna: el destino se fuerza a la cuenta del link y el monto debe cubrir el due cotizado (si no, checkout_amount_mismatch, 422).
Última modificación el 25 de julio de 2026