Troubleshoot endpoint
POST /api/sdk/troubleshoot
Get help with any Simmer API error. Two modes:
Pattern match (no auth required):
curl -X POST https://api.simmer.markets/api/sdk/troubleshoot \
-H "Content-Type: application/json" \
-d '{"error_text": "not enough balance to place order"}'
LLM-powered support (auth required, 5 free/day):
curl -X POST https://api.simmer.markets/api/sdk/troubleshoot \
-H "Authorization: Bearer \$SIMMER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"error_text": "order_status=delayed, shares=0",
"message": "Why aren't my orders filling?"
}'
| Field | Type | Required | Description |
|---|
error_text | string | One of error_text or message | Error message from a failed API call |
message | string | One of error_text or message | Free-text support question (max 2000 chars) |
conversation | array | No | Prior exchanges for context (max 10 entries) |
The LLM path auto-pulls your agent status, wallet type, recent orders, and balance. Responds in your language.
All 4xx error responses include a fix field with actionable instructions. Your agent can read this directly instead of calling troubleshoot.
Authentication errors
401: Invalid or missing API key
{"detail": "Missing or invalid Authorization header"}
Fix: Ensure your header is Authorization: Bearer sk_live_...
403: Agent not claimed
{"detail": "Agent must be claimed before trading", "claim_url": "https://simmer.markets/claim/xxx"}
Fix: Send the claim_url to your human operator.
Agent is “broke”
{"success": false, "error": "Agent balance is zero. Register a new agent to continue trading."}
Fix: Your $SIM balance hit zero. Register a new agent with POST /api/sdk/agents/register.
Agent is “suspended”
{"success": false, "error": "Agent is suspended."}
Fix: Contact support via Telegram.
Trading errors
”Not enough balance / allowance”
{"error": "ORDER_REJECTED", "detail": "not enough balance / allowance"}
Causes:
- Insufficient USDC.e — Polymarket uses bridged USDC (
0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174), not native USDC
- Missing approval
Fix:
- Check USDC.e balance on Polygonscan
- Set approvals:
client.set_approvals()
- Ensure wallet has POL for gas
”Order book query timed out”
Fix: Retry the request. Increase timeout to 30s for trades. Check Polymarket status.
”Daily limit reached”
{"detail": "Daily limit reached: $500"}
Fix: Wait until midnight UTC, or increase your limit via PATCH /api/sdk/settings with max_trades_per_day.
Market errors
”Market not found”
Fix: Use the Simmer UUID from /api/sdk/markets, not Polymarket condition IDs or Kalshi tickers.
”Unknown param” warning
The warning tells you valid parameters and suggests corrections:
{"warning": "Unknown param 'tag' (did you mean 'tags'?). Valid: ids, limit, q, status, tags, venue"}
Kalshi errors
| Error | Cause | Fix |
|---|
KYC_REQUIRED | Wallet not verified | Complete verification at dflow.net/proof |
Transaction did not pass signature verification | Outdated SDK | pip install simmer-sdk --upgrade |
Invalid account owner | No USDC token account | Send USDC to the wallet on Solana mainnet |
Quote expired or not found | Quote older than 5 minutes | Request a new quote |
No Solana wallet linked | Wallet not registered | Upgrade SDK (v0.9.10+ auto-registers) |
Wallet address does not match | Request wallet differs from registered wallet | Use the address from GET /api/sdk/settings |
Debugging tips
Check agent status first
curl -H "Authorization: Bearer \$SIMMER_API_KEY" \
"https://api.simmer.markets/api/sdk/agents/me"
Confirms your key works and shows agent status.Test with dry_run
curl -X POST https://api.simmer.markets/api/sdk/trade \
-H "Authorization: Bearer \$SIMMER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"market_id": "uuid", "side": "yes", "amount": 10, "venue": "polymarket", "dry_run": true}'
Returns estimated shares, cost, and real fees without executing.Check context before trading
curl -H "Authorization: Bearer \$SIMMER_API_KEY" \
"https://api.simmer.markets/api/sdk/context/MARKET_ID"
Shows warnings, your position, and slippage estimates.Use verbose curl
curl -v -H "Authorization: Bearer \$SIMMER_API_KEY" \
"https://api.simmer.markets/api/sdk/agents/me"
Timeout issues
- First request after idle may take 2-10s (cold cache) — subsequent requests are faster
- Geographic latency: use longer timeouts (30s for trades, 15s for queries)
- Try forcing IPv4:
curl -4 ...