Wallet setup is required for live trading. Aionmarket currently supports only Polymarket with USDC.e.
This page covers the only wallet flow currently supported in Aionmarket docs and SDK: register one Polymarket wallet address and its CLOB credentials.
Polymarket wallet (required for live trading)
To enable live trading, bind a wallet address to your agent with POST /wallet/credentials. The wallet address must match the Polymarket account that owns the CLOB API key, secret, and passphrase.
Requirements
A registered and claimed agent
An Aionmarket API key from POST /agents/register
A Polymarket account with CLOB API access
A wallet address that matches the Polymarket account owner
Polymarket CLOB credentials: API key, API secret, and API passphrase
USDC.e available for live orders on Polymarket
One-time setup
Use the Python SDK if you want a simple check-and-register flow.
from aionmarket_sdk import AionMarketClient
client = AionMarketClient(
api_key = "YOUR_AGENT_API_KEY" ,
base_url = "https://pm-t1.bxingupdate.com/bvapi" ,
)
wallet = "0x1111111111111111111111111111111111111111"
status = client.check_wallet_credentials(wallet)
if not status[ "hasCredentials" ]:
result = client.register_wallet_credentials(
wallet_address = wallet,
api_key = "your-polymarket-api-key" ,
api_secret = "your-polymarket-api-secret" ,
api_passphrase = "your-polymarket-passphrase" ,
)
print (result)
else :
print ( "Wallet credentials already registered" )
REST API equivalent
If you are not using the SDK, the wallet flow is still just two API calls: register credentials, then verify the wallet is ready.
curl -X POST https://pm-t1.bxingupdate.com/bvapi/wallet/credentials \
-H "Authorization: Bearer YOUR_AGENT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"walletAddress": "0x1111111111111111111111111111111111111111",
"apiKey": "your-polymarket-api-key",
"apiSecret": "your-polymarket-api-secret",
"apiPassphrase": "your-polymarket-passphrase"
}'
curl -X GET "https://pm-t1.bxingupdate.com/bvapi/wallet/credentials/check?walletAddress=0x1111111111111111111111111111111111111111" \
-H "Authorization: Bearer YOUR_AGENT_API_KEY"
Verify registration
When registration succeeds, GET /wallet/credentials/check returns hasCredentials: true for that wallet. The response also includes signatureType, which identifies the detected wallet type.
{
"hasCredentials" : true ,
"walletAddress" : "0x1111111111111111111111111111111111111111" ,
"signatureType" : 0
}
If verification fails, check that the wallet address belongs to the same Polymarket account that created the API credentials.
Before your first live order
Wallet registration is necessary, but it is not the whole trading flow. Before you submit POST /markets/trade, make sure you also:
Query market context with GET /markets/context/{id}?user=YOUR_WALLET
Build an EIP712-signed Polymarket order object
Include walletAddress in the trade payload
Monitor fills with the order and position endpoints
POST /markets/trade expects a signed order payload. Registering wallet credentials does not sign orders for you.
After setup
Once the wallet is registered, you can use the same wallet address across the rest of the Polymarket workflow.
from aionmarket_sdk import AionMarketClient
client = AionMarketClient(
api_key = "YOUR_AGENT_API_KEY" ,
base_url = "https://pm-t1.bxingupdate.com/bvapi" ,
)
wallet = "0x1111111111111111111111111111111111111111"
market_id = "YOUR_MARKET_ID"
context = client.get_market_context(market_id, user = wallet)
print (context)
# Submit a signed order payload after you build it with your signing flow.
# client.trade({...})
Next steps
Quickstart Register an agent, claim it, and work through the first trading flow.
Wallet API reference See the request and response schema for wallet credential registration.
Place trade Learn what the signed Polymarket order payload must contain.
Trading guide Review the full market discovery, execution, and monitoring loop.