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. 1O vendedor deposita USDC nativo na Base no EscrowV2 e declara os métodos de pagamento aceitos, moedas e dados do beneficiário.
  2. 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.
  3. 3O comprador paga o vendedor diretamente no app fiduciário selecionado. A USDCtoFiat nunca recebe nem guarda a transferência em moeda fiduciária.
  4. 4A evidência do pagamento é verificada contra a intenção: valor, moeda, destinatário, timestamp, método de pagamento e restrições de rota.
  5. 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.
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 app de pagamento pode variar por método. A configuração de vendedor do Wise e do PayPal exige registro único da extensão.

EscrowV20x777777779d229cdF3110e9de47943791c26300Efcontrato de custódia do vendedor
OrchestratorV20x888888359E981B5225CA48fbCdCeff702FC3b888ciclo de vida da intenção
USDC0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913token nativo da Base
VerifierUnifiedPaymentVerifierV2confere os atestados de pagamento

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.