Getting Started
A practical walkthrough from zero to running. If you want the strategy explainer instead, see how it works.
Before You Start
You'll need four things ready before applying. Two are setup steps on Polymarket; two are info you'll provide to us.
| Polymarket account | Created via MetaMask (not Google or Apple sign-in — see why below) |
|---|---|
| USDC funded on Polymarket | Start with $50–100 to confirm the setup works. The strategy needs $200+ for the per-trade economics to work statistically — see Funding considerations. |
| A dashboard password | You'll set this when provisioning. Minimum 12 characters. |
| Email + Discord | Email receives the setup link after payment. Discord is how we contact you about issues. |
Step 1 — Set Up Polymarket
Why MetaMask is required
The bot needs your Polymarket private key to sign trades on your behalf. Polymarket signups via Google or Apple use Magic Link wallets, which abstract the key away — you never see it, and we can't extract it. Only MetaMask (or another self-custody wallet that lets you export the private key) works.
Already signed up via Google or Apple? You'll need to create a new Polymarket account using MetaMask. Move your USDC over once the new account is set up. Apply only after the MetaMask account is the one you'll use.
If you're in the US
Polymarket geoblocks US IPs at signup. You'll need a VPN connection to a non-US country (any reliable provider — South Korea, Canada, EU all work) for the signup flow only. Once your bot is running, the bot handles its own non-US routing on our side; you don't need a VPN to view the dashboard.
Account creation walkthrough
- Install the MetaMask browser extension. Save your 12-word seed phrase somewhere safe — losing it means losing the account.
- Connect to your VPN (US users) and visit polymarket.com.
- Click Sign Up and connect MetaMask when prompted.
- Complete the Enable Trading flow. Polymarket will walk you through three MetaMask signature requests: deploy proxy wallet (automatic, no fee), enable trading (sign), approve tokens (sign). Each is a one-time action.
- Deposit a small amount of USDC (Polygon network) — $20–50 is plenty to test.
- Place a single $1 test trade on any market and confirm it fills. If anything goes wrong here, fix it before proceeding — the bot can't unstuck a half-configured Polymarket account.
Step 2 — Apply and Pay
- Submit the form at notiken.com/apply with your name, email, and Discord username. Application review usually takes 24–48 hours.
- If approved, you'll receive an email with a Stripe Checkout link. Pricing is on the pricing page. Stripe handles billing — your card details never touch our servers.
- After payment confirms, a second email arrives with your one-time setup link at
notiken.com/setup?token=<...>— valid for 7 days, single-use.
Step 3 — Provision Your Bot
Click the setup link from your email. You'll see three fields:
- Username — your subdomain. The form pre-fills a suggestion based on how you applied; edit it to whatever you want. Lowercase letters and numbers; hyphens allowed in the middle. Your dashboard will live at
<username>.notiken.com. - Dashboard password — minimum 12 characters. This is what you'll use to log into your dashboard.
- Polymarket private key — in MetaMask: click your account icon → Account Details → Show Private Key. Paste the hex value (with or without the
0xprefix).
Both submit directly over HTTPS to the provisioning service. The operator never sees either. Your key is stored as a Docker secret on the server (mode-600 root-only file), mounted read-only into your isolated container. It's not visible in docker inspect, environment variables, process listings, or logs. See the security model for the full breakdown.
Provisioning takes about 30 seconds. You'll be auto-redirected to your hub at <your-slug>.notiken.com.
Your bot ships paused. The STATUS toggle in the dashboard header reads PAUSED. No trades will fire until you flip it to ACTIVE. This is intentional — you should add targets, fund USDC, and review the risk caps before going live.
Step 4 — First-Time Dashboard Tour
Your bot dashboard lives at <your-slug>.notiken.com/copy-bot/. It's a single-page app with a sidenav on desktop (collapses to a bottom-tab nav on phones). Seven pages, each focused on one job — here's the lay of the land.
Sidenav
Always visible. Shows your bot name, wallet address, and a live status pill (Active, Paused, or Blocked with the reason inline). The Pause / Resume button at the bottom is a single click — pause only blocks new entries, open positions keep resolving. Help & glossary and Subscription sit below the nav.
Overview (default landing page)
The at-a-glance health check. Hero shows portfolio value, today's change, and your status pill. To its right: available cash, current exposure, and target count.
- Chart — SVG line with gradient area fill. Period selector (1D / 7D / 30D / All) and a series toggle to overlay Portfolio against Realized P&L.
- KPI tiles — Today, Open Positions, Win Rate, ROI.
- Top Targets — your best-performing wallets by realized P&L.
- Recent Activity — the last five trade events.
"Today" is computed from local midnight in your browser's timezone, not UTC — so the headline matches what you'd intuit for "today" wherever you are. Discord alerts and backend stats still use UTC for consistency.
Trades
The full paginated trade ledger. Filter chips for status (All / Filled / Resolved / Cancelled), side (BUY / SELL), date range (1D / 7D / 30D / All), and target. When you filter to Resolved, the table surfaces a daily-recap summary line — won, lost, net, and swept totals. Load More pulls older history on demand. Need the whole history for tax prep or analysis? The ↓ CSV button at the right of the filter bar downloads every trade as trades-YYYY-MM-DD.csv for import into Sheets/Excel. Clicking a point on the Overview chart drops you here pre-filtered to a ±1h window so you can see what was trading at that moment.
Targets
One card per wallet the bot mirrors. Each shows realized P&L, ROI, W/L, and open position count, with an enable/disable toggle and a Remove button. Expand a card to see all eleven per-target settings (scale, copy mode, max bet, slippage, entry-price band, net thresholds, dust-capture rules). Click the lock icon next to any setting to pin it — auto-research won't overwrite locked values. Add a new target at the bottom by pasting a @handle or 0x... address.
Positions
Everything the bot currently holds on-chain. Columns: market, side (Yes / No pill), cost, entry → now with a directional ▲▼, P&L, max win, when it resolves, and which target it came from. Markets awaiting redeem show an amber Expired pill; winning and losing rows carry a subtle tint so you can scan settlement status at a glance.
Filtered
Signals the bot saw but didn't copy, and why. Aggregate counts up top, then expandable categories — stale_signal, risk_rejected, sizing_filter, position_cap, and so on. Drill into any category for per-skip detail (timestamp, target, market, side, reason). The first place to check if you're wondering "why didn't the bot copy that?"
Settings
Global config and account management:
- Pause toggle + signal-health readout (24h fill rate).
- Risk Caps — daily drawdown stop, max open positions, max exposure %. Each has a lock icon, same behavior as per-target locks.
- Discord webhook — paste a URL, test it, clear it.
- Subscription — opens the Stripe Customer Portal to update payment, view invoices, or cancel.
Settings are explicit-save: type your changes, then hit Save. Nothing applies until you do.
Glossary
A 40-term in-product reference, grouped into six sections — trading concepts (CLOB, slippage, mid price, Yes/No outcomes), position lifecycle (filled, cancelled, resolved, expired, redeem, phantom cleanup, swept), targets and copying (copy modes, auto-research, locks), settings and tuning (scale multiplier, dust capture, net thresholds), and risk gates (drawdown, exposure, stale_signal, sizing_filter). Worth a skim on day one — every term that shows up elsewhere in the dashboard is defined here.
Step 5 — Add Targets and Go Live
- Add a target. Find a Polymarket profile you want to mirror (the leaderboard is a starting point). On the dashboard, click Add Target and paste either the
@usernameor the0x...wallet address. - Wait for auto-research. Within ~30 seconds, the bot scrapes the target's last 500 trades, computes their style (high-frequency vs directional, mid-price vs favorites), and writes optimal per-target settings — scale, copy mode, conviction filter, entry price band. Re-runs hourly and on bankroll shifts >20%.
- Review the per-target settings. Click into the target row. The auto-researched values are good defaults, but check
min_target_trade,copy_mode, andmax_bet_pct. If you change anything, click Save changes on the card to apply it — edits don't take effect until saved. Lock anything you want to keep stable — auto-research won't overwrite locked keys. - Review global Risk Caps. The auto-defaults are usually fine for a first run. Tighten them if you want a more conservative posture; use the Save settings bar to apply any changes.
- Fund USDC on Polymarket if you haven't already. The bot reads your live balance directly — no separate deposit flow on our end.
- Flip STATUS to ACTIVE. The bot starts copying within 5 seconds. Watch the first few trades fire to confirm everything looks right; pause anytime if it doesn't.
Funding considerations
Polymarket has a $1 minimum bet on the order book. For a $60 bankroll, every $1 trade is 1.7% of your capital — large enough that variance dominates. For a $200 bankroll the same trade is 0.5%, much more manageable. Below ~$200, the per-trade economics work against you regardless of how good the targets are. Start with $50–100 to validate the setup runs, but don't expect meaningful returns until you've funded $200+.
Day-to-Day Operations
Pausing
Two levels:
- Global STATUS toggle in the header — pauses ALL targets at once. New entries blocked, open positions resolve normally. Reconcile and (if enabled) auto-redeem keep running so cap slots free up.
- Per-target pause on each target row — disables one target while others keep running.
Performance gate (auto-pause)
The bot watches each target's rolling 7-day P&L. If a target loses more than 15% of your bankroll over that window with at least 5 resolved trades, the bot auto-pauses that target and posts a Discord alert. You can re-enable manually after reviewing. Configurable per-target.
Redeeming winners
Heads up: winning Polymarket positions don't auto-convert to USDC. After a market resolves in your favor, you hold "winning" CTF tokens worth $1 each but they sit on-chain until someone calls redeemPositions. Two options:
Manual: visit polymarket.com, log into your account, and click "Redeem" on any resolved position. Cash arrives in your USDC balance immediately. Costs ~$0.001 in Polygon gas.
Auto-redeem (opt-in): the bot has built-in auto-redeem code (Safe execTransaction → redeemPositions). It's gated behind an environment flag and off by default. Ask support to enable it for your bot — we treat it case-by-case until we've validated it across more accounts.
Adding/removing capital
Deposit USDC directly to your Polymarket wallet (the same address you've been using). The bot reads your live balance every cycle and re-runs auto-research when your bankroll shifts more than 20%. Withdrawals are the same — pull USDC out of Polymarket whenever you want.
Cancelling
Hit Manage Subscription in the dashboard footer. Cancellation is immediate via Stripe Customer Portal — bot stops, your container is preserved for 30 days in case you reactivate, then fully removed. Open positions resolve on-chain regardless of whether the bot is running.
Rotating your key
Create a new Polymarket account (new MetaMask wallet, transfer USDC over), then ping support — we'll send a new setup link so you can submit the new key. Old keys become useless once the new one is live.
Mobile access
The dashboard at /copy-bot/ is fully responsive — same UI, same controls on phone and desktop. The sidebar nav collapses to a bottom-tab nav below 900px viewport width.
FAQ
Disclaimer
This software is for informational and educational purposes only. It is not financial advice. Past performance does not guarantee future results. Prediction markets carry real risk — you can lose some or all of your funds. The bot has had losing days and losing weeks. Use at your own risk and only with capital you can afford to lose.