Skip to content

Polymarket Wallet Routing And Consolidation

Not sure where to start? If you have a symptom (balance shows $0, deposit missing, can't trade, funds on the wrong wallet), begin with the symptom → command decision tree. This page is the deeper reference on the routing model and consolidation.

Bullpen now uses a three-category Polymarket routing model:

  • Legacy Safe — your older Safe can still trade. Do not deploy a Deposit Wallet.
  • Deposit Wallet flow — your Deposit Wallet is the trading wallet.
  • New user — no Polymarket wallet exists yet. Trading creates the Deposit Wallet flow.

The Bullpen server selects the active Polymarket wallet for each owner EOA. If funds or positions are on a non-selected wallet, that is split-brain state. Start every wallet-routing investigation with the read-only audit:

bullpen polymarket wallet-audit

The audit enumerates every owner EOA, asks the server for the selected wallet, checks Safe / Proxy / Deposit Wallet / signer balances and positions, and reports stranded assets.

If wallet-audit reports stranded assets

Preview the consolidation plan first:

bullpen polymarket consolidate

Execute only after the plan moves assets to the intended server-selected wallet:

bullpen polymarket consolidate --yes

consolidate is dry-run by default and is idempotent. It handles pUSD / USDC.e / USDC balances, on-chain CTF position transfer, and open-order preflight. Off-chain order credit cannot be moved on-chain; follow the web-app withdrawal guidance shown by the command.

For support cases involving stranded funds, manual recovery, or wallet-routing 1151 errors, do not treat a consolidation preview or command output as customer closure by itself. Record the intended destination wallet, the final server-selected wallet, before/after balances or positions, activation state, and the result of the original blocked trading or redeem flow.

If You Need One Owner Or Wallet Kind

Audit or consolidate one owner EOA:

bullpen polymarket wallet-audit --owner <OWNER_EOA>
bullpen polymarket consolidate --owner <OWNER_EOA>

The default consolidation target is the server-selected wallet, which is almost always what you want.

⚠️ --wallet-kind is a foot-gun. It forces assets onto a wallet kind that the server may not select for trading. Forcing assets to the wrong side can re-strand the funds you are trying to recover. Only pass --wallet-kind when Bullpen support explicitly tells you which side to force, after reviewing your wallet-audit output. Without it, consolidate routes to the server-selected wallet on its own.

bullpen polymarket consolidate --wallet-kind safe
bullpen polymarket consolidate --wallet-kind dw

If wallet-audit Finds No Stranded Assets

No consolidation is needed. If you still cannot trade, run:

bullpen polymarket preflight
bullpen polymarket activate

Legacy pUSD Migration

bullpen polymarket migrate and the deprecated alias bullpen polymarket migrate-collateral are legacy pUSD-only migration paths. Use them only when you specifically need to move stranded pUSD between an old Safe/Proxy wallet and Deposit Wallet. For split-brain balances, positions, or mixed assets, use wallet-audit and consolidate.

Preview legacy migration before submitting:

bullpen polymarket migrate --preview --output json

If both wallets hold pUSD, preview both target choices before executing one:

bullpen polymarket migrate --target dw --preview --output json
bullpen polymarket migrate --target safe --preview --output json