Skip to content

bullpen polymarket redeem-neg-risk

Last updated: July 13, 2026

Redeem neg-risk positions using the NegRiskAdapter

Usage

bullpen polymarket redeem-neg-risk [OPTIONS] --condition <CONDITION> --amounts <AMOUNTS>

Live Help

Redeem neg-risk positions using the NegRiskAdapter

Usage: bullpen polymarket redeem-neg-risk [OPTIONS] --condition <CONDITION> --amounts <AMOUNTS>

Options:
      --condition <CONDITION>
          Condition ID (0x-prefixed 32-byte hex)

      --output <OUTPUT>
          Output format for command results

          [possible values: table, json]

      --amounts <AMOUNTS>
          Manual/fallback comma-separated amounts in USDC for each outcome. Used only when on-chain detection does not find neg-risk (WCOL) balances; dry-run shows whether submission amounts came from detection or this flag

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

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

      --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.

      --yes
          Skip confirmation prompt

      --dry-run
          Print the redeem submission plan, then exit without submitting. For neg-risk recovery, inspect `amounts_source`, `detected_index_sets`, `detected_amounts_raw`, and `neg_risk_adapter_approval` before re-running without --dry-run. Live submit auto-prepends the adapter approval when it is missing or unreadable

      --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:
  # Normal customer path: use generic redeem first; it auto-detects neg-risk
  # conditions and produces support-safe dry-run JSON.
  bullpen polymarket redeem --dry-run --output json

  # Preview the neg-risk redeem plan without signing or submitting.
  # This support/QA recovery path is feature-gated and should be used only
  # when support asks for fallback amounts or adapter evidence.
  bullpen polymarket redeem-neg-risk --condition 0xYourConditionId --amounts 10,5 --dry-run --output json

  # Submit neg-risk redeem only after support reviews dry-run output.
  bullpen polymarket redeem-neg-risk --condition 0xYourConditionId --amounts 10,5 --yes

Example Commands

bullpen polymarket redeem-neg-risk --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.