Skip to content

bullpen polymarket buy

Last updated: July 13, 2026

Buy shares on a prediction market outcome.

Usage

bullpen polymarket buy [OPTIONS] <MARKET_SLUG> <OUTCOME> <AMOUNT_USD>

Live Help

Buy shares on a prediction market outcome.

Market buys use USD notional, not share count, and must be at least $1 USDC. Preview and live submit both reject smaller amounts before authentication, signing, or order construction.

Usage: bullpen polymarket buy [OPTIONS] <MARKET_SLUG> <OUTCOME> <AMOUNT_USD>

Arguments:
  <MARKET_SLUG>
          Active market slug from `bullpen polymarket search`

  <OUTCOME>
          Outcome name. Binary markets accept aliases such as Y/N, True/False, and 1/0

  <AMOUNT_USD>
          Amount in USD (e.g., "10.50" = $10.50 of fill cost, NOT shares). Minimum: 1 USDC

Options:
      --output <OUTPUT>
          Output format for command results

          [possible values: table, json]

      --yes
          Skip confirmation

      --env <ENV>
          Target environment to connect to (overrides config.toml)

          [env: BULLPEN_ENV=]
          [possible values: staging, production]

      --preview
          Show order preview without executing

      --config <CONFIG>
          Path to a custom config.toml file (overrides $BULLPEN_CONFIG and the default location).

          Explicit --config and BULLPEN_CONFIG paths fail closed: if the file is missing, the CLI exits validation instead of silently loading defaults. Credentials still resolve via BULLPEN_HOME, so set BULLPEN_HOME too when isolating a session.

      --max-price <MAX_PRICE>
          Maximum acceptable fill price — reject if fill would exceed this price

      --auto-wrap
          Automatically wrap USDC.e → pUSD when pUSD balance is insufficient before placing the buy order. This is a money-moving consent flag: typing it authorises a USDC.e → pUSD wrap for exactly the shortfall amount. For manual control use `bullpen polymarket wrap <amount>` instead

      --wallet <WALLET>
          Pin the signer to a specific owner EOA (0x…). Does not override the server-selected Safe/Proxy/Deposit Wallet or bypass 1151 safety checks. Use in bot automation to avoid wallet-select races

      --read-only
          Enable read-only mode: blocks all mutating commands

      --non-interactive
          Suppress interactive prompts; does NOT imply --yes for money-moving commands

          [env: BULLPEN_NON_INTERACTIVE=]

  -h, --help
          Print help (see a summary with '-h')

EXAMPLES:
  # Preview a $5 market buy on No without signing or submitting
  bullpen polymarket buy will-ronaldo-cry-at-the-world-cup-20260604013616610 No 5 --preview --output json

  # Buy $5 of No with a maximum fill price
  bullpen polymarket buy will-ronaldo-cry-at-the-world-cup-20260604013616610 No 5 --max-price 0.01 --yes

  # Pin a specific owner EOA for automation and preview the order
  bullpen polymarket buy will-ronaldo-cry-at-the-world-cup-20260604013616610 No 5 --wallet 0xYourOwnerEOA --preview

Example Commands

bullpen polymarket buy --help

JSON Output

Contract: JSON Output Contract.

This command supports --output json, but this generated reference page intentionally does not include a synthetic success schema or example.

Use the live command in your target environment to inspect command-specific success fields. Error output follows the shared JSON output contract linked above.

Error Envelope

When a Polymarket CLOB or gasless-relayer rejection coincides with a degraded Polymarket status page, the error envelope may include a polymarket_status object:

{
  "polymarket_status": {
    "page_status": "HASISSUES",
    "status_url": "https://status.polymarket.com",
    "affected_components": [
      {"name": "CLOB API", "status": "PARTIALOUTAGE"}
    ],
    "advisory": "Polymarket is experiencing issues; this rejection is most likely a Polymarket-side outage."
  }
}

The field is omitted on local validation/auth/balance errors and when the status-page fetch times out or reports healthy relevant components.

Schema version: 1 when a command emits schema_version; otherwise treat the current command shape as contract version 1.

Stability

Patch releases may add nullable or optional fields. Minor releases may add required fields or increment schema_version. Major releases may remove or rename fields.