Cada depósito acredita el saldo de su propio activo (una wallet USDC
abona tu saldo USDC; la wallet Bitcoin abona tu saldo BTC).
GOLD es el
único saldo sin riel on-chain: se mueve solo por transferencias internas y
abonos del operador.
Tu cuenta nace con sus wallets
Toda cuenta — persona y empresa — se crea con una wallet de depósito por cada combinación soportada (tron/usdt, eth/usdt, eth/usdc y
btc/btc), sin costo y de forma automática: apenas te registras ya
tienes tus cuatro direcciones listas para recibir fondos.
La provisión corre en segundo plano al crear la cuenta: si consultas en el
mismo segundo del registro puede faltar alguna dirección — reintenta a los
pocos segundos.
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.¿Puedo crear más wallets de depósito?
No. Toda cuenta — persona y empresa — tiene exactamente una wallet de depósito por combinación red+activo, y nacen todas con la cuenta.POST /v1/crypto/wallets existe solo para reponer un par que falte (caso
excepcional): con las cuatro wallets ya provisionadas responde
422 wallet_limit_reached.
422:
- Las wallets de nacimiento son siempre gratis; el fee
wallet_creationsolo aplicaría a una reposición manual (con comisión 0, el default, es gratis; si la creación falla, el cargo se reembolsa automáticamente). - ¿Necesitas varias wallets con saldo propio (por cliente, por proyecto, por unidad de negocio)? Ese es el producto wallets segregadas: empresas sin límite, personas 1 por combinación red+activo.
Ver mis wallets
Las direcciones Bitcoin son bech32 nativas (
bc1q…): cualquier wallet
o exchange moderno puede enviarles fondos. Los montos BTC usan 8 decimales
("0.00050000").Depositar
Envía el activo de la wallet a su dirección, por la red correcta. Cuando el depósito se confirma on-chain, el saldo de ese activo se acredita automáticamente (neto de la comisión defunding si CBPay la configuró) y
se emite el webhook crypto_deposit_credited:
Tiempos de confirmación
El abono siempre llega con el webhook y el
tx_id para verificarlo en el
explorador de la red.
Transferir (retiros on-chain)
Envía USDT, USDC o BTC desde su saldo a cualquier dirección externa (asset opcional: default USDT en tron/eth y BTC en btc; USDC
solo por eth):
En Bitcoin el destino puede ser una dirección bech32 (
bc1q…), taproot
(bc1p…) o legacy (1… / 3…). El fee de red de Bitcoin lo cubre la
propia operación — recibes el estado final por webhook como en cualquier
otro retiro.202 — se debita amount + fee y la transacción se transmite:
Cada retiro guarda la dirección como contacto
automáticamente — nómbralo con
"contact_name" en el body, o desactívalo
con "save_contact": false. Para repetir un envío, usa
"to_contact_id" en vez de to_address (se usa la dirección guardada del
contacto para esa chain).crypto_withdrawal_status_changed:
completed (el tx_id es tu comprobante) o failed (se reembolsa
el débito completo).
También puedes consultar el retiro en cualquier momento:
Para mover saldo a otra cuenta CBPay no uses la blockchain: las
transferencias internas son instantáneas y
gratis.
Travel Rule (retiros sobre el umbral)
Por regulación internacional (FATF R.16, “Travel Rule”), los retiros on-chain desde 1.000 USD exigen declarar quién recibe los fondos antes de mover el dinero. Bajo el umbral nada cambia. Hay dos caminos:- Wallet propia (self-hosted)
- Otra institución (travel address)
Si el destino es una wallet del propio titular (no un exchange), declara
La respuesta incluye
wallet_type y el nombre del beneficiario:"travel_rule_status": "self_hosted_attested".Movimientos
Errores
FAQ
¿Tengo que crear las wallets de depósito?
¿Tengo que crear las wallets de depósito?
No. Toda cuenta nace con sus wallets de depósito para todos los pares
soportados (
tron:usdt, eth:usdt, eth:usdc, btc:btc), sin costo. El
endpoint de creación solo auto-repara un par faltante — una segunda wallet
del mismo par responde wallet_limit_reached (422).¿Cuándo se acredita un depósito a mi saldo?
¿Cuándo se acredita un depósito a mi saldo?
La detección es casi en tiempo real (
pending); el crédito ocurre cuando la
red alcanza las confirmaciones requeridas de esa chain. Síguelo con
GET /v1/crypto/transactions o los webhooks de crypto_deposit.¿Qué pasa si mi retiro falla?
¿Qué pasa si mi retiro falla?
El monto debitado (incluida la comisión) se reembolsa a tu saldo
automáticamente. Reintenta con la misma
idempotency_key — la
plataforma jamás re-transmite por su cuenta.¿Por qué mi retiro pide datos del beneficiario?
¿Por qué mi retiro pide datos del beneficiario?
Los retiros sobre el umbral USD de Travel Rule de tu organización exigen
wallet_type: self_hosted más beneficiary_name, o una travel_address
(los errores 422 travel_rule_* te guían campo a campo).¿Puedo retirar GOLD on-chain?
¿Puedo retirar GOLD on-chain?
No — GOLD es un saldo solo de ledger sin riel on-chain. Conviértelo primero
con Swaps a un asset retirable.
¿Por qué mi retiro se bloqueó con compliance_hold?
¿Por qué mi retiro se bloqueó con compliance_hold?
La dirección de destino no pasó el screening de compliance. La operación
queda registrada como fallida y tus fondos se reembolsan; contacta a tu
equipo CBPay si crees que es un falso positivo.