Como a ZKP2P transforma um pagamento em moeda fiduciária em uma liberação de USDC onchain.
A ZKP2P é o protocolo por trás da USDCtoFiat. Vendedores bloqueiam USDC em um contrato inteligente na Base, compradores pagam moeda fiduciária por um app de pagamento normal, e um atestado de pagamento assinado desbloqueia o USDC depois que o pagamento corresponde à ordem.
A versão curta
Um vendedor cria um depósito bloqueando USDC no EscrowV2 na Base e listando o método de pagamento em moeda fiduciária, a moeda, o identificador de pagamento e a taxa. Um comprador escolhe essa liquidez, inicia uma intenção onchain, paga o vendedor no app de pagamento selecionado e envia a evidência do pagamento.
O protocolo não pede que nenhum dos lados confie em um print de tela. A evidência do pagamento é verificada offchain pelo serviço de atestado, e o PaymentAttestation EIP-712 resultante é verificado onchain antes de o contrato liberar o USDC.
O ciclo de vida do preenchimento
- 1O vendedor deposita USDC nativo na Base no EscrowV2 e declara os métodos de pagamento aceitos, moedas e dados do beneficiário.
- 2O comprador seleciona o depósito e sinaliza uma intenção pelo OrchestratorV2. Essa intenção reserva o valor específico enquanto o comprador paga.
- 3O comprador paga o vendedor diretamente no app fiduciário selecionado. A USDCtoFiat nunca recebe nem guarda a transferência em moeda fiduciária.
- 4A evidência do pagamento é verificada contra a intenção: valor, moeda, destinatário, timestamp, método de pagamento e restrições de rota.
- 5O serviço de atestado assina um PaymentAttestation. O verificador onchain confere a assinatura, os valores do snapshot e o nullifier, e então o OrchestratorV2 libera o USDC.
Por que o contrato pode liberar com segurança
| Primitivo | O que faz | Por que importa |
|---|---|---|
| EscrowV2 | Guarda o USDC do vendedor na Base | Nem a USDCtoFiat nem o comprador podem movê-lo sem as regras do contrato |
| Hash da intenção | Identifica uma ordem de comprador | Vincula a prova de pagamento em moeda fiduciária ao preenchimento exato |
| PaymentAttestation | Resultado de verificação assinado em EIP-712 | Permite que um único contrato verificador lide com vários métodos de pagamento |
| Nullifier | Marcador de uso único para um pagamento | Impede que o mesmo pagamento seja reivindicado duas vezes |
| Hash dos dados do beneficiário | Hash do identificador de pagamento do vendedor | Vincula o pagamento ao vendedor sem publicar o handle onchain |
O que não está onchain
Seu nome de usuário do Venmo, Revtag, Wisetag, handle do PayPal.me, e-mail do Zelle, sessão de conta e dados detalhados de pagamento não são publicados na Base. A blockchain vê o estado do contrato, hashes, assinaturas, valores e eventos de liberação, não todo o histórico privado da conta de pagamento.
Seu identificador de pagamento ainda fica visível para a contraparte que precisa pagar você. Isso é inevitável em qualquer fluxo de liquidação em app de pagamento: o comprador não pode enviar moeda fiduciária sem um destino.
Escrow não custodial mais atestado de pagamento offchain.
A ZKP2P V3 move o parsing do pagamento para offchain e mantém as regras finais de liberação onchain, e é por isso que a experiência do vendedor pode suportar mais métodos de pagamento sem um contrato verificador sob medida para cada rail.
O fluxo exato do app de pagamento pode variar por método. A configuração de vendedor do Wise e do PayPal exige registro único da extensão.
Keep exploring
Common questions
O que é a USDCtoFiat?
A USDCtoFiat permite que você venda USDC na Base por dinheiro no Venmo, Cash App, Chime, Revolut, Wise, Zelle, PayPal e Monzo. Você mantém o controle da sua carteira, e as negociações são liquidadas por contratos inteligentes não custodiais da ZKP2P na Base.
A USDCtoFiat guarda os meus fundos?
Não. Você assina cada transação a partir da sua própria carteira. Seu USDC fica bloqueado em um contrato público na Base e só é liberado para o comprador depois que o pagamento dele é comprovado. Você pode sacar qualquer depósito não preenchido a qualquer momento.
Quanto custa vender?
Criar e gerenciar um depósito de vendedor é gratuito, embora o gás da Base se aplique a ações onchain. O SDK de off-ramp é gratuito para integrar. Em preenchimentos delegados, a taxa de gestor de 0,10% da Delegate vem do USDC liberado para o comprador, não dos seus rendimentos em moeda fiduciária nem da sua taxa cotada. Analytics da Peerlytics, webhooks e créditos de API têm preços à parte.
Preciso de uma conta em corretora centralizada?
Nenhuma conta em corretora é necessária para usar a USDCtoFiat. Você precisa de uma carteira com USDC na Base e de uma conta no app de pagamento em que quer ser pago. As regras e limites da própria conta do app de pagamento continuam valendo.
Preciso passar por KYC?
A USDCtoFiat não coleta documentos de identidade, não guarda sua moeda fiduciária nem suas chaves. O app de pagamento que você usa continua controlando a própria verificação, limites e regras de conta. A liquidação de USDC acontece por contratos inteligentes na Base, e não podemos mudar o que Venmo, PayPal, Wise, Zelle ou o seu banco exigem.
A ZKP2P é a mesma coisa que a USDCtoFiat?
Não. A ZKP2P é o protocolo e o sistema de contratos subjacente. A USDCtoFiat é um produto focado no vendedor construído em cima dele para transformar USDC na Base em moeda fiduciária pelos apps de pagamento suportados.
O mesmo pagamento em moeda fiduciária pode liberar USDC duas vezes?
Não. Os atestados de pagamento incluem um nullifier, um marcador de uso único conferido pelo verificador para impedir que o mesmo pagamento seja reaproveitado contra várias intenções.
O que acontece se o comprador iniciar uma intenção mas nunca pagar?
Essa parte do depósito do vendedor fica temporariamente vinculada à intenção aberta até que ela expire ou seja cancelada. A liquidez não preenchida continua sacável pelo vendedor.