Orders and Watchlist¶
View open orders, trade history, cancel orders, and maintain a watchlist.
Orders Overview¶
The orders subcommand manages your open orders, trade history, and order cancellation. By default (no flags), it shows your current open orders.
Safety: Use the read commands to identify the exact open order or market before cleanup. The cancel commands are immediate state-change commands; execute one only after the immediately preceding read shows the live order or market you intend to cancel.
# View open orders (default)
bullpen polymarket orders
# Check the status of one direct CLOB order
bullpen polymarket clob order <ORDER_ID> --output json
# Trade history
bullpen polymarket orders --history
# Check, then cancel a single real order ID
bullpen polymarket orders --output json
bullpen polymarket clob order <ORDER_ID> --output json
bullpen polymarket orders --cancel <ORDER_ID>
# Check, then bulk cancel comma-separated IDs
bullpen polymarket orders --output json
bullpen polymarket orders --cancel <ORDER_ID_1>,<ORDER_ID_2>,<ORDER_ID_3>
# Check, then cancel ALL open orders
bullpen polymarket orders --output json
bullpen polymarket orders --cancel-all
# Check, then cancel all orders on a specific market
bullpen polymarket clob orders --market <CONDITION_ID> --output json
bullpen polymarket orders --cancel-market <CONDITION_ID>
| Flag | Description |
|---|---|
--address |
Wallet address (used with --history) |
--history |
Show past trade history |
--cancel |
Cancel order(s) by ID; comma-separate multiple IDs |
--cancel-all |
Cancel ALL open orders |
--cancel-market |
Cancel all orders on a specific market (by condition ID) |
--yes |
Skip confirmation prompt (for cancel operations) |
Note: --history, --cancel, --cancel-all, and --cancel-market are mutually exclusive. Only one can be used at a time.
Only cancel real order IDs from successful order responses or from
bullpen polymarket orders. If a create-order command failed or JSON output is
missing result.order_id, do not pass a placeholder to cancel. The CLI rejects
obvious placeholders such as null, None, undefined, and empty comma
segments before auth or network calls.
Before cancelling, list open orders and inspect the target order status when you need machine-readable confirmation:
Open Orders¶
View your current open orders (requires authentication):
Output:
Market Outcome Side Price Shares Expiration
------------------------------------------------------------------------------------
Example BTC daily price market Yes BUY 65¢ 10.00 GTC
Example ETH market cap market No SELL 42¢ 20.00 EOD
Trade History¶
View past trades:
No immediate state-change: Inspect history only for a real wallet address
you intend to check, or omit --address to use your logged-in Polymarket
address.
If --address is omitted, the CLI uses your logged-in Polymarket address.
Output:
Market Outcome Side Price Size Time
------------------------------------------------------------------------------------
Example BTC daily price market Yes BUY 65¢ 10.00 2026-06-01T10:30:00Z
Example ETH market cap market No SELL 40¢ 20.00 2026-06-01T09:15:00Z
Cancel Orders¶
Cancel a Single Order¶
Immediate state-change: Execute the cancel only after the status read shows the exact open order ID you intend to cancel.
bullpen polymarket orders --output json
bullpen polymarket clob order <ORDER_ID> --output json
bullpen polymarket orders --cancel <ORDER_ID>
Output:
For direct CLOB commands, inspect open orders first with
bullpen polymarket clob orders --output json, then use
bullpen polymarket clob cancel <ORDER_ID> for one order or
bullpen polymarket clob cancel-orders <ORDER_ID_1>,<ORDER_ID_2> for multiple
orders. The singular direct CLOB command rejects comma-separated IDs so it does
not silently cancel only the first ID. Direct cancel-orders accepts at most
1000 order IDs in one request.
Bulk Cancel¶
Cancel multiple orders at once by passing comma-separated IDs:
Immediate state-change: Execute the bulk cancel only after the open-order read shows every listed order ID and you intend to cancel all of them.
bullpen polymarket orders --output json
bullpen polymarket orders --cancel <ORDER_ID_1>,<ORDER_ID_2>,<ORDER_ID_3>
Output:
If some orders fail to cancel, the CLI reports which ones and why:
Open-order indexing can lag briefly after a successful cancel. If a just-cancelled
order still appears in bullpen polymarket orders, wait a few seconds and re-run
the command, or check the direct CLOB status:
Cancel All Orders¶
Cancel every open order on your account:
Immediate state-change: Execute cancel-all only when the open-order read shows that every listed open order should be cancelled.
You will be prompted to confirm unless --yes is passed:
Cancel by Market¶
Cancel all orders on a specific market (by condition ID):
Immediate state-change: Execute the market cancel only when the market-scoped read shows the exact condition ID whose open orders you intend to cancel.
bullpen polymarket clob orders --market 0x1111111111111111111111111111111111111111111111111111111111111111 --output json
bullpen polymarket orders --cancel-market 0x1111111111111111111111111111111111111111111111111111111111111111
You will be prompted to confirm unless --yes is passed:
Cancel all orders on market 0x1111111111111111111111111111111111111111111111111111111111111111? [y/N]: y
Cancelled 3 order(s).
Watchlist¶
The watchlist is stored server-side and syncs across devices. It supports
Prediction events, Onchain Solana tokens, Hyperliquid perps, HIP-3 perps, and
Hyperliquid spot tokens. Any existing local watchlist
(~/.bullpen/watchlist.json) is migrated automatically on first access.
List Watchlist¶
Output:
Your Watchlist (3 items)
------------------------------------------------------------------------------------------------
Type Chain Item Added
------------------------------------------------------------------------------------------------
prediction Polymarket <MARKET_SLUG_FROM_SEARCH> 2026-06-01T10:30:00+00:00
token Solana BONK 2026-06-01T10:31:00+00:00
token Hyperliquid Perp xyz:SPCX 2026-06-01T10:32:00+00:00
Add Items¶
List the current watchlist first if you need to avoid duplicate entries:
Then add the item:
Immediate state-change: Run only the one add command matching the venue and identifier you intend to save.
bullpen tracker watchlist add-polymarket <event-slug>
bullpen tracker watchlist add-solana <mint-address>
bullpen tracker watchlist add-hyperliquid --symbol BTC --kind perp
bullpen tracker watchlist add-hyperliquid --symbol xyz:SPCX --kind perp
bullpen tracker watchlist add-hyperliquid --token-id <spot-token-id> --kind spot
For Polymarket entries, the CLI looks up the event slug before writing:
For Polymarket entries, the server watchlist stores event rows. If you pass a child market slug and Gamma returns its parent event, the CLI writes the parent event slug and reports both values in JSON output.
Remove Items¶
List the current watchlist first and copy the exact item identifier:
Then remove the item:
Immediate state-change: Run only the one remove command matching the venue and exact identifier copied from your current watchlist.
bullpen tracker watchlist remove-polymarket <event-slug>
bullpen tracker watchlist remove-solana <mint-address>
bullpen tracker watchlist remove-hyperliquid --symbol BTC --kind perp
bullpen tracker watchlist remove-hyperliquid --token-id <spot-token-id> --kind spot
Output:
JSON Output¶
No immediate state-change: Use the order-history line only when you intend to inspect past Polymarket trades for the logged-in account.
bullpen tracker watchlist --output json
bullpen polymarket orders --output json
bullpen polymarket orders --history --output json
For watchlist mutations, add --output json to the same add/remove command.