Mecánica del protocolo

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.

01

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.

02

El ciclo de vida del fill

  1. 01El vendedor deposita USDC nativo en Base en EscrowV2 y declara los métodos de pago aceptados, las divisas y los datos del beneficiario.
  2. 02El 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.
  3. 03El comprador paga al vendedor directamente en la app de fiat seleccionada. USDCtoFiat nunca recibe ni retiene la transferencia en fiat.
  4. 04La evidencia del pago se verifica frente al intent: importe, divisa, destinatario, marca de tiempo, método de pago y restricciones de la ruta.
  5. 05El 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.
03

Por qué el contrato puede liberar con seguridad

PrimitivaQué hacePor qué importa
EscrowV2Retiene el USDC del vendedor en BaseNi USDCtoFiat ni el comprador pueden moverlo fuera de las reglas del contrato
Hash del intentIdentifica una orden de compradorVincula la prueba del pago en fiat al fill exacto
PaymentAttestationResultado de verificación firmado con EIP-712Permite que un solo contrato verificador gestione múltiples métodos de pago
NullifierMarcador único para un pagoImpide que el mismo pago se reclame dos veces
Hash de los datos del beneficiarioHash del identificador de cobro del vendedorVincula el pago al vendedor sin publicar el handle onchain
04

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.

Ruta de producción V3

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 pago-app difiere por método. El registro de extensiones no anula la política del proveedor: Wise prohíbe los recibos de cripto-venta P2P, y PayPal puede requerir preaprobación.

EscrowV2
0x777777779d229cdF3110e9de47943791c26300Efcontrato de custodia del vendedor
OrchestratorV2
0x888888359E981B5225CA48fbCdCeff702FC3b888ciclo de vida del intent
USDC
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913token nativo de Base
Verifier
UnifiedPaymentVerifierV2comprueba las attestations de pago

Preguntas frecuentes

¿Qué es USDCtoFiat?

USDCtoFiat coordina ventas sin custodia de USDC nativo en Base por USD, EUR o GBP mediante contratos inteligentes de ZKP2P. Siguen aplicándose los requisitos del proveedor de pagos y sus políticas de cuenta; que una ruta tenga soporte técnico no significa que esté permitido usar una cuenta externa, y Wise prohíbe actualmente recibir pagos por ventas P2P de criptomonedas.

¿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?

Creating and managing a seller deposit is free, though Base gas applies to onchain actions. The offramp SDK is free to integrate. On delegated fills, Delegate's 0.10% manager fee comes from the USDC released to the buyer, not from your fiat proceeds or your quoted rate. Peerlytics analytics and API credits are priced separately.

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