Our integration with CLOB V1 allowed users to interact with the CLOB from their EOA. We expect the same on the CLOB V2 migration, but we're getting rejected on order placement.
Example
from eth_account import Account
from py_clob_client_v2 import (
AssetType,
BalanceAllowanceParams,
ClobClient,
MarketOrderArgs,
OrderType,
Side,
SignatureTypeV2,
)
HOST = "https://clob.polymarket.com"
CHAIN_ID = 137
PK = "xxx"
# BTC $150k by Jun 30 - YES token
TOKEN_ID = "13915689317269078219168496739008737517740566192006337297676041270492637394586"
address = Account.from_key(PK).address
client = ClobClient(
host=HOST,
chain_id=CHAIN_ID,
key=PK,
signature_type=SignatureTypeV2.EOA,
funder=address,
)
client.set_api_creds(client.derive_api_key())
order_args = MarketOrderArgs(
token_id=TOKEN_ID,
amount=5.00, # market BUY amount is USDC/pUSD notional
side=Side.BUY,
price=0.001, # intentionally low FOK test price
order_type=OrderType.FOK,
)
signed_order = client.create_market_order(order_args)
# py_clob_client_v2.exceptions.PolyApiException: PolyApiException[status_code=400, error_message={'error': 'maker address not allowed, please use the deposit wallet flow'}]
print(client.post_order(signed_order, order_type=OrderType.FOK))
From documentation it's clear that deposit wallets are the preferred method for onboarding new users, but it's not clear that interacting with CLOB V2 using EOA is deprecated.
Please clarify if using EOAs directly with CLOBV2 is deprecated, if so, please document officially, if not, please provider a workaround or solution
Our integration with CLOB V1 allowed users to interact with the CLOB from their EOA. We expect the same on the CLOB V2 migration, but we're getting rejected on order placement.
Example
From documentation it's clear that deposit wallets are the preferred method for onboarding new users, but it's not clear that interacting with CLOB V2 using EOA is deprecated.
Please clarify if using EOAs directly with CLOBV2 is deprecated, if so, please document officially, if not, please provider a workaround or solution