Polymarket · 签名中继 · 全景对齐 · 2026-06-15

目标、架构、托管、TODO、我怎么干 —— 一页对齐

目标:让被 Polymarket 地理墙的机器,经一台放行机器(relay)自动在 Polymarket V2 下单,且私钥不落到不可信机器。这一版按最新讨论拆成了 管理面(CF)+ 交易面(box),充值/提现交给用户自己——像交易所一样,我们只管开钱包 + 交易。

建钱包 存密文 交易 取密文·解密 HK 出口 CLIENT owner / 员工 bot 无钥匙 CONTROL · CF Admin (Hono) 建钱包·状态·密码 STORE · KV 封装密文 age 封给 relay DATA · BOX(HK) Relay 只交易 解密·签订单·出口 EXTERNAL Polymarket V2 Polygon

两条线:上面=管理面(Admin/CF 建钱包→密文存 KV);下面=交易面(client→Relay/box→Polymarket)。Relay 从 KV 取密文、本地 age 解密、只签订单、从 HK 出口。充值/提现不在图里——用户拿创建时存下的私钥,自己用 MetaMask 充提。

密钥托管(age 封装,谁都脱不了库)

  • 一次性:relay 在 box 上 age-keygen → identity(私钥)留 box、root-only;recipient(公钥)给 Admin。
  • 建钱包:Admin 生成 wallet key → 当场返回一次(你存下来)→ 用 age 封给 relay 的 recipient → 密文进 KV → 明文丢弃,之后任何接口查不到私钥
  • 交易:relay 取密文 → box 上 age -d 解开 → 内存缓存 → 只签订单。
  • 充提:你存的那把 key → 导小狐狸 → 自己充自己提。我们零相关代码。
关键性质:CF 整个被脱库,钱包私钥也安全——密文是封给 relay 的,只有 box 上的 identity 能开。Admin 只能加密、解不开。

谁能干啥(三类,彻底分开)

能干不能干
员工 bot下单 · 撤单 · 读拿私钥 · 转账 · 提现(都没路径)
你(owner)建钱包(拿一次 key)· 交易 · 自己充提
relay解密 → 只签订单签转账/提现(守门)

提现不在我们系统里了——比上一版更干净:relay 连提现都不签,只签交易。

创建钱包流程(新)

1

POST /wallets {id} → 生成 key → 返回一次 + 地址 → 密文存 KV → 状态 pending

2存 + 充

你保存好这把 key → 走 V2 deposit 桥(POST /deposit 拿桥地址,收 native USDC,多链 $3 起)→ 自动 wrap 成 pUSD。

3激活

POST /wallets/{id}/activate → relay 见状态 → 做链上 setup(wrap→授权→派生 L2)→ 标 ready

4交易

员工 bot 用官方 SDK,host+signer 指向 relay → 下单。relay 签 + 从 HK 出口。

我怎么干(行为方式 · 对齐)

先证核心,再建系统

先用 $1 真单验"HK 能下单"这个唯一大未知,过了再搭全套 admin。

严格证据制,不信自报

codex 审出的 5 个 BLOCK,我逐条拿 SDK 源码 / 链上数据核过才认。

动真钱先报批

swap/wrap/转账这类,codex 必须先把"花多少·滑点·下哪个市场"报我,我审过才执行。

使唤 codex 做 legwork

查文档、写脚本这类活丢给 codex,我当工头把关验证。

私钥绝不外露

不打印、不进聊天、不进 git;走 SSH 加密通道、age 加密落盘。

三处同步 + 存记忆

DESIGN.md / TODO.md / 这页口径一致;关键决策写进项目记忆,跨天可续接。

TODO(完整清单)

交易面 relay(box)

  • 最小 relay + $1 真单验地理(codex 实现中)
  • /sign 只收结构化订单、不盲签
  • 透传白名单(只 CLOB 交易/读)
  • age 解密 + 签 + HK 出口 + systemd

管理面 Admin(Hono/CF)

  • create/activate/status/list(KV)
  • age 封装托管 + 返回一次
  • web 登录密码(你点名要的)
  • per-token 鉴权

测试

  • $1 真单 + 撤单(进行中)
  • 守门:拒盲签/转账/Permit/Batch
  • HK 出口证明 + 网络面 relayer 不可达

接入

  • SSH 隧道(autossh)+ 受限 key
  • agent drop-in client(2 个 env)
  • agent-facing SKILL bundle

实时状态(2026-06-15)

关键发现 / 已纠正(都源码或链上核过)

发现含义
下单是 POST /order 同步不是 relayer /submit(那是链上交易流);源码 endpoints.js 实锤
V2 签名默认 EOAsignatureType ?? EOA;deposit-wallet(POLY_1271/TypedDataSign 包装)是可选,我们走 EOA 更简单
V2 有 deposit 桥POST /deposit 拿桥地址,收 native USDC 自动 wrap pUSD,多链 $3 起 —— 比手动 swap 干净,充值走这个
onramp 只收 USDC.e手动 wrap 路径只收 USDC.e;所以充值首选上面的 deposit 桥(收 native)
codex 审出 5 BLOCK 全成立盲签/透传白名单/下单端点/POLY_1271 包装/deposit funder,已修进 DESIGN

本地详档:poly/relay/DESIGN.md · poly/relay/TODO.md(已同步本版:管理面/交易面分离 · 无提现 · age 托管 · V2 deposit 桥充值 · EOA 模式)。
一句话:Admin(CF/Hono)建钱包+返回一次+密文存 KV;Relay(HK box)取密文 age 解密、只签订单、HK 出口;充提你自己拿 key 在外部做。2026-06-15。