工作原理
relayer 充当交易赞助者:- 你的应用创建一笔交易
- 用户用私钥签名
- 你的应用将交易发送到 Polymarket 的 relayer
- relayer 将交易提交到链上并支付 gas 费
- 交易从用户钱包执行
免 gas 交易需要 Builder Program 会员资格。你需要 Builder API 凭证来向 relayer 进行身份验证。
覆盖范围
Polymarket 为通过 relayer 路由的所有操作支付 gas:| 操作 | 说明 |
|---|---|
| Wallet deployment | 为新用户部署 Safe 或 Proxy 钱包 |
| Token approvals | 授权合约使用 USDC.e 或结果代币 |
| CTF operations | 拆分、合并和兑换仓位 |
| Transfers | 在地址之间转移代币 |
前置要求
使用 relayer 之前,你需要:| 要求 | 来源 |
|---|---|
| Builder API 凭证 | Builder Profile |
| 用户的私钥或签名器 | 你的钱包集成 |
| USDC.e 余额 | 用于交易(不是用于 gas) |
安装
客户端设置
使用你的签名配置初始化 relayer 客户端:- 本地签名
- 远程签名
当你的后端安全地处理所有交易时,使用本地签名。
Relayer 身份验证 Header
所有发送到 relayer 的请求必须包含这些身份验证 header:| Header | 说明 |
|---|---|
POLY_BUILDER_API_KEY | 你的 Builder API key |
POLY_BUILDER_TIMESTAMP | Unix 时间戳 |
POLY_BUILDER_PASSPHRASE | 你的 Builder passphrase |
POLY_BUILDER_SIGNATURE | HMAC-SHA256 签名 |
BuilderConfig 提供凭证时,SDK 会自动处理 header 生成。
钱包类型
初始化客户端时选择钱包类型:| 类型 | 部署方式 | 最适用于 |
|---|---|---|
| Safe | 在首次交易前调用 deploy() | 大多数 builder 集成 |
| Proxy | 首次交易时自动部署 | Magic Link 用户 |
执行交易
使用execute 方法通过 relayer 发送交易:
代币授权
授权合约使用代币:兑换仓位
市场判定后,将获胜代币兑换为 USDC.e:批量交易
在单次调用中原子性地执行多个操作:交易状态
通过这些状态跟踪交易进度:| 状态 | 终态 | 说明 |
|---|---|---|
STATE_NEW | 否 | relayer 已收到交易 |
STATE_EXECUTED | 否 | 已提交到链上 |
STATE_MINED | 否 | 已打包进区块 |
STATE_CONFIRMED | 是 | 成功确认 |
STATE_FAILED | 是 | 永久失败 |
STATE_INVALID | 是 | 被拒绝为无效 |
合约地址
所有 Polymarket 智能合约地址详见合约地址。资源
- Builder Relayer Client (TypeScript)
- Builder Relayer Client (Python)
- Builder Signing SDK (TypeScript)
- Builder Signing SDK (Python)