Mecânica do protocolo

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.

01

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.

02

O ciclo de vida do preenchimento

  1. 01O vendedor deposita USDC nativo na Base no EscrowV2 e declara os métodos de pagamento aceitos, moedas e dados do beneficiário.
  2. 02O comprador seleciona o depósito e sinaliza uma intenção pelo OrchestratorV2. Essa intenção reserva o valor específico enquanto o comprador paga.
  3. 03O comprador paga o vendedor diretamente no app fiduciário selecionado. A USDCtoFiat nunca recebe nem guarda a transferência em moeda fiduciária.
  4. 04A evidência do pagamento é verificada contra a intenção: valor, moeda, destinatário, timestamp, método de pagamento e restrições de rota.
  5. 05O 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.
03

Por que o contrato pode liberar com segurança

PrimitivoO que fazPor que importa
EscrowV2Guarda o USDC do vendedor na BaseNem a USDCtoFiat nem o comprador podem movê-lo sem as regras do contrato
Hash da intençãoIdentifica uma ordem de compradorVincula a prova de pagamento em moeda fiduciária ao preenchimento exato
PaymentAttestationResultado de verificação assinado em EIP-712Permite que um único contrato verificador lide com vários métodos de pagamento
NullifierMarcador de uso único para um pagamentoImpede que o mesmo pagamento seja reivindicado duas vezes
Hash dos dados do beneficiárioHash do identificador de pagamento do vendedorVincula o pagamento ao vendedor sem publicar o handle onchain
04

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.

Caminho de produção V3

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 aplicativo de pagamento difere de acordo com o método. O registro de extensão não substitui a política do provedor: Wise proíbe P2P recibos de venda de criptografia e PayPal pode exigir pré-aprovação.

EscrowV2
0x777777779d229cdF3110e9de47943791c26300Efcontrato de custódia do vendedor
OrchestratorV2
0x888888359E981B5225CA48fbCdCeff702FC3b888ciclo de vida da intenção
USDC
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913token nativo da Base
Verifier
UnifiedPaymentVerifierV2confere os atestados de pagamento

Perguntas comuns

O que é a USDCtoFiat?

USDCtoFiat coordena vendas sem custódia de Base USDC nativos para USD, EUR ou GBP por meio de contratos inteligentes ZKP2P. A elegibilidade do provedor de pagamento e as políticas da conta ainda se aplicam; o suporte técnico de rota não permite o uso de uma conta externa e Wise atualmente proíbe P2P recibos de venda criptografada.

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?

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.

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.