Saltar al contenido principal
Las wallets segregadas son wallets on-chain propias de tu cuenta: su saldo es el saldo on-chain de la dirección, no un saldo virtual en el ledger de CBPay. Puedes recibir y enviar crypto directamente desde cada wallet, importar wallets externas con su llave privada y exportar la llave cuando quieras (custodia compartida). Son ideales para segregar fondos por cliente, por proyecto o por unidad de negocio, con control total de las llaves.
Disponibles para personas y empresas, con límites distintos: las empresas pueden crear wallets segregadas ilimitadas; las personas pueden tener 1 por combinación red+activo (la segunda responde 422 wallet_limit_reached).
No las confundas con el producto crypto: ahí los depósitos acreditan tu saldo USDT/USDC del ledger y los retiros salen de una hot wallet. En las wallets segregadas el saldo vive on-chain en la wallet y los envíos salen de esa misma wallet. El gas (TRX en TRON, ETH en Ethereum) corre por tu cuenta: cada wallet debe tener gas para poder enviar. En Bitcoin no hay gas: el fee de red se descuenta del saldo BTC de la wallet.
Dos productos, dos rutas: las wallets de depósito viven en /v1/crypto/wallets y las segregadas en /v1/segregated-wallets. Toda respuesta de wallet trae el discriminador type (deposit / segregated) para distinguirlas siempre.

Pares soportados

El eth nativo puede enviarse desde cualquier wallet de una chain eth (es el gas de la red). En Bitcoin no existe gas separado: el fee de red se descuenta del saldo de la wallet en cada envío.

1. Crea una wallet

Respuesta 201:
El campo custody refleja el régimen de custodia de la llave: Con custodia client la plataforma sincroniza la actividad on-chain completa de la wallet — incluidos los movimientos firmados por fuera — y los marca como externos, para que tu registro y tu cartola sigan completos. Con custodia cbpay la contabilidad de la wallet es garantizada: la cartola muestra su cuadratura de vida completa (lifetime_inlifetime_out = computed_balance) y el detalle de cada envío (GET /v1/segregated-wallets/{walletID}/sends/{sendID}) incluye funding_sources: la atribución FIFO de qué depósitos fondearon ese envío, con tx_id, dirección de origen y monto por tramo. La Idempotency-Key (o idempotency_key en el body) hace el reintento seguro: una repetición devuelve la MISMA wallet con idempotency_hit: true y jamás crea una segunda. Crear una wallet puede cobrar el fee wallet_creation (fijo; 0 = gratis, el default).

2. Importa una wallet externa

Trae una wallet que ya controlas entregando su llave privada. La llave viaja cifrada en tránsito hacia el custodio y jamás se guarda ni se registra en la plataforma.
Respuesta 201 con el mismo shape que crear (origin: "imported"). Cobra el fee wallet_import.
Importar y exportar manejan material de llave privada: exigen una sesión de usuario con 2FA (no se permiten API keys) y OTP. Si el par chain/dirección ya existe, el core responde core_rejected.

3. Consulta saldo, depósitos y transacciones

El balance viene en vivo de la blockchain e incluye el gas de la red (así ves si a la wallet le falta TRX/ETH para enviar).
Cuando llega un depósito confirmado, CBPay emite el webhook wallet_deposit_receivedsin tocar tu ledger, porque el saldo ya está en la wallet.

4. Envía crypto desde la wallet

El envío sale de la wallet misma (dirección de origen real), firmado por el custodio. idempotency_key es obligatoria.
Respuesta 202 (el envío es asíncrono; el estado final llega por webhook):
Antes de enviar, CBPay verifica que la wallet tenga gas suficiente (solo TRON y Ethereum; Bitcoin salta este check porque el fee sale del monto); si no, responde 422 insufficient_gas con el mínimo requerido — sin cobrar nada. El envío puede cobrar el fee wallet_send (del saldo de settlement de tu cuenta en el ledger; la plata on-chain de la wallet no se toca), que se reembolsa si el envío es rechazado por el custodio. Replay con la misma idempotency_key200 con el envío original y idempotency_hit: truejamás se re-envía. Ante una falla ambigua (timeout/red) el envío queda pending: reintenta con la misma clave; el dedupe garantiza que no se duplique. Consulta el historial:

5. Exporta la llave privada

Recupera la llave privada de la wallet. Es custodia compartida: tras exportar, la wallet sigue 100% operativa en CBPay (puede recibir y enviar), pero tú también controlas los fondos con la llave.
Respuesta 200:
Es la operación más sensible del producto. Exige sesión de usuario con 2FA (no API keys), cuenta verificada, y un reason de al menos 20 caracteres que queda en la auditoría. Cada export dispara el webhook wallet_key_exported a tu organización. Cobra el fee wallet_export. Quien tenga la llave privada controla los fondos: guárdala de forma segura.

6. Auto-forward (reenvío automático)

Reenvía automáticamente a una dirección tuya todo lo que llegue a la wallet (útil para consolidar en frío). Como redirige fondos futuros, exige verificación y OTP.

Estados de un envío

Errores propios

Webhooks asociados

Los payloads de ejemplo están en la página de webhooks.

Preguntas frecuentes

En el producto crypto, los depósitos acreditan tu saldo virtual USDT/USDC del ledger y los retiros salen de una hot wallet — CBPay custodia y consolida los fondos. En las wallets segregadas el saldo vive on-chain en cada wallet, los envíos salen de esa misma dirección, y puedes exportar la llave. Nada de su saldo pasa por el ledger ni se consolida a tesorería.
Enviar on-chain requiere gas EN la wallet (TRX en TRON, ETH en Ethereum). A diferencia del producto crypto, aquí el gas corre por tu cuenta. Fondea la dirección de la wallet con un poco de la moneda nativa y reintenta. El GET .../balance te muestra el gas disponible y el mínimo requerido.
No. Es custodia compartida: la wallet sigue operativa en CBPay (recibe y envía normalmente) y queda marcada exported. Simplemente ahora tú también tienes la llave, así que resguárdala bien.
Nunca. Estas wallets se crean exentas del barrido de tesorería: su saldo on-chain es exclusivamente tuyo. Solo se mueve cuando tú envías o cuando configuras auto-forward.
Las cuentas empresa no tienen límite: es lo típico para segregar por cliente, proyecto o unidad de negocio, usando label para distinguirlas. Las cuentas persona pueden tener 1 wallet segregada por combinación red+activo (una segunda responde 422 wallet_limit_reached).
Última modificación el 16 de julio de 2026