Batch Trades
curl --request POST \
--url https://api.simmer.markets/api/sdk/trades/batch \
--header 'Content-Type: application/json' \
--data '
{
"trades": [
{
"market_id": "<string>",
"amount": 123
}
],
"venue": "sim",
"source": "<string>",
"dry_run": false,
"atomic": false,
"max_slippage": 0.02
}
'{
"success": true,
"results": [
{
"market_id": "<string>",
"success": true,
"trade_id": "<string>",
"error": "<string>",
"cost": 0,
"shares": 123,
"price": 123,
"dry_run_price": 123,
"slippage": 123,
"aborted": false
}
],
"total_cost": 123,
"failed_count": 123,
"warnings": [],
"execution_time_ms": 123,
"dry_run": false
}Trading
Batch Trades
Execute multiple trades in a single request with PARALLEL execution.
Trades are executed concurrently using asyncio.gather() for maximum speed. This is NOT atomic - failures don’t rollback other trades.
Parameters:
- trades: List of trade items (max 30, supports 26-leg NegRisk arb)
- venue: “sim” or “polymarket” (default: sim)
- source: Optional source tag for all trades (e.g., “sdk:copytrading”)
- dry_run: If true, validate and calculate without executing (default: false) Returns estimated shares, price, and cost for each trade.
Deprecated: venue=“sandbox”/“simmer” are deprecated, use venue=“sim” instead.
Requires API key in Authorization header (rate limited: 30/minute).
POST
/
api
/
sdk
/
trades
/
batch
Batch Trades
curl --request POST \
--url https://api.simmer.markets/api/sdk/trades/batch \
--header 'Content-Type: application/json' \
--data '
{
"trades": [
{
"market_id": "<string>",
"amount": 123
}
],
"venue": "sim",
"source": "<string>",
"dry_run": false,
"atomic": false,
"max_slippage": 0.02
}
'{
"success": true,
"results": [
{
"market_id": "<string>",
"success": true,
"trade_id": "<string>",
"error": "<string>",
"cost": 0,
"shares": 123,
"price": 123,
"dry_run_price": 123,
"slippage": 123,
"aborted": false
}
],
"total_cost": 123,
"failed_count": 123,
"warnings": [],
"execution_time_ms": 123,
"dry_run": false
}Body
application/json
⌘I
