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.

# View open orders (default)
bullpen polymarket orders

# Trade history
bullpen polymarket orders --history

# Cancel a single order
bullpen polymarket orders --cancel <ORDER_ID>

# Bulk cancel (comma-separated IDs)
bullpen polymarket orders --cancel id1,id2,id3

# Cancel ALL open orders
bullpen polymarket orders --cancel-all --yes

# Cancel all orders on a specific market
bullpen polymarket orders --cancel-market <CONDITION_ID> --yes
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.

Open Orders

View your current open orders (requires authentication):

bullpen polymarket orders

Output:

Market                             Outcome  Side    Price   Shares  Expiration
------------------------------------------------------------------------------------
Will BTC reach $100K?                  Yes   BUY      65¢    10.00         GTC
Will ETH flip SOL in TVL?              No   SELL      42¢    20.00         EOD

Trade History

View past trades:

bullpen polymarket orders --address 0xABC... --history

If --address is omitted, the CLI uses your logged-in Polymarket address.

Output:

Market                             Outcome     Side    Price     Size                 Time
------------------------------------------------------------------------------------
Will BTC reach $100K?                  Yes      BUY      65¢    10.00  2024-12-01T10:30:00Z
Will ETH merge succeed?                 No     SELL      40¢    20.00  2024-12-01T09:15:00Z

Cancel Orders

Cancel a Single Order

bullpen polymarket orders --cancel abc123

Output:

Order abc123 cancelled.

Bulk Cancel

Cancel multiple orders at once by passing comma-separated IDs:

bullpen polymarket orders --cancel abc123,def456,ghi789

Output:

Cancelled 3 order(s).

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

Cancelled 2 order(s).
  ghi789: order not found

Cancel All Orders

Cancel every open order on your account:

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):

bullpen polymarket orders --cancel-market 0x1234abcd...

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

Cancel all orders on market 0x1234abcd...? [y/N]: y
Cancelled 3 order(s).

Watchlist

The watchlist is stored locally at ~/.bullpen/watchlist.json (or $BULLPEN_HOME/watchlist.json).

List Watchlist

bullpen polymarket watchlist

Output:

Market                                               Added
------------------------------------------------------------------
Will BTC reach $100K by March?       2024-12-01T10:30:00+00:00
Will ETH merge succeed?              2024-11-28T08:00:00+00:00

Add a Market

bullpen polymarket watchlist --add will-btc-reach-100k

The CLI looks up the market title by slug and confirms:

Added 'Will BTC reach $100K by March?' to watchlist.

Current behavior note: some slugs resolve only when passed as the event slug (not a child market slug). If --add fails with failed to fetch event, retry with the parent event slug.

Remove a Market

bullpen polymarket watchlist --remove will-btc-reach-100k

Output:

Removed 'will-btc-reach-100k' from watchlist.

JSON Output

bullpen polymarket watchlist --output json
bullpen polymarket orders --output json
bullpen polymarket orders --history --output json

Current behavior caveat: some mutating commands (--add, --remove, cancel flows) can still emit plain-text status lines in --output json mode.