# Relayer Trade

> Relayer Trade Skill — Polymarket链上Gasless交易

- Skill: `aaaaqwq/relayer-trade` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add aaaaqwq/relayer-trade`
- Raw SKILL.md: https://api.skillmd.com/api/skills/aaaaqwq/relayer-trade/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: aAAaqwq (https://skillmd.com/u/aaaaqwq)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/aaaaqwq/relayer-trade

---


# Relayer Trade Skill — Polymarket链上Gasless交易

**绕过CLOB geo-block的终极方案。** Relayer v2 不做IP检查。

## 脚本目录

```
skills/relayer-trade/scripts/
└── relay_trade.js    # 链上交易主脚本
```

**依赖**: `/tmp/node_modules/` (@polymarket/builder-relayer-client, viem)

## 命令

```bash
# Buy YES (split USDC → YES+NO tokens)
node "$SKILL_DIR/scripts/relay_trade.js" buy <conditionId> <amount_in_usdc>

# Sell YES (merge YES+NO → USDC)
node "$SKILL_DIR/scripts/relay_trade.js" sell <conditionId> <amount>

# Sell YES (transfer to counterparty)
node "$SKILL_DIR/scripts/relay_trade.js" transfer <yes_token_id> <to_address> <amount>

# Approve USDC for CTF
node "$SKILL_DIR/scripts/relay_trade.js" approve-usdc

# Approve CTF tokens for adapter
node "$SKILL_DIR/scripts/relay_trade.js" approve-ctf <spender_address>

# Redeem settled positions (claim)
node "$SKILL_DIR/scripts/relay_trade.js" redeem <conditionId> <yes_amount> <no_amount> [neg_risk]

# Check redeemable positions
node "$SKILL_DIR/scripts/relay_trade.js" check-redeemable

# Test connectivity
node "$SKILL_DIR/scripts/relay_trade.js" ping
```

## 认证

凭证在 `.env.poly`：`POLY_PRIVATE_KEY` + `POLY_PROXY_WALLET` + `POLY_BUILDER_API_KEY`

SDK自动生成 HMAC-SHA256 签名 headers。

## 交易模式

| 操作 | CLOB | Relayer链上 |
|------|------|------------|
| 买入YES | post_order() → 撮合 | splitPosition() → USDC铸造YES+NO |
| 卖出YES | post_order() | mergePositions() 或 transferFrom() |
| Claim | Browser | redeemPositions() via NegRiskAdapter |

**限制**: split买入=1:1铸造(无折扣)；卖出需NO tokens或对手方

## 合约地址

| 合约 | 地址 |
|------|------|
| USDC.e | `0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174` |
| CTF | `0x4D97DCd97eC945f40cF65F87097ACe5EA0476045` |
| NegRisk Adapter | `0xd91E80cF2E7be2e162c6513ceD06f1dD0dA35296` |

## NegRisk市场

negRisk市场使用 `NegRiskAdapter.splitPosition/mergePositions/redeemPositions`，非标准CTF路径。

判断: `curl gamma-api/markets?slug=xxx → negRisk: true/false`

