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/. Top to bottom, here's what you're looking at:
Header
- Portfolio — current balance plus mark-to-market value of open positions, with an arrow link to your Polymarket profile
- STATUS toggle — single click flips
ACTIVE↔PAUSED. Open positions resolve regardless; pause only blocks new entries.
Stat tiles
- Today Realized — closed-trade P&L since midnight UTC
- Realized P&L — cumulative P&L from all closed trades in the retained window (~5 weeks)
- ROI — total P&L divided by your initial bankroll anchor
- Win Rate — wins ÷ resolved trades
- Trade Count — closed trades in the retained window
Hover the ? icons on each tile for the exact formula.
Bankroll chart
Two series — Portfolio (balance + open MTM, snapshot every minute) and Realized P&L (cumulative closed-trade P&L). Time tabs: 1D / 1W / 1M / Max.
Targets section
One row per copy target. Each shows realized P&L, ROI, win rate, open position count, last copy timestamp. With ≥5 resolved trades, also shows Sharpe / Profit Factor / Max Drawdown. Per-row controls:
- Pause / Resume button — disables this single target without affecting others
- Remove — drops the target entirely (open positions stay tracked under "Historical")
- Settings — per-target overrides (scale, copy mode, conviction filter, entry price band)
Risk Caps card
Daily drawdown stop, max open positions, max simultaneous exposure, per-trade cap. All have lock icons — clicking the lock prevents auto-research from overwriting that value.
Globals + Convergence
Scale, entry price band, copy mode defaults. Convergence card (only visible with 3+ targets enabled) lets you require N wallets to agree on a market within a time window before the bot fires.
Active Positions
Currently-held positions. Sorted newest-first by entry time (no manual sort). Multi-buy positions show a ×N badge — hover to see the per-buy breakdown.
Recently Closed
Chronological exits below Active Positions. Reason pills tell you what happened:
- Won (green) — held to settlement, paid out
- Lost (red) — held to settlement, didn't pay
- Target sold (blue) — your target sold their position; we mirrored the exit
- Manual sell (gray) — bot detected the position is no longer in your wallet but didn't fire the SELL itself (typically you sold via polymarket.com)
- Swept (orange) — position vanished from data sources without a confirmed outcome (rare; usually a missed reconcile)
- Exit failed (red) — bot tried to sell but the order rejected
Footer
- Manage subscription — opens Stripe Customer Portal to update payment, view invoices, cancel
- Mobile view — link to
/copy-bot/v2/, a simplified read-only at-a-glance view
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. 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.
- 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
Both /copy-bot/ (full dashboard) and /copy-bot/v2/ (simplified mobile view) are responsive. The v2 view is faster on mobile and read-only, useful for checking status from your phone.
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.