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".