Billetera y custodia
Cómo funcionan hoy la wallet, el escrow P2P y el cobro cripto del comercio. Última actualización: 19 de septiembre de 2026
Última actualización: 19 de septiembre de 2026
Esta página describe la custodia tal como está implementada hoy — wallet, intercambio entre pares (P2P) de USDC y cobro cripto en caja. Forma parte de los Términos de Uso. Las comprobaciones de identidad están en AML, KYC y verificación.
Está escrita a partir del producto y los contratos actuales, no de una hoja de ruta. Donde algo sigue en cierre operativo, esta página lo dice.
Qué está en vivo y qué se está cerrando
| Pieza | Estado hoy |
|---|---|
| Wallet personal: recibir y enviar USDC en Base | En vivo |
| Smart wallet de Privy al entrar (Google, Apple o correo) | En vivo |
| Sesión opcional WalletConnect / EOA externa | En vivo |
| Anuncios y órdenes P2P (USDC ↔ DOP, EUR, USD, CHF) | En vivo |
| Escrow on-chain de USDC por cada trade en Base | En vivo |
| Chat del trade y mesa de disputas | En vivo |
| POS: el cliente paga USDC a la wallet del dueño | En vivo |
| Solicitud de retiro bancario desde la wallet de negocio | En vivo como solicitud. Nodo es la contraparte. La ejecución del pago es manual / se está cerrando — no es un off-ramp automático. |
| Frase semilla o exportación de clave privada | No se ofrece |
| Envíos a otro usuario de Nodo por @alias | No está en vivo |
| On-ramp fiat automático o off-ramp de un socio | No está en vivo |
1. La wallet no es una cuenta de depósito de Nodo
Al entrar a Nodo se puede crear una smart wallet en Base a través de Privy. También puedes conectar una wallet externa (WalletConnect) en una sesión aparte.
- Nodo no guarda tus claves privadas y no opera un saldo mancomunado de cripto de usuarios.
- Nodo no inicia transferencias on-chain por ti. Tú (o tu proveedor de wallet) firmas envíos, bloqueos de escrow, liberaciones, cancelaciones y disputas.
- Las claves viven en tu cuenta con Privy. Eso no es una frase semilla que exportes desde Nodo, y no es custodia de las monedas por Nodo.
- La wallet es USDC en Base. Otro token u otra red enviados a esa dirección no aparecen como saldo soportado.
El backend de Nodo guarda la dirección vinculada, indexa actividad de USDC (y USDT) en Base para el historial, y verifica las transacciones de pago que le piden confirmar. Eso es contabilidad sobre una cadena pública, no tomar los fondos.
Las etiquetas Personal y Negocio en la wallet son un interruptor de la app. El cobro cripto del POS sigue yendo a la dirección vinculada del dueño. No hay una “bóveda de comercio” on-chain operada por Nodo.
2. P2P: no custodial, por trade, escrow on-chain
El P2P está en vivo. Es un mercado para comprar y vender USDC en Base contra rieles bancarios o de remesa en moneda local (DOP, EUR, USD, CHF).
Qué no retiene Nodo
En un trade normal, Nodo no mete el USDC en una wallet de la empresa. El vendedor bloquea el monto completo en un contrato de escrow creado solo para ese trade (un clon inmutable EIP-1167 de la factory de Nodo en Base). Al cerrar, el contrato paga al comprador (menos la comisión) o devuelve el USDC al vendedor.
Esa es la postura regulatoria del producto: Nodo hace match, hospeda el chat y registra el estado. La pierna cripto es on-chain. Nodo no tiene el pozo.
Qué es el escrow de verdad
El escrow es por roles y totalmente on-chain para el USDC. No es una wallet multisig. En cada clon hay tres roles:
| Rol | Quién | Qué puede hacer |
|---|---|---|
| Vendedor | Quien bloquea el USDC | Crear el escrow, liberar al comprador o cancelar antes de que el comprador marque pagado |
| Comprador | Quien paga el fiat fuera de la cadena | Marcar pagado, disputar, o forzar disputa después de la ventana de liberación |
| Árbitro | Una dirección designada de Nodo | resolve solo con la disputa abierta — enviar el pozo al comprador o devolverlo al vendedor |
Los servidores de Nodo no firman esas transacciones y no guardan la clave del árbitro en la API. Los usuarios firman con su wallet. Si se abre una disputa, un árbitro de Nodo revisa el caso y envía un resolve ya firmado; hasta entonces el USDC sigue en el contrato de ese trade.
La configuración de la factory (comisión, ventanas, pausa) la controla un Gnosis Safe. El Safe no puede barrer escrows abiertos. Cada pozo abierto se queda en su propio clon inmutable.
On-chain frente a off-chain
| Pierna | Dónde ocurre |
|---|---|
| Bloqueo de USDC, atestación de pagado, liberación, cancelación, disputa, resolve | On-chain, Base, USDC |
| Pago bancario o de remesa del fiat | Off-chain, entre las dos partes. Nodo no opera esos rieles y no verifica el abono bancario en la cadena. |
Ventanas por defecto al desplegar: unos sesenta minutos para marcar pagado después del bloqueo, 24 horas después del mark-paid para que el vendedor libere. Pasado el plazo el comprador puede forzar la disputa; no hay liberación automática silenciosa. La liberación al comprador cobra 0,5% on-chain al destinatario de comisión de Nodo. La devolución al vendedor no cobra comisión.
El mínimo es 1 USDC. Cada anuncio puede poner su min/máx en fiat. Crear o tomar un trade exige cuenta, @alias y wallet vinculada. Lo que no se exige hoy está en AML, KYC y verificación.
3. Cobro cripto del comercio
El comercio puede cobrar USDC en Base en caja. Está en vivo en el POS (web y app).
- El equipo crea el cargo. Nodo abre un intent de pago y muestra un QR / enlace.
- El cliente envía USDC directo on-chain a la wallet vinculada del dueño.
- Nodo mira la transacción pública, marca el intent y la venta como pagados, y puede imprimir el ticket.
Nodo no retiene esos fondos. No hay un flotante de comercio dentro de Nodo. Si el dueño nunca activó wallet, la caja no puede cobrar en cripto.
El cajero solo necesita permiso de POS para abrir el cargo. Las monedas siempre van a la dirección del dueño, no a una wallet del staff.
4. Retiro del comercio
Este camino no es enviar USDC desde una wallet personal, y no es el módulo P2P.
Qué está en vivo. En la wallet de negocio, el dueño puede pedir un pago en DOP a una cuenta bancaria dominicana (el formulario lista Popular, Banreservas, BHD, Scotiabank, Promerica). Entra titular, tipo de cuenta, número y monto.
Quién es la contraparte. El producto trata a Nodo como quien acredita el DOP cuando se confirma la transferencia. No hay un socio de off-ramp cableado en la implementación actual.
Qué se está cerrando. Enviar el formulario es una solicitud. El pago automático, los webhooks de estado y un SLA de liquidación no están en vivo. Operaciones completa (o rechaza) el cash-out a mano. No leas la pantalla de solicitud como un riel bancario instantáneo.
En qué se diferencia de la wallet personal. La wallet personal envía y recibe USDC on-chain a cualquier dirección en Base. No tiene este formulario de retiro bancario. El cripto que el negocio cobró en caja ya está en la wallet del dueño; el cash-out es una conversión a fiat con Nodo, no un retiro desde un saldo custodiado por Nodo.
Verificación. El “comercio verificado” del marketplace es una solicitud aparte (ver AML, KYC y verificación). El formulario de cash-out se muestra en la wallet de negocio y hoy no está gated de forma automática por esa insignia. Nodo igual puede pedir más información del negocio antes de pagar, y puede rechazar la solicitud.
5. Riesgo que debes asumir
- Las transferencias on-chain y los bloqueos de escrow son finales una vez confirmados, sujetos solo a las reglas del contrato (liberar, cancelar, resolve del árbitro).
- El fiat que envías en un P2P va a otro usuario, no a Nodo. La prueba vive en el chat y en tu banco, no en el escrow.
- Direcciones y montos en Base son públicos.
- Nodo puede pausar la creación de escrows nuevos y puede negar o suspender cuentas según los Términos. Eso no le permite apropiarse del USDC que ya está en un clon abierto.
El contrato que obliga son los Términos de Uso. Los datos que guardamos en estos flujos están en la Política de Privacidad.