Troubleshooting¶
Common issues and resolutions for Bullpen CLI users. Use this reference when the user reports a problem that does not require a code change — deposit delays, wrong asset sent, account access, CLI errors.
JSON Fields To Inspect¶
When a command supports --output json, prefer structured fields over prose.
Read recovery.next_action or recovery_plan.next_action first. Use
wallet_readiness for the on-chain/server-selected wallet state and
clob_readiness or clob_route_readiness for off-chain order-credit or CLOB
route checks. support emits clob_readiness; polymarket wallet-audit emits
clob_route_readiness. A status such as user_action_available,
diagnostic_required, or support_required describes the state;
resolution_owner should identify who can act, such as user or
bullpen_support. If the CLOB readiness object has terminal: true and
resolution_owner: "bullpen_support", stop retrying money-moving commands and
attach the support bundle named in support_artifact. selected_wallet,
selected_wallet_route, and the readiness object's selected_wallet identify
the Polymarket wallet Bullpen will use for trading.
Error Recovery Quick Reference¶
| Error Message | Likely Cause | Fix |
|---|---|---|
| "Polymarket relayer returned 401 Unauthorized" | Stale session, old CLI version, or relayer auth rejection | Run bullpen status and bullpen doctor auth, then bullpen upgrade if stale. Re-login only when diagnostics say login is required. Use bullpen polymarket approve --yes only when preflight or the failing command reports missing approvals. |
| "Insufficient pUSD balance" or "not enough balance" | Have USDC but not pUSD | bullpen polymarket preflight, then bullpen polymarket wrap <amount> --preview --output json, then bullpen polymarket wrap <amount> --yes |
| "balance: 0, order amount: N" | Same — USDC not wrapped to pUSD | bullpen polymarket wrap <amount> --preview --output json, then bullpen polymarket wrap <amount> --yes |
| "Polymarket CLOB API-key creation failed (HTTP 403)" | Polymarket API-key creation is behind a Cloudflare browser challenge | Visit polymarket.com with the connected wallet, open Settings -> API Keys, create an API key, then rerun the CLI command |
| "Polymarket relayer reports degraded service (STATE_FAILED)" | Position-specific relayer/on-chain-state failure or relayer state rejection | Upgrade and retry on the current CLI. Current builds include known neg-risk setup when the CLI can prove it. If it still fails, capture relayer_trace_id, condition_id, dry-run JSON, and live-submit output; escalate instead of telling the user to keep retrying |
Safe GS013 or safe_inner_call_revert |
Safe/proxy inner transaction execution reverted after the relayer accepted the batch | Do not auto-switch wallets. Capture --output json, relayer_trace_id, wallet address/kind, signer EOA, and command output; escalate to support for Safe/proxy recovery. |
| "Polymarket relayer reports degraded service (rate limited)" | Relayer/Cloudflare rate limiting | Retry in a few minutes |
| "Polymarket relayer returned HTTP 5xx" | Relayer, backend, or provider outage after the command reached the mutation path | Wait a few minutes, retry once, then stop retrying if the same 5xx repeats. Capture --output json and file support; do not treat this as a wallet, approval, or login repair. |
"Polymarket is currently experiencing issues" or "polymarket_status" |
Polymarket status page reports a degraded CLOB/API/RPC/auth component while the relayer rejected the request | Retry in a few minutes and check https://status.polymarket.com |
| "Closed-only / geo-restricted" | Polymarket wallet is flagged or closed-only | Run bullpen doctor auth, contact Polymarket support, and include Bullpen diagnostics if filing a Bullpen ticket |
| "market not found" | Slug changed or market resolved | bullpen polymarket search <query> to find the current slug |
POLYMARKET_MARKET_RESOLVED, market_state: "market_resolved", or market_state: "closed_or_resolved" |
The market is resolved/closed; preview did not submit or get rejected by CLOB | If the user may hold outcome tokens, run bullpen recover redeem --dry-run --output json. For zero-payout accounting, run bullpen polymarket closeout --scope lost --dry-run --output json. Do not retry sell --max --min-price 0 against the old CLOB book. |
POLYMARKET_ORDERBOOK_UNAVAILABLE or market_state: "orderbook_unavailable" |
There is no active CLOB book for that outcome | Run bullpen polymarket discover or wait for a live orderbook. If the market is resolved and the user holds tokens, use the redeem dry-run instead of a sell preview. |
| "Price X is outside the valid range for this market" | Price doesn't match market tick size | bullpen polymarket price <slug> to check tick size, adjust price |
| "Price has N decimal places, but tick size allows M" | Too many decimals for tick size | Round price to tick size precision |
| "Minimum order size is 5 shares" | Below minimum | Use --shares 5 or more |
| "CLOB authentication failed" | JWT expired, stale local session, or old CLI version | Run bullpen status, bullpen doctor auth, then bullpen upgrade. Re-login only when diagnostics say the refresh token was rejected or login is required. Do not add a separate service key as a normal customer workaround; support resolution still needs current installed-version evidence without legacy key material. |
AUTH_REFRESH_PERSISTENCE_FAILED |
Refresh succeeded but the rotated credentials could not be saved durably | Stop unattended commands, keep the same BULLPEN_HOME, make sure the Bullpen home is writable, and run bullpen doctor auth --output json before retrying money-moving commands. |
AUTH_REFRESH_REJECTED_LOGIN_REQUIRED |
The auth service rejected the refresh token | Run bullpen login; this is the auth failure class that needs a human device login. |
AUTH_REFRESH_TRANSIENT_FAILURE |
Refresh failed due to a retryable network or service problem | Retry the command before starting a new login. |
signing_capability.signing_capability: "turnkey_resource_missing" |
Credentials decrypt, but the active signer cannot sign through the needed Turnkey path | Run bullpen doctor auth --output json, then bullpen support. Do not loop on bullpen login unless the diagnostic says login_required. |
USERGATE_AUTH_REJECTED_NO_REPLAY |
Bullpen account services rejected auth for a non-idempotent mutation such as email OTP send, wallet private-key import, deposit-wallet deploy/reregister, wallet-tracker add/remove, or copy-trading, and Bullpen did not replay it | Run the next_action diagnostics and inspect account/order state before any manual retry. |
PEAR_READ_SESSION_MISSING_NO_REFRESH or PEAR_READ_SESSION_EXPIRED_NO_REFRESH |
Pear pair reads need a cached Pear session and the CLI did not refresh it during the read | Run bullpen hl pair login --yes, then rerun the read. Do not run live setup unless pair status or pair setup --preview reports setup is incomplete. |
PEAR_MUTATION_AUTH_REJECTED_NO_REPLAY |
Pear rejected auth after a live Pear write request was submitted | Inspect bullpen hl pair positions --output json and bullpen hl pair orders --output json before retrying. |
TRADE_SERVER_REDEEM_AUTH_REJECTED_NO_REPLAY |
Bullpen rejected auth on a redeem path without idempotency proof | Run bullpen doctor auth --output json, then inspect redeem dry-run and wallet audit output before retrying manually. |
| "Turnkey sign_raw_payload Internal" | Keypair mismatch, expired signing session, or local keypair problem | Run bullpen status --output json and bullpen doctor auth --output json; re-login only when diagnostics report login is required, and use bullpen logout --force only when diagnostics/support identify local credential reset as the recovery. |
AUTH_CREDENTIALS_FILE_CORRUPT, "credentials.json.enc could not be decrypted", or "credential_salt.bin missing/corrupt" |
Local credentials file is corrupt, missing its matching salt, or no longer matches credential_salt.bin |
Run bullpen login to start a fresh session; it moves unreadable local auth files aside before re-authenticating. Run bullpen doctor auth --output json first if you need support to inspect copied-home state. Restore the matching salt first only if you need to keep the old local session. Use bullpen logout --force only as a last-resort local reset. |
AUTH_TURNKEY_KEYPAIR_UNREADABLE or "Local Turnkey keypair is unreadable" |
Local encrypted Turnkey keypair file is corrupt or unreadable | Run bullpen doctor auth --output json first and preserve it for support; run bullpen login only when diagnostics report login is required, and use bullpen logout --force only when diagnostics/support identify local credential reset as the recovery. |
"Could not find any resource to sign with. Addresses are case sensitive" (Turnkey 404 on polymarket approve / deploy-deposit-wallet / signing paths) |
Older CLI build did not normalize wallet-address casing before signing, or the account needs server-side Turnkey repair | Run bullpen upgrade and retry. If bullpen doctor auth --output json still reports resource missing / exit 14, open a support ticket for Turnkey account repair. |
"spender 0xa2a3D49C…64c8 is not in the allowed list" on polymarket approve (Safe/Proxy wallets) |
Older CLI build sent an approval that the relayer rejects for Safe/Proxy wallets | Run bullpen upgrade and retry. |
"After bullpen logout && bullpen login, balance shows $0 / old Safe/Proxy address" |
Stale or inconsistent wallet routing | Run bullpen upgrade; current builds refresh wallet-routing evidence and fail closed when server evidence is inconsistent. If balances or wallet kind still look wrong, run bullpen polymarket wallet-audit --refresh --include-order-credit --output json and send support the output. |
"1151: server-vs-on-chain wallet disagreement" or L2_WALLET_DISAGREEMENT |
Server-selected Polymarket wallet and refreshed wallet-audit evidence disagree, or wallet-routing data is stale/inconclusive | Run bullpen polymarket wallet-audit --refresh --include-order-credit --output json. Do not retry with --wallet as a bypass; it does not override Safe/Proxy vs Deposit Wallet server selection and does not bypass 1151. Attach the refreshed audit JSON to Bullpen support; run bullpen polymarket wallet select --kind <safe|proxy|dw> --yes only if support confirms the exact intended kind, then bullpen polymarket activate --yes if needed. Passive bullpen status cannot confirm or clear this disagreement. |
PM_LEGACY_DEPOSIT_WALLET_PENDING_RECOVERY |
Funds are at a legacy pre-beacon Deposit Wallet address and are waiting for Polymarket/Bullpen recovery | Tell the user funds are safe on-chain. Run bullpen support and attach status, doctor wallet, and wallet-audit JSON if requested. Do not advise repeated approve, activate, reregister, trading, logout, or login attempts for that wallet. |
POLYMARKET_RELAYER_WALLET_NOT_REGISTERED or "wallet registry validation failed" |
Bullpen may select a deployed Deposit Wallet, but Polymarket's relayer registry does not recognize it | Run bullpen polymarket wallet-audit --refresh --include-order-credit --output json and bullpen doctor wallet --output json, then try bullpen polymarket reregister-deposit-wallet --force-relayer-refresh --yes --output json. If the forced refresh does not return status: registered, Bullpen support must repair the relayer registry row. |
| "Safe / Proxy / Deposit Wallet / missing funds confusion" | Funds may be on a non-trading Polymarket wallet | Run bullpen polymarket wallet-audit --refresh --include-order-credit --output json first. Passive bullpen status performs no server-selected, split-brain, on-chain, or CLOB checks. If the audit reports stranded assets, dry-run bullpen polymarket consolidate, then use bullpen polymarket consolidate --yes when the plan is correct. Run bullpen polymarket preflight and bullpen polymarket activate if the wallet has never traded. Default to no --wallet-kind; consolidate --wallet-kind safe\|dw is an asset-movement override, not a trading-wallet switch or default 1151 repair. Use it only when the refreshed audit or Bullpen support explicitly identifies a deployed, owned destination. |
"Wallet account not found" |
Server-side registry doesn't recognize your wallet | Run bullpen polymarket wallet-audit --refresh --include-order-credit --output json and open a support ticket with the command output. Use legacy bullpen polymarket wallet check only if Bullpen support asks for old-format output. |
| "Portfolio total looks roughly 100x too big" (Hyperliquid Perps) | Older CLI build trusted stale gRPC values over native preferred values | Run bullpen upgrade, then recapture bullpen portfolio overview --output json and bullpen hl status --output json. Current builds prefer native Hyperliquid portfolio values, but support resolution still needs affected-account installed-version evidence from the current release artifact. |
| "take-profit price must be above/below the entry reference" or "stop-loss price must be above/below the entry reference" | Hyperliquid entry bracket TP/SL is on the wrong side of the mark or limit price | Preview with bullpen hl long <COIN> --notional <USD_NOTIONAL> --tp <PRICE> --sl <PRICE> --preview and adjust TP/SL to the correct side before live submission. |
HYPERLIQUID_BUILDER_OVERRIDE_DISABLED or "Hyperliquid builder override is disabled" |
Debug-only builder attribution override flags were passed without the support/QA env gate | Remove --builder-address / --builder-fee-bps, or set BULLPEN_HYPERLIQUID_ALLOW_BUILDER_OVERRIDE=1 only if Bullpen support/QA instructed you to use this override. |
| "Stranded ERC-20 on Safe/Proxy (USDC.e / USDe / pUSD / WMATIC/POL) with no MATIC for gas" | Wrong-token or wrong-chain deposit landed on the Safe/Proxy wallet | Run bullpen funds diagnose-deposit --tx <TX_HASH> --chain <CHAIN> --token <TOKEN> --address <RECIPIENT_ADDRESS> and bullpen polymarket wallet-audit. Bullpen support may direct bullpen polymarket sweep-stranded --token <TICKER> --amount <AMOUNT> --yes for Safe/Proxy-held ERC-20 funds, including wrapped POL/WMATIC at 0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270, or bullpen polymarket sweep-signer-eoa --yes for signer-held funds. Native POL is different: use bullpen polymarket sweep-native-pol only for Deposit Wallet sources; Safe/Proxy native POL stays support-only. Private-key export is not the default recovery path and should be used only if Bullpen support explicitly directs it. |
| "No sellers/buyers available" | Illiquid market or empty orderbook | Try a limit order, or wait for liquidity |
1151 Wallet-Routing Repair¶
Treat 1151: server-vs-on-chain wallet disagreement /
L2_WALLET_DISAGREEMENT as a routing-safety stop, not as a prompt to retry
with a different flag. --wallet <OWNER_EOA> pins the Bullpen signer only; it
does not override the server-selected Safe/Proxy vs Deposit Wallet route and
does not bypass 1151.
Treat requires_state_inspection: true in JSON as a hard stop for unattended
live retry. The CLI deliberately avoided replaying a non-idempotent command;
run the provided diagnostics and inspect state before any manual retry.
# 1. Refresh the authoritative audit first
bullpen polymarket wallet-audit --refresh --output json
# 2. Cross-check local/server/on-chain wallet evidence for support
bullpen doctor wallet --output json
# 3. After Bullpen support confirms the intended server wallet kind
bullpen polymarket wallet select --kind <safe|proxy|dw> --yes
# 4. If the selected wallet has never traded, create CLOB credentials/approvals
bullpen polymarket activate --yes
Do not run wallet select --kind from audit output alone. Open a support ticket
with local bullpen status --output json, bullpen doctor wallet --output json,
and the bullpen polymarket wallet-audit --refresh --include-order-credit --output json
output, then run selection only after
Bullpen support confirms the exact intended wallet kind.
Useful JSON fields to surface when present are l2_status, disagreements[],
hints[], and the server-selected wallet kind/address.
Polymarket Auth Note¶
For valid logged-in accounts on verified artifacts, normal Polymarket
trading and gasless transaction paths use the user's login session rather than
a legacy support key. When auth fails, diagnose the session with
bullpen status and bullpen doctor auth, then upgrade. Re-login only when
diagnostics say the refresh token was rejected or login is required. Do not
treat a missing service key as the customer fix, and do not close
an auth regression without current installed-version evidence that legacy key
material is absent.
Full Account Reset¶
Use a full account reset only as a last resort after capturing current auth diagnostics:
Run the reset only when doctor auth reports login/reset recovery is required,
or when support confirms that local credential reset is the recovery path:
bullpen logout --force # Clear all local credentials + keypair
bullpen login # Fresh login with new credentials
bullpen polymarket approve --yes # Re-set V2 exchange approvals
bullpen polymarket preflight # Verify everything works
This only resets local credentials and keypair state. It does not repair
server-side Turnkey resources, wallet routing, KYC/cash-out, or copy-executor
state. Do not run it repeatedly if doctor auth still reports server-side or
account-state errors after one reset.
1. Deposit Not Showing¶
The most common support issue. Deposits go through a bridge and may take 5-15 minutes to appear.
What to check first:
# Open the web app — always use this for deposits
bullpen deposit
# Check your current pUSD trading balance
bullpen polymarket clob balance
# Check your full Bullpen portfolio
bullpen portfolio balances
Polymarket wallet and pUSD trading balance distinction:
Bullpen uses two layers of balance:
- Server-selected Polymarket wallet — Deposit Wallet, Safe, or Proxy, verified with bullpen polymarket wallet-audit --refresh --include-order-credit --output json; passive bullpen status does not resolve it
- pUSD trading balance — funds available for placing orders on Polymarket
USDC must be wrapped to pUSD before trading. Freshly wrapped pUSD can take a few minutes to appear in the CLOB trading balance.
If pUSD is on-chain but not in the trading balance:
Run the sync command to pull on-chain balance into the CLOB:
If still not visible after sync, run bullpen polymarket wallet-audit and follow the recommended consolidate or support path.
If the deposit was made via fun.xyz (web app):
Check the fun.xyz status page — delays there are outside Bullpen's control.
If funds are still missing after 30 minutes:
File a support ticket with your deposit transaction hash:
Prevention: Always use bullpen deposit which opens the web app with proper asset validation and routing. Never send funds directly to a raw address.
2. Wrong Asset, Chain, or Address¶
ETH sent to proxy wallet (instead of USDC on Polygon):
Do not default to exporting or importing private keys. Start with read-only deposit triage and wallet audit:
bullpen funds diagnose-deposit --tx <TX_HASH> --chain <CHAIN> --token <TOKEN> --address <RECIPIENT_ADDRESS>
bullpen polymarket wallet-audit
Share the outputs with Bullpen support. Support may direct bullpen polymarket sweep-stranded for Safe/Proxy-held ERC-20 funds or bullpen polymarket sweep-signer-eoa for signer-EOA funds when those commands fit the asset and chain. For 0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270, treat the asset as wrapped POL/WMATIC ERC-20, not native POL. Native POL is recovered with bullpen polymarket sweep-native-pol only from Deposit Wallet sources; Safe/Proxy native POL recovery stays support-only. Private-key export is not the default recovery path and should be used only if Bullpen support explicitly directs it.
Wrong token sent to a Bullpen wallet:
Use the same safe recovery path: bullpen funds diagnose-deposit --tx <TX_HASH> --chain <CHAIN> --token <TOKEN> --address <RECIPIENT_ADDRESS>, then bullpen polymarket wallet-audit, then follow Bullpen support guidance. Do not export/import private keys unless Bullpen support explicitly directs it.
USDC vs pUSD:
Polymarket trading uses pUSD collateral. If USDC is in the wallet, preview the wrap first with bullpen polymarket wrap <amount> --preview --output json, then execute with bullpen polymarket wrap <amount> --yes. If a different bridged or exchange-specific asset was sent, use the Bullpen web app or contact support before trying to trade with it.
Prevention: Always use bullpen deposit which opens the web app with proper asset validation. The web app enforces correct token and chain selection.
3. Transfer Between Wallets¶
Bullpen manages several wallet types: - Solana wallet — for Solana-based activity - EVM wallet (Polygon / Arbitrum / Hyperliquid) — for EVM chains - Polymarket proxy (GnosisSafe on Polygon) — the CLOB trading wallet
How to transfer between wallets:
Use bullpen wallet transfer --network solana|hyperliquid --asset USDC for
same-chain USDC transfers between visible Bullpen-managed Solana or
Hyperliquid accounts. Preview first with --preview --output json; live
submission requires --yes.
Use the Bullpen web app for cross-chain transfers between Bullpen-managed
accounts. [REMOVED] bullpen funds transfer is not available in the CLI.
Use bullpen deposit to open the web app with correct per-chain routing. The old bullpen funds deposit-address flow is not available because it could return a routing address that silently mis-routed funds.
Solana to Polymarket:
The web app does not bridge Solana USDC directly to Polygon. Swap to USDC on Solana first, then use the web app bridge to Polygon.
Use the web app for external deposit, withdrawal, and broad bridge flows. The
CLI funds namespace currently exposes the balances view only; managed
same-chain USDC transfers live under wallet transfer.
Unsupported destination-token guard:
The CLI blocks pUSD or USDe withdrawals to known exchange deposit addresses that may not support those tokens. Safer choices are to unwrap or swap to USDC first, or send to a self-custody ERC-20 wallet you control. If you intentionally accept the risk, rerun with --i-confirm-destination-supports-token only after verifying the destination supports the exact token on that chain.
4. Duplicate Proxy Wallets¶
If bullpen polymarket doctor (or bullpen doctor auth) shows "Multiple proxy wallets detected":
Backend mitigations exist for new accounts, but existing affected accounts still require support cleanup and confirmation. Contact support with your username:
Running bullpen login again may resolve the issue by re-selecting the correct proxy wallet. If it does not, support can manually clean up the duplicate.
5. Cannot Sell or Close a Position¶
Sell shows wrong share count:
Refresh the position data first, then retry the sell:
"Market unavailable" error:
The market may be in the resolution period. Wait for settlement and then use bullpen polymarket redeem to claim winnings.
CLI sell hangs or times out:
Upgrade to the latest version:
"Approval needed" error:
Check approval status before the first sell on a market, then submit missing approvals after review:
For web app sell issues:
Try clearing browser cache or use a different browser. The CLOB may also have a brief indexing delay after a recent trade.
6. Account Access Recovery¶
If the user cannot log in:
- Identify which login method was used (Google, X/Twitter, email, or wallet)
- Try all linked methods on the login page at
app.bullpen.fi - If no method works, contact support with username and email:
Prevention: Link multiple login methods (e.g., Google + email) via the web app account settings page. This provides a backup if one method becomes unavailable.
Polymarket Wallet Closed-Only or Geo-Restricted¶
bullpen doctor auth reports explicit Polymarket closed-only / geo-restricted wallet signals when the CLOB exposes them. The report includes stranded pUSD when it can be read, plus Polymarket and Bullpen support links. This is passive recovery guidance only; the CLI does not attempt wallet migration or auto-recovery.
7. USDC on a Polymarket Wallet (Not in CLOB Balance)¶
This happens when USDC lands on a Polymarket wallet but is not wrapped or synced into the CLOB trading balance.
Step 1: Run the balance sync command:
Step 2: If still stuck, the pUSD balance indexer may be delayed. Wait 10 minutes and retry:
Step 3: If still unresolved after 20 minutes, run:
bullpen funds diagnose-deposit --tx <TX_HASH> --chain <CHAIN> --token <TOKEN> --address <RECIPIENT_ADDRESS>
bullpen polymarket wallet-audit
If the audit reports stranded funds, use bullpen polymarket consolidate as the first consolidation path. Bullpen support may direct bullpen polymarket sweep-stranded or bullpen polymarket sweep-signer-eoa for specific stranded-token cases. sweep-stranded --token WMATIC, --token MATIC, --token POL, and the raw 0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270 contract refer to wrapped POL/WMATIC ERC-20 only, not native POL. Private-key export is not the default recovery path and should be used only if Bullpen support explicitly directs it.
8. Common CLI Errors¶
| Error message | Resolution |
|---|---|
"Authenticating with Polymarket..." hangs |
Upgrade to the latest version: bullpen upgrade |
"Polymarket CLOB API-key creation failed (HTTP 403)" |
Create the first API key in the browser at polymarket.com -> Settings -> API Keys, then rerun the CLI command |
"Polymarket relayer reports degraded service (STATE_FAILED)" |
Upgrade and retry on the current CLI; current builds include known setup where the CLI can prove it. If it still fails, capture trace/condition IDs plus dry-run/live-submit output and escalate; repeated STATE_FAILED on one condition is not generic retry advice |
"Polymarket relayer reports degraded service (rate limited)" |
Retry after the reported delay. |
"Polymarket relayer returned HTTP 5xx" |
Wait a few minutes and retry once. If the same class repeats, stop retrying and file support with --output json; repeated 5xx is backend/provider-owned. |
"polymarket_status" in a JSON error |
Polymarket status page reports an outage-shaped issue; retry shortly and include the JSON in support tickets |
"no Turnkey credential bundle stored" |
Run bullpen status --output json and bullpen doctor auth --output json; run bullpen login only when diagnostics report requires_login: true, missing credential recovery, or a rejected refresh token. |
"market not found" on redeem |
Run bullpen upgrade to get the latest version. If still failing, use --condition-ids with the exact condition ID from bullpen polymarket positions --output json |
"CLOB auth failed: 401 Unauthorized" |
Run bullpen status --output json and bullpen doctor auth --output json; re-login only if the JSON reports requires_login: true, AUTH_REAUTHENTICATION_REQUIRED, or a rejected refresh token |
"Multiple proxy wallets detected" |
Contact support; backend mitigations exist for new accounts, but affected accounts still need support cleanup and confirmation |
"onboarding_complete: false" |
Run bullpen login to re-trigger onboarding flow |
"Not authenticated" |
Run bullpen status --output json and bullpen doctor auth --output json; run bullpen login only when diagnostics say login is required |
"Insufficient balance" |
Check bullpen portfolio balances; use the website deposit flow (bullpen deposit opens app.bullpen.fi) |
"Order failed" |
Run bullpen polymarket preflight to check approvals and balance |
USDe balance banner:
bullpen funds balances shows a USDe balance guidance banner when the existing portfolio data reports a non-zero Polymarket/Polygon USDe row. CLI conversion to pUSD is not currently supported; use the Bullpen web app or a Polymarket-supported swap UI.
Routing-wallet probe status:
For bullpen funds balances --output json, routing_wallet_warnings: null
only means no non-zero balances were found on the verified probe scope. Check
routing_wallet_probe_status, routing_wallet_probe_scope,
verified_chains, and unverified_chains. Current successful probes are
partial_unverified because Polygon is verified while Arbitrum/Ethereum require
Bullpen routing data. If the status is probe_failed or a deposit
route needs full proof, run the JSON field's next_diagnostic_command.
Auth diagnostics command:
For any auth-related error, run the dedicated diagnostic command first:
This shows token validity, onboarding status, wallet readiness, recovery methods, and credential file health without making any changes.
Cross-References¶
- General diagnostics and support ticket filing: See
references/diagnostics.md - Deposit and balance commands: See
references/trading.md - Account and auth configuration: See
references/platform-and-account.md - Community support channels: See
references/community.md - Safe / Proxy / Deposit Wallet routing: Run
bullpen polymarket wallet-audit, then usebullpen polymarket consolidate/preflight/activateas appropriate. For 1151 /L2_WALLET_DISAGREEMENT, usebullpen polymarket wallet-audit --refresh --output jsonfirst;--walletdoes not override Safe/Proxy vs Deposit Wallet server selection, andbullpen polymarket wallet select --kind <safe|proxy|dw> --yesis support-confirmed only. Use legacybullpen polymarket wallet checkonly if Bullpen support asks for old-format output.