Hi team,
I'm blocked from programmatic order placement on a post-April-28 deposit-wallet account, and I believe I've hit the same root cause already tracked in clob-client-v2#64 and py-clob-client-v2#70 — but confirmed independently against the official Rust SDK (polymarket_client_sdk_v2), which doesn't seem to be mentioned as tested in either of those threads.
Setup:
- Account created after the April 28, 2026 deposit-wallet migration
- Deposit wallet funded and confirmed via the polymarket.com Deposit flow
- signature_type = POLY_1271 (3), funder = deposit wallet address
- Tested with polymarket_client_sdk_v2 (Rust), following the official docs.rs example for deposit wallets exactly
Result:
Every order is rejected with:
HTTP 400 {"error":"the order signer address has to be the address of the API KEY"}
This matches the root cause described in py-clob-client-v2#70: the L1 auth flow inside .authenticate() signs using the EOA's address regardless of the configured funder/signature_type, so the resulting API key is bound to the EOA rather than the deposit wallet — while orders correctly set signer to the deposit wallet. The two can never match.
Questions:
- Is there a supported way today to register a CLOB API key against a deposit-wallet identity (via POLY_1271 / EIP-1271 / EIP-7702)?
- Given this blocks all programmatic trading for new (post-migration) accounts, is there an interim path — e.g. manually provisioning my account onto the legacy Proxy/Safe wallet flow — while the SDK-level fix is in progress?
- Is there an ETA or current status update on clob-client-v2#64 / py-clob-client-v2#70?
Happy to share full logs/config if useful. Thanks for the help.
Hi team,
I'm blocked from programmatic order placement on a post-April-28 deposit-wallet account, and I believe I've hit the same root cause already tracked in clob-client-v2#64 and py-clob-client-v2#70 — but confirmed independently against the official Rust SDK (polymarket_client_sdk_v2), which doesn't seem to be mentioned as tested in either of those threads.
Setup:
Result:
Every order is rejected with:
HTTP 400 {"error":"the order signer address has to be the address of the API KEY"}
This matches the root cause described in py-clob-client-v2#70: the L1 auth flow inside .authenticate() signs using the EOA's address regardless of the configured funder/signature_type, so the resulting API key is bound to the EOA rather than the deposit wallet — while orders correctly set signer to the deposit wallet. The two can never match.
Questions:
Happy to share full logs/config if useful. Thanks for the help.