输入一个 EOA 地址或一笔交易哈希,定位它背后的 Polymarket 代理钱包(AA 钱包), 并拉出这个人在 Polymarket 上做了哪些预测 / 下了哪些注。
为客服 / 风控排查场景而做:零第三方依赖(纯 Python 标准库)、免 API key、自带本地缓存、支持批量。
仓库名
PolygonScan,命令行工具名polywho。仅查询公开链上数据与 Polymarket 公开 API,不接触任何私钥。
Polymarket 用户的资金不直接进 EOA,而是进一个由 EOA 确定性派生的代理合约钱包
(125 字节 EIP-1167/1967 minimal proxy)。中继合约(transferAndMulticall 等)从 EOA
拉款、兑成 USDC.e、再代表代理钱包下单。所以"只知道某 EOA 和 Polymarket 合约有过交互、
不知道进了哪个账户"——这个工具就是用来把 EOA / 交易哈希反查到具体 Polymarket 账户的。
git clone https://github.com/makoshan/PolygonScan.git
cd PolygonScan
pip install -e . # 之后可直接用 `polywho` 命令
# 或免安装直接跑:
python3 -m polywho <地址或交易哈希>要求 Python ≥ 3.8,无任何第三方依赖。
# 1) 输入 EOA → 自动定位代理钱包 + 预测记录
polywho 0xaDace17032f44127CA4DaA3bcf7c5dab820f1981
# 2) 输入交易哈希 → 解析这笔交易里的 Polymarket 账户
polywho 0xef80fa5e18bd780f6afdff055974985c7ec2011bebab9a15a016712accd42cd2
# 3) 输入代理钱包地址 → 直接出报告
polywho 0x09a9C2eBb766f8a65D354f8e8d54452Ba2891be9
# 4) 批量(命令行多个,或从文件读)
polywho 0xA 0xB 0xC
polywho -f addresses.txt # 每行一个,# 之后为注释
# 5) 机读 JSON
polywho 0xA --json
# 其它开关
polywho 0xEOA --deep # 扫完全部入口交易(排查一个 EOA 对应多个代理钱包)
polywho 0xA --no-cache # 跳过缓存强制实时
polywho --clear-cache # 清空本地缓存输入类型自动识别:0x+40 hex = 地址,0x+64 hex = 交易哈希。
输入 0x<EOA> [EOA]
==========================================================================
代理钱包 : 0x<proxy>
用户名/化名 : <Polymarket 公开用户名> / <化名>
主页 : https://polymarket.com/profile/0x<proxy>
持仓市值 : $0 买入 $845.33 赎回 $741.5 净额 $-103.83
下注/赎回/持仓 : 363 / 137 / 188
--------------------------------------------------------------------------
最近下注(预测)记录:
[BUY ] Up @ 0.320 $ 3.14 <- XRP Up or Down - June 7, 6:15PM-6:20PM ET
...
- EOA → 代理钱包:用 Blockscout 扫 EOA 发出的交易,挑出调用 Polymarket 中继
(
transferAndMulticall/depositErc20)的交易,解析回执日志,认出 125 字节的 用户代理钱包(排除 CTF / Exchange 等系统合约)。 - 代理钱包 → 预测记录:调 Polymarket 公开
data-api的/positions/activity/trades/value,翻译成用户名、持仓、下注历史与盈亏。
注:
data-api只认代理钱包地址、不认 EOA,所以第 1 步的链上反查是必需的。
| 来源 | 用途 |
|---|---|
Polygon RPC(publicnode / drpc) |
读合约代码、交易回执 |
Blockscout(polygon.blockscout.com) |
扫 EOA 交易历史 |
Polymarket data-api.polymarket.com |
身份 / 持仓 / 活动 / 市值 |
合约代码、交易回执基本不变 → 长期缓存;交易历史 / 持仓 / 活动 → 缓存 5 分钟。
默认目录 ~/.cache/polywho(可用环境变量 POLYWHO_CACHE 覆盖)。冷查询约 20 秒,
命中缓存后约 0.1 秒。
- 同一个人理论上可有多个代理钱包(网页 Magic 登录走 Gnosis Safe、MetaMask 走另一种代理),
用
--deep可扫出多个。 - 当前靠"扫链上交易历史"定位代理,适用于有过充值/下单记录的用户;纯 EOA 无任何交易时 无法定位(可作为后续的离线 CREATE2 推导增强)。
- 公共节点偶有限流;命中缓存后不受影响。