协议机制

ZKP2P 如何把一笔法币付款变成链上 USDC 释放。

ZKP2P 是 USDCtoFiat 之下的协议。卖家在 Base 智能合约中锁定 USDC,买家通过普通支付应用支付法币,一份签名的付款证明在付款与订单匹配后解锁 USDC。

01

简短版本

卖家在 Base 上的 EscrowV2 中锁定 USDC,并列出法币支付方式、货币、收款标识和汇率,从而创建一笔存款。买家选择该流动性,发起一个链上意图,在所选支付应用中付款给卖家,并提交付款凭据。

协议不要求任何一方信任一张聊天截图。付款凭据由证明服务在链下检查,由此生成的 EIP-712 PaymentAttestation 在链上验证后,合约才释放 USDC。

02

成交生命周期

  1. 1卖家把 Base 上的原生 USDC 存入 EscrowV2,并声明接受的支付方式、货币和收款人信息。
  2. 2买家选择该存款,并通过 OrchestratorV2 发出一个意图。该意图在买家付款期间锁定具体金额。
  3. 3买家在所选法币应用中直接付款给卖家。USDCtoFiat 从不接收或持有该法币转账。
  4. 4付款凭据与意图进行核对:金额、货币、收款人、时间戳、支付方式和路线约束。
  5. 5证明服务签发一份 PaymentAttestation。链上验证器检查签名、快照值和 nullifier,随后 OrchestratorV2 释放 USDC。
03

为什么合约能安全释放

原语作用为什么重要
EscrowV2在 Base 上持有卖方 USDCUSDCtoFiat 和买家都无法在合约规则之外移动它
Intent hash标识一笔买家订单把法币付款证明绑定到确切的成交
PaymentAttestationEIP-712 签名的验证结果让一个验证器合约处理多种支付方式
Nullifier一笔付款的一次性标记阻止同一笔付款被领取两次
Payee details hash卖家收款标识的哈希在不把收款标识发布上链的前提下把付款绑定到卖家
04

什么不上链

你的 Venmo 用户名、Revtag、Wisetag、PayPal.me 标识、Zelle 邮箱、账户会话和详细付款数据都不会发布到 Base。链上看到的是合约状态、哈希、签名、金额和释放事件,而非完整的私有付款账户历史。

你的收款标识对需要付款给你的对手方仍然可见。这在任何支付应用结算流程中都无法避免:买家没有目的地就无法发送法币。

V3 生产路径

非托管托管加链下付款证明。

ZKP2P V3 把付款解析移到链下,并把最终释放规则保留在链上,这正是为什么卖方体验可以支持更多支付方式,而无需为每条通道定制专门的验证器合约。

具体的支付应用流程因方式而异。Wise 和 PayPal 卖方设置需要一次性的扩展注册。

EscrowV20x777777779d229cdF3110e9de47943791c26300Ef卖方托管合约
OrchestratorV20x888888359E981B5225CA48fbCdCeff702FC3b888意图生命周期
USDC0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913Base 原生代币
VerifierUnifiedPaymentVerifierV2检查付款证明

Common questions

USDCtoFiat 是什么?

USDCtoFiat 让你在 Base 上把 USDC 卖成 Venmo、Cash App、Chime、Revolut、Wise、Zelle、PayPal 和 Monzo 里的钱。你始终掌控自己的钱包,交易通过 Base 上的非托管 ZKP2P 智能合约结算。

USDCtoFiat 会托管我的资金吗?

不会。每一笔交易都由你自己的钱包签名。你的 USDC 锁定在一个公开的 Base 合约里,只有在买家付款被证明后才会释放给买家。你可以随时提取任何未成交的存款。

出售要花多少钱?

创建和管理卖方存款是免费的,但链上操作需支付 Base gas。offramp SDK 可免费集成。在委托成交中,Delegate 的 0.10% 管理费来自释放给买家的 USDC,而非你的法币收益或你的报价。Peerlytics 分析、webhook 和 API 额度单独定价。

我需要中心化交易所账户吗?

使用 USDCtoFiat 无需交易所账户。你需要一个在 Base 上持有 USDC 的钱包,以及你想收款的那款支付应用的账户。该支付应用自身的账户规则和限额仍然适用。

我需要完成 KYC 吗?

USDCtoFiat 不收集身份证件,不持有你的法币,也不持有你的私钥。你使用的支付应用仍然掌控自己的验证、限额和账户规则。USDC 结算通过 Base 智能合约完成,我们无法改变 Venmo、PayPal、Wise、Zelle 或你的银行的要求。

ZKP2P 和 USDCtoFiat 是一回事吗?

不是。ZKP2P 是底层协议和合约系统。USDCtoFiat 是在其之上构建的、面向卖家的产品,用于把 Base USDC 通过受支持的支付应用转成法币。

同一笔法币付款能释放两次 USDC 吗?

不能。付款证明包含一个 nullifier,这是验证器检查的一次性标记,用于阻止把同一笔付款重放到多个意图上。

如果买家发起了意图却从不付款会怎样?

卖方存款的那一部分会被暂时绑定到这个未完成的意图上,直到它过期或被取消。未成交的流动性仍可由卖家提取。