开发者 · 应用

构建用户真正能走完的出售 USDC 流程。

好的兑法币应用大多是枯燥的状态管理:收集路径,让钱包签名,恢复受扩展限制的支付方式,展示存款链接,并在标签页关闭后对账生命周期事件。

01

前端路径

  1. 1收集金额、支付平台、法币币种和收款标识符。
  2. 2将已连接的 viem WalletClient 传入 useOfframp() 或 createOfframp({ walletClient })。
  3. 3呈现进度状态:授权中、注册中、存款中、确认中、委托中、限定中、恢复中、完成。
  4. 4针对 PayPal 和 Wise 捕获 EXTENSION_REGISTRATION_REQUIRED,然后驱动 usePeerExtensionRegistration(platform)。
  5. 5在页面加载时调用 deposits(address),以免刷新让进行中的卖家陷入孤立状态。
02

你应该存储的状态

字段原因
depositId用于 close()、OTC 链接和客服的主要标识
txHash证明用户已签名并广播了存款交易
platform + currency用于路径展示、客服和分析分段
identifier label人类可读的收款参考;不要存储秘密信息
integratorId用于产品遥测和客服的稳定归因
03

UX 约束

  • SDK 面向 Base 主网;没有公开沙盒。用 1 USDC 的最小金额测试。
  • 每一笔 SDK 创建的存款都会将定价委托给 Delegate 金库。在此路径下不要呈现手动汇率控件。
  • 法币留在 SDK 之外。买卖双方在所选支付应用中直接结算。
  • 将 webhooks 视为生命周期提示,然后用 deposits() 对账窄范围的所有者状态;更广泛的市场数据和分析使用 Peerlytics API。

Keep exploring

Common questions

钱包应用应该用独立函数还是 React hook?

当你想要内置的加载、进度、错误和结果状态时,用 React hook。当你的应用有自己的状态机时,用 createOfframp({ walletClient })。

当 PayPal 或 Wise 注册失败时我该展示什么?

捕获 EXTENSION_REGISTRATION_REQUIRED,提示用户安装或连接 Peer 扩展,通过 usePeerExtensionRegistration() 完成卖家凭证采集,然后重试原始存款。