Cómo ZKP2P convierte un pago en fiat en una liberación de USDC onchain.
ZKP2P es el protocolo que está debajo de USDCtoFiat. Los vendedores bloquean USDC en un contrato inteligente de Base, los compradores pagan fiat a través de una app de pagos normal, y una attestation de pago firmada desbloquea el USDC después de que el pago coincide con la orden.
La versión corta
Un vendedor crea un depósito bloqueando USDC en EscrowV2 en Base y listando el método de pago en fiat, la divisa, el identificador de cobro y la tarifa. Un comprador elige esa liquidez, inicia un intent onchain, paga al vendedor en la app de pagos seleccionada y envía la evidencia del pago.
El protocolo no pide a ninguna de las partes que confíe en una captura de pantalla de un chat. La evidencia del pago se comprueba offchain en el servicio de attestation, y la PaymentAttestation EIP-712 resultante se verifica onchain antes de que el contrato libere el USDC.
El ciclo de vida del fill
- 1El vendedor deposita USDC nativo en Base en EscrowV2 y declara los métodos de pago aceptados, las divisas y los datos del beneficiario.
- 2El comprador selecciona el depósito y señala un intent a través de OrchestratorV2. Ese intent reserva el importe concreto mientras el comprador paga.
- 3El comprador paga al vendedor directamente en la app de fiat seleccionada. USDCtoFiat nunca recibe ni retiene la transferencia en fiat.
- 4La evidencia del pago se verifica frente al intent: importe, divisa, destinatario, marca de tiempo, método de pago y restricciones de la ruta.
- 5El servicio de attestation firma una PaymentAttestation. El verificador onchain comprueba la firma, los valores del snapshot y el nullifier, y luego OrchestratorV2 libera el USDC.
Por qué el contrato puede liberar con seguridad
| Primitiva | Qué hace | Por qué importa |
|---|---|---|
| EscrowV2 | Retiene el USDC del vendedor en Base | Ni USDCtoFiat ni el comprador pueden moverlo fuera de las reglas del contrato |
| Hash del intent | Identifica una orden de comprador | Vincula la prueba del pago en fiat al fill exacto |
| PaymentAttestation | Resultado de verificación firmado con EIP-712 | Permite que un solo contrato verificador gestione múltiples métodos de pago |
| Nullifier | Marcador único para un pago | Impide que el mismo pago se reclame dos veces |
| Hash de los datos del beneficiario | Hash del identificador de cobro del vendedor | Vincula el pago al vendedor sin publicar el handle onchain |
Qué no está onchain
Tu usuario de Venmo, Revtag, Wisetag, handle de PayPal.me, email de Zelle, sesión de cuenta y datos detallados del pago no se publican en Base. La cadena ve el estado del contrato, hashes, firmas, importes y eventos de liberación, no el historial completo y privado de tu cuenta de pagos.
Tu identificador de cobro sigue siendo visible para la contraparte que necesita pagarte. Eso es inevitable en cualquier flujo de liquidación con apps de pago: el comprador no puede enviar fiat sin un destino.
Escrow no custodio más attestation de pago offchain.
ZKP2P V3 lleva el parseo del pago offchain y mantiene las reglas finales de liberación onchain, por eso la UX del vendedor puede soportar más métodos de pago sin un contrato verificador a medida para cada rail.
El flujo exacto de la app de pagos puede variar según el método. La configuración de vendedor de Wise y PayPal requiere un registro único de la extensión.
Keep exploring
Common questions
¿Qué es USDCtoFiat?
USDCtoFiat te permite vender USDC en Base por dinero en Venmo, Cash App, Chime, Revolut, Wise, Zelle, PayPal y Monzo. Mantienes el control de tu wallet, y las operaciones se liquidan a través de contratos inteligentes ZKP2P no custodios en Base.
¿USDCtoFiat retiene mis fondos?
No. Firmas cada transacción desde tu propia wallet. Tu USDC queda bloqueado en un contrato público de Base y se libera al comprador solo después de que se prueba su pago. Puedes retirar en cualquier momento cualquier depósito sin llenar.
¿Cuánto cuesta vender?
Crear y gestionar un depósito de vendedor es gratis, aunque el gas de Base aplica a las acciones onchain. El SDK de off-ramp es gratuito de integrar. En los fills delegados, la comisión de gestión del 0.10% de Delegate sale del USDC liberado al comprador, no de tu producto en fiat ni de tu tarifa cotizada. La analítica, los webhooks y los créditos de API de Peerlytics se cobran por separado.
¿Necesito una cuenta de exchange centralizado?
No se requiere ninguna cuenta de exchange para usar USDCtoFiat. Necesitas una wallet con USDC en Base y una cuenta en la app de pagos en la que quieres cobrar. Las reglas y los límites de la propia app de pagos siguen aplicando.
¿Tengo que completar KYC?
USDCtoFiat no recopila documentos de identidad, no retiene tu fiat ni tus claves. La app de pagos que uses sigue controlando su propia verificación, límites y reglas de cuenta. La liquidación de USDC ocurre a través de contratos inteligentes de Base, y no podemos cambiar lo que requieren Venmo, PayPal, Wise, Zelle o tu banco.
¿ZKP2P es lo mismo que USDCtoFiat?
No. ZKP2P es el protocolo y el sistema de contratos subyacente. USDCtoFiat es un producto orientado al vendedor construido sobre él para convertir USDC de Base en fiat a través de apps de pago soportadas.
¿Puede el mismo pago en fiat liberar USDC dos veces?
No. Las attestations de pago incluyen un nullifier, un marcador único que el verificador comprueba para evitar reproducir el mismo pago contra múltiples intents.
¿Qué pasa si el comprador inicia un intent pero nunca paga?
Esa parte del depósito del vendedor queda temporalmente ligada al intent abierto hasta que caduca o se cancela. La liquidez sin llenar sigue siendo retirable por el vendedor.