polymarket钱包迁移失败,可能会导致未来无法领取空投的解决方法。
polymarket升级pusd后,我和很多人遇到无法迁移旧钱包,导致看不到余额的情况。我让codex重新解读了一次钱包迁移方式,现在已经完全解决了这个麻烦,我在自己的github@yourairdrop上公开了这个解决方案,或者直接把下面这段promt发给自己的ai即可:
你是熟悉 Polymarket CLOB、py-clob-client-v2、builder relayer、Polygon 的工程师。请帮助我把一个旧 Polymarket Safe/Proxy 钱包迁移到新版 Deposit Wallet 路径。
背景:
我有旧 Safe/Proxy,旧路径使用 signature_type=1/2。
我想用同一把 EOA 私钥部署并控制新版 deposit wallet。
新路径应使用 signature_type=3 / POLY_1271。
旧 Safe 不会升级成新 wallet;正确流程是用同一 EOA 通过 relayer WALLET-CREATE 部署新的 deposit wallet。
请按以下步骤操作,并在每一步做只读验证:
用 owner EOA 私钥初始化 builder relayer:
RelayClient("https://t.co/wfZGr17aMn", 137, private_key, builder_config)
builder config 使用 BUILDER_API_KEY / BUILDER_API_SECRET / BUILDER_API_PASSPHRASE
获取新 deposit wallet 地址:
调用 relayer.get_expected_deposit_wallet()
检查链上 eth_getCode(address) 是否为空
如果未部署,执行:
relayer.deploy_deposit_wallet()
response.wait()
再次检查 eth_getCode(address) 非空
验证 wallet ownership:
调用 deposit wallet 的 owner()
owner 必须等于 EOA 地址
验证资金:
检查 pUSD balanceOf(deposit_wallet)
pUSD 地址:0xC011a7E12a19f7B1f670d46F03B03f3342E82DFB
如果余额为 0,说明还不能交易;需要把 pUSD 转入 deposit wallet
初始化 CLOB:
ClobClient("https://t.co/0e2IKwpalF", chain_id=137, key=private_key, signature_type=3, funder=deposit_wallet)
client.set_api_creds(client.derive_api_key())
调用 update_balance_allowance() 和 get_balance_allowance()
如果 allowance 为 0,通过 relayer execute_deposit_wallet_batch() 从 deposit wallet 发起 approve:
pUSD approve(CTF Exchange V2, MAX),0xE111180000d2663C0091e4f400237545B87B996B
pUSD approve(NegRisk Exchange V2, MAX),0xe2222d279d744050d28e00520010520000310F59
ConditionalTokens setApprovalForAll(NegRisk Adapter, true),0xd91E80cF2E7be2e162c6513ceD06f1dD0dA35296
下单前必须离线构造 limit order 和 market order 检查:
order.maker == deposit_wallet
order.signer == deposit_wallet
order.signatureType == 3
market order 也必须满足以上条件;只 patch limit order 不够
重点排错:
balance=0:通常是 pUSD 不在 deposit wallet。
allowance=0:需要从 deposit wallet 走 relayer batch approve,EOA 直接 approve 没用。
the order signer address has to be the address of the API KEY:检查 maker/signer/signatureType/funder/API key 是否一致;deposit wallet 路径必须是 maker=signer=funder=deposit_wallet,实际签名私钥是 owner EOA。
不要泄露私钥、API secret、完整钱包地址;输出地址只保留 0x前三位...后三位。
From X
Disclaimer: The above content reflects only the author's opinion and does not represent any stance of CoinNX, nor does it constitute any investment advice related to CoinNX.

