celsa
Documentation
Open App ↗

Wallet & Deposits

Where your money lives, what we do to it on the way in, and the path out when you want to withdraw.

TL;DR

Two addresses on Polygon: an embedded EOA (yours, browser-based, holds gas) and a smart-contract trading wallet (where your balance lives). Send USDC on Polygon and we auto-convert it to pUSD, the token Polymarket uses for trading. Withdraw to any major chain — same 0.15% fee.

How your wallet works

Sign up and Privy mints you an embedded wallet — lives in your browser, no extension, no seed phrase. Behind it we deploy a smart-contract trading wallet that talks to Polymarket. You don't sign Polymarket transactions yourself; the trading wallet does, and we cover the gas.

New accounts get a Polymarket deposit wallet (the new smart-account model — sigType=3 / POLY_1271). Older accounts kept their Gnosis Safe from before the cutover. Both behave identically from your point of view; the difference matters only in how transactions get signed under the hood.

Two addresses, two jobs

AddressWhat it doesDo you touch it?
Embedded EOAHolds POL gas; signs trade approvalsRarely — auto-managed
Trading walletHolds your trading balance; talks to PolymarketNo — we handle it

Where to deposit

Open the wallet popup (the orange pill in the top-right) and hit Deposit. The modal shows you addresses for whichever chain you want to send from. Funds land, the auto-pipeline runs, and your trading balance updates within ~30 seconds for same-chain Polygon deposits, or 1-3 minutes for cross-chain.

Supported deposit chains

ChainTokens acceptedSpeed
PolygonUSDC, USDC.e, pUSD, POL~30s
SolanaUSDC, USDT, SOL30-60s
EthereumUSDC, USDT, ETH2-5min (finality)
Base / Arbitrum / OptimismUSDC, USDT, native gas1-3min
BSCUSDC, USDT, BNB1-2min
AvalancheUSDC, AVAX1-2min
BitcoinBTC~10-20min (block time)

Solana is the cheapest path. Bitcoin works but is slow because of confirmation times — fund earlier in the day if you need to trade the same evening.

Tokens we work with on the trading wallet

TokenNetworkWhy you might see it
pUSDPolygonPolymarket V2 trading collateral — this is your trading balance
USDC.ePolygonBridged USDC, mid-pipeline before wrap to pUSD
USDCPolygonNative USDC, swaps to USDC.e then wraps to pUSD
POLPolygonPolygon gas — auto-granted, you do not need to top up

The auto-pipeline

Most users never think about this. Here's what runs in the background so the balance you care about (pUSD) stays current:

  • ●Native USDC on the EOA gets swapped to USDC.e via Uniswap
  • ●USDC.e on the EOA gets swept to the trading wallet
  • ●USDC.e on the trading wallet gets wrapped to pUSD via the Polymarket Onramp
  • ●Native USDC stuck on the trading wallet (CCTP bridge case) shows a one-click Recover button
  • ●POL deposited by mistake gets auto-swapped to USDC.e (POL needs to be 25+ for the swap to be worthwhile)

We don't fire a notification for every step. You see a toast when funds finally land in your trading balance — not five separate ones for each leg.

Do I need POL for gas?

For trading, no. Polymarket's relayer pays the gas and we recoup it from your trading balance. Withdrawals are also relayer-paid for new accounts (deposit-wallet vintage). Same-chain Polygon withdrawals on either vintage skip the EOA hop entirely.

The only time POL matters is if you connected an external wallet and want to move funds yourself. We auto-grant a small amount of POL the first time we detect a deposit, and the wallet popup has a Get Gas button if you need a manual top-up.

Withdrawals

Open the wallet popup, hit Withdraw, pick the destination chain, paste the address. We unwrap pUSD to USDC.e on the trading wallet and send straight to the recipient for same-chain Polygon. For cross-chain, we land USDC.e on your EOA and surface a Jumper deeplink that finishes the bridge in one signature.

Withdraw fee is 0.15% across all chains. Cross-chain bridges add their own fee + slippage on top — that goes to the bridge, not us.

Per-chain minimums

Below these floors the bridge fees eat the entire withdrawal. We block under-minimum attempts up front so you don't accidentally send $5 to Bitcoin and net $0:

ChainMinimum
Polygon (USDC.e)$1
Base / Arbitrum / Optimism / BSC / Avalanche$5
Solana$15
Ethereum$25
Bitcoin$50

Important

Self-send guard: if the destination address is your own EOA on a non-Polygon chain, we block the withdrawal. Bridges happily route to your own 0x... address, but the funds land on the wrong network and become unrecoverable. Paste the destination wallet's actual address for that chain — not your Polygon EOA.

Trade Journal

Click Journal on the wallet popup. It pulls your full Polymarket history, calculates per-market PnL, plots cumulative PnL over time, and shows win rate by category. Useful for spotting which markets you actually make money in versus the ones that just feel exciting.