Skip to content

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:

bullpen polymarket orders --output json
bullpen polymarket clob order <ORDER_ID> --output json

Open Orders

View your current open orders (requires authentication):

bullpen polymarket orders

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.

bullpen polymarket orders --address <WALLET_ADDRESS> --history

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:

Order <ORDER_ID> cancelled.

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:

Cancelled 3 order(s).

If some orders fail to cancel, the CLI reports which ones and why:

Cancelled 2 order(s).
  <ORDER_ID_THAT_FAILED>: order not found

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:

bullpen polymarket clob order <ORDER_ID> --output json

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.

bullpen polymarket orders --output json
bullpen polymarket orders --cancel-all

You will be prompted to confirm unless --yes is passed:

Cancel ALL open orders? [y/N]: y
Cancelled 5 order(s).

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

bullpen tracker 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:

bullpen tracker watchlist

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:

Added '<event-slug>' to watchlist.

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:

bullpen tracker watchlist

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:

Removed '<event-slug>' from watchlist.

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.