简短版本
卖家在 Base 上的 EscrowV2 中锁定 USDC,并列出法币支付方式、货币、收款标识和汇率,从而创建一笔存款。买家选择该流动性,发起一个链上意图,在所选支付应用中付款给卖家,并提交付款凭据。
协议不要求任何一方信任一张聊天截图。付款凭据由证明服务在链下检查,由此生成的 EIP-712 PaymentAttestation 在链上验证后,合约才释放 USDC。
成交生命周期
- 01卖家把 Base 上的原生 USDC 存入 EscrowV2,并声明接受的支付方式、货币和收款人信息。
- 02买家选择该存款,并通过 OrchestratorV2 发出一个意图。该意图在买家付款期间锁定具体金额。
- 03买家在所选法币应用中直接付款给卖家。USDCtoFiat 从不接收或持有该法币转账。
- 04付款凭据与意图进行核对:金额、货币、收款人、时间戳、支付方式和路线约束。
- 05证明服务签发一份 PaymentAttestation。链上验证器检查签名、快照值和 nullifier,随后 OrchestratorV2 释放 USDC。
为什么合约能安全释放
| 原语 | 作用 | 为什么重要 |
|---|---|---|
| EscrowV2 | 在 Base 上持有卖方 USDC | USDCtoFiat 和买家都无法在合约规则之外移动它 |
| Intent hash | 标识一笔买家订单 | 把法币付款证明绑定到确切的成交 |
| PaymentAttestation | EIP-712 签名的验证结果 | 让一个验证器合约处理多种支付方式 |
| Nullifier | 一笔付款的一次性标记 | 阻止同一笔付款被领取两次 |
| Payee details hash | 卖家收款标识的哈希 | 在不把收款标识发布上链的前提下把付款绑定到卖家 |
什么不上链
你的 Venmo 用户名、Revtag、Wisetag、PayPal.me 标识、Zelle 邮箱、账户会话和详细付款数据都不会发布到 Base。链上看到的是合约状态、哈希、签名、金额和释放事件,而非完整的私有付款账户历史。
你的收款标识对需要付款给你的对手方仍然可见。这在任何支付应用结算流程中都无法避免:买家没有目的地就无法发送法币。