Demo Trading
Paper-trade Polymarket with virtual money. Real prices, real markets, zero risk to your wallet.
TL;DR
How it works
Hit the demo button from anywhere in the app. You get a $1,000 virtual balance that stays on your account across refreshes. Every trade uses the live Polymarket CLOB price but fills against a simulated orderbook — no gas, no real money moves.
Demo mode is fenced off from live trading. Analysis, Whales, Geopolitics, News, and Weather are locked — those cost us real API calls. Everything else (Markets, Crypto, Portfolio, Bot) works the same as live.
Top-ups
If you blow through your starting balance, top up from the wallet dropdown. Top-ups are tracked on the leaderboard so you can't paper over losses — your true P&L subtracts every dollar you added.
| Tier | Amount | Limit |
|---|---|---|
| Small | $500 | 1 per 24 hours |
| Medium | $1,000 | 1 per 24 hours |
| Large | $5,000 | 2 per 7 days |
Limits are enforced server-side. The UI shows when the next top-up unlocks, so you won't waste a click. Losses carry over — if you lose $950, top up $1,000, and lose half of that, your demo P&L reads −$1,450.
Leaderboard
Ranked by true P&L: balance − $1,000 starting − sum of top-ups. You need at least 3 trades to show up. Top-ups don't help you climb — only profitable trades do.
- ●Displayed names are masked ("HeatronTest" → "Hea...est") so people can't dox each other.
- ●Win rate counts sells where the exit price beat the weighted-average buy price for that outcome.
- ●The leaderboard lives at
/rewards?view=demoand from the Leaderboard button in the demo header.
Orders
Demo supports Market and Limit. Fast-paced markets (BTC 5-min, hourly, crypto) auto-use Fill-and-Kill with a wider slippage buffer so you aren't killed by the last-second price move. Limit orders that can't cross the book right now rest as take-profit or stop-loss triggers — they fire automatically when the price hits, even if you're viewing a different market.
Portfolio
Your demo portfolio has three tabs: Open, Closed, and Trades. Resolved markets settle at $1 for the winning outcome and $0 for the loser — your realized P&L reflects that. Closed positions keep the share button so you can brag (or commiserate) on socials.
Bot engine (demo + live)
The Bot panel runs a modular strategy engine against any markets you pick. Toggle strategies on, tune their sliders, set risk limits — the engine handles the rest. Demo trades against your virtual balance; live trades against your Safe. Same engine, same strategies, same controls. Tune in demo, ship to live.
Six strategies ship by default. Each is a self-contained module with its own triggers and parameters:
| Strategy | Role | Trigger |
|---|---|---|
| Momentum | Entry | Buys the side that rallied ≥ X¢ in the last N seconds |
| Mean Reversion | Entry | Buys neglected sides at extreme lows, bets on bounce |
| Arbitrage | Entry | Buys when Yes+No sum below $1 on binary markets |
| Fair-Value Edge | Entry | Trades when an external model disagrees with the market |
| Take Profit | Exit | Auto-closes positions at your profit target (default +15%) |
| Stop Loss | Exit | Auto-closes positions at your drawdown threshold (default −20%) |
Global limits: max $ per trade, max open positions, max daily trades, max daily loss (circuit breaker), per-market cooldown, and Kelly fraction for position sizing. The engine applies every limit before a strategy ever gets a fill.
Markets tab: BTC 5-min is watched by default. Any market where you hold an open position is auto-added. Search Polymarket by keyword or filter by category, then click ADD to watch. Remove any time.
Activity tab shows every buy, sell, and skip with a reason. Trades from the bot count on the leaderboard exactly like manual ones — a strategy tester, not a cheat code.
Fair play
- ●Manual balance adjustments (the "Set Balance" input) don't touch the leaderboard. They're for personal testing only.
- ●Only top-ups and real trades count. Everything else is local to your browser.
- ●If you find a bug that lets the leaderboard be gamed, tell us — we'll credit you and fix it fast.
Help + community
Join discord.gg/celsa for support, bug reports, strategy talk, and feature requests. Fastest way to reach the team.