Skip to content

bullpen polymarket sweep-native-pol

Last updated: May 29, 2026

Move native POL accidentally sent to a Deposit Wallet via the gasless relayer.

Usage

bullpen polymarket sweep-native-pol [OPTIONS] --to <ADDRESS> --amount <AMOUNT>

Live Help

Move native POL accidentally sent to a Deposit Wallet via the gasless relayer.

This is different from `sweep-stranded --token MATIC/POL`, which moves wrapped WMATIC/POL ERC-20. Native POL is the Polygon gas token and must be transferred with a native-value relayer call.

The first release supports Deposit Wallet sources. Legacy Safe native-POL recovery stays support-only until the SAFE relayer request contract is confirmed to carry native value.

Usage: bullpen polymarket sweep-native-pol [OPTIONS] --to <ADDRESS> --amount <AMOUNT>

Options:
      --from <ADDRESS>
          Source Deposit Wallet address. Defaults to your active Deposit Wallet when omitted

      --output <OUTPUT>
          Output format for command results

          [possible values: table, json]

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

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

      --to <ADDRESS>
          Destination address (0x-prefixed). Required; use --unsafe-recipient for third-party addresses

      --amount <AMOUNT>
          Amount of native POL to sweep, in POL units (18 decimals max)

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

      --unsafe-recipient
          Allow sending to an arbitrary address, not just your own EOA or Deposit Wallet

      --dry-run
          Print the relayer transfer plan without submitting

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

  -y, --yes
          Skip confirmation prompt

      --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:
  bullpen polymarket sweep-native-pol --help
      Show options for this command without signing, submitting, or changing state.

Example Commands

bullpen polymarket sweep-native-pol [OPTIONS] --to <ADDRESS> --amount <AMOUNT>
bullpen polymarket sweep-native-pol --help
bullpen polymarket sweep-native-pol --output json

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.