Skip to content

bullpen polymarket migrate-collateral

Last updated: August 26, 2026

Deprecated compatibility command for moving pUSD between older Safe/Proxy wallets and the current Deposit Wallet. Prefer bullpen polymarket migrate.

Usage

bullpen polymarket migrate-collateral [OPTIONS]

Live Help

Deprecated compatibility command for moving pUSD between older Safe/Proxy wallets and the current Deposit Wallet. Prefer `bullpen polymarket migrate`.

By default, this compatibility command moves pUSD from your legacy Safe/Proxy wallet to your current Deposit Wallet. Prefer `bullpen polymarket migrate`, which plans the supported recovery path from current wallet evidence.

`--reverse` is exceptional: it moves pUSD from the current Deposit Wallet back to a specified Safe/Proxy recovery wallet. Use it only when Bullpen Support or a recovery plan gives you the exact Safe/Proxy destination.

After any live submit, reconcile balances before repeating; a later run is a no-op only when the source balance is already empty or the migration already succeeded.

Usage: bullpen polymarket migrate-collateral [OPTIONS]

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

          [possible values: table, json]

      --yes
          Skip the confirmation prompt

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

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

      --safe <ADDRESS>
          Specify the legacy Safe/Proxy wallet address. Use this when recovery output or Bullpen Support gives you the exact Safe/Proxy address. Must be a 0x-prefixed Ethereum address

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

      --dry-run
          Print the planned source wallet, destination wallet, amount, and safety checks without submitting. Useful for previewing the operation

      --amount <AMOUNT>
          Optional partial amount to migrate, in pUSD (6-decimal). When omitted, migrates the full balance. Useful for testing or for keeping some collateral on the source wallet

      --include-usdc-e
          Also convert any Safe-held USDC.e to pUSD before migrating. Without this flag, USDC.e on the Safe is left behind. With this flag, the converted pUSD and existing pUSD are moved to the Deposit Wallet in one confirmed operation. With no Safe USDC.e, behaves exactly like the no-flag form after the command proves the current balance state. Ignored when `--reverse` is set

      --reverse
          Exceptional reverse recovery: move pUSD from the current Deposit Wallet back to the specified legacy Safe/Proxy wallet. Use only with a reviewed recovery plan or Bullpen Support direction. When set, `--include-usdc-e` is ignored and `--safe` is required if Bullpen cannot resolve the Safe/Proxy address automatically

      --i-know-this-strands-funds-from-trading
          Bypass the deployed-deposit-wallet strand guard when running `--reverse`. ONLY pass this if you understand that your Deposit Wallet is deployed and server-selected for trading — meaning funds moved to the Safe/Proxy may be invisible to trading surfaces until you run `migrate-collateral` (forward) to move them back

      --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 the legacy Safe/Proxy to Deposit Wallet migration without submitting
  bullpen polymarket migrate-collateral --dry-run --output json

  # Execute the full Safe-held pUSD migration after reviewing the dry-run
  bullpen polymarket migrate-collateral --yes

  # Preview a partial migration amount without submitting
  bullpen polymarket migrate-collateral --amount 10 --dry-run --output json

Example Commands

bullpen polymarket migrate-collateral --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.