Skip to main content
← Back to Guides
Beginner📖 10 min

Connecting Your Accounts: Polymarket and Kalshi, End to End

Predite works perfectly well as a research tool without connecting anything — you can scan markets, read AI probability estimates, and study EV all day. But the platform gets dramatically more useful the moment it knows what you actually hold. Connect your accounts and your real positions flow into the Portfolio page, your P&L becomes live instead of hypothetical, and the EV Scanner starts cross-referencing every signal against the markets you're already exposed to. This guide walks you through connecting both Polymarket and Kalshi from scratch, explains the two very different levels of access you can grant, and covers exactly how your secrets are stored. It's written for someone who has never pasted a private key into anything before — so we'll go slowly and explain the *why* behind each step.

Two Kinds of Connection: Read-Only vs. Trading

The single most important concept here is that there are two completely different levels of access, and you should understand both before you do anything.

A read-only connection lets Predite *see* your positions but never touch them. For Polymarket, this means you give us nothing more than your public wallet address — the same 42-character `0x…` string that's visible to anyone on a block explorer. With just that address, Predite reads your open positions, your average entry prices, and your current mark-to-market value straight from the chain. No private key, no signing, no ability to move funds. This is the right starting point for almost everyone.

A trading connection is a different beast. To let Predite *place orders* on your behalf — which is what powers automated bots and the one-click Live Trading interface — we need credentials that can actually sign transactions. On Polymarket that means your private key. This is a serious grant of power: whoever holds a private key controls the funds in that wallet, full stop. We'll cover exactly how to do this safely, but the headline rule is simple: never connect your main wallet for trading. Use a dedicated trading wallet funded only with what you can afford to lose.

A useful mental model: a read-only connection is like giving someone your bank statement. A trading connection is like giving them your debit card and PIN. Most people only ever need the statement.

Plan gating, up front

  • Read-only portfolio tracking works on every plan, including Starter ($29/mo).
  • Live Polymarket trading (the private-key connection, bots executing real orders, the Live Trading interface) requires the Bot plan ($99/mo) with an active subscription. If you try to connect for live trading on Starter or Pro, the API will return a clear "Bot plan required" message.
  • Pro ($59/mo) sits in between: full scanner, alerts, unified portfolio, and paper bots — but no live execution.

Part 1: Connecting Polymarket (Read-Only)

This is the five-minute version that covers 90% of users. You're just handing over a public address.

  1. Open Polymarket and find your wallet address. Click your avatar (top right) → your address is shown at the top of the menu, starting with `0x`. Click to copy it. It will be exactly 42 characters.
  2. In Predite, go to Settings → Portfolio → Add Wallet (or paste it into the Unified Portfolio onboarding prompt the first time you open the Portfolio page).
  3. Paste the address. Predite validates the format (it must be a valid EVM address — 42 hex characters) and rejects anything malformed before saving.
  4. That's it. Within a few seconds your positions appear.

Because this is public data, there's no risk and nothing to encrypt. You can add multiple addresses — handy if you keep separate wallets for politics versus crypto markets — and even track wallets that aren't yours (some traders monitor known sharp wallets this way).

Part 2: Connecting Polymarket for Trading

If you're on the Bot plan and want bots to actually execute, you'll provide a private key. Before you touch the form, set yourself up correctly.

Step 0: Create a dedicated trading wallet

Do not skip this. The wallet you connect for trading should be a fresh wallet that holds only your trading bankroll. Here's the reasoning in concrete terms: if you have $8,000 in your main wallet and a bug, a phishing site, or a leaked backup ever exposes that key, all $8,000 is gone — there is no chargeback on a blockchain. If instead you fund a dedicated wallet with $100, your worst-case loss is $100. That asymmetry is enormous, and it costs you nothing to set up.

A clean approach:

  1. Create a brand-new wallet in MetaMask (or Rabby, or a hardware wallet) — a new account, new seed phrase, never used for anything else.
  2. Bridge or send only your intended trading bankroll in USDC on Polygon. For your first weeks, $20–$100 is plenty.
  3. Use *this* wallet's private key when connecting. Treat its seed phrase as disposable in the sense that you've capped the downside — but still store it securely.

Step 1: Understand the three signature types

This is the part that trips up beginners, so let's be precise. Polymarket supports three account architectures, and Predite needs to know which one you have. The connection form labels them and the API validates that you picked a coherent combination.

  • Type 0 — EOA (Externally Owned Account). This is a standard Ethereum wallet: MetaMask, Rabby, Coinbase Wallet, or a hardware wallet. Choose this if you imported your own wallet into Polymarket using a seed phrase or private key. For an EOA, the *funder* (the address that holds the money) is the same as your signing wallet. Predite actually enforces this: if you select Type 0 and supply a different funder, the server overrides it with your wallet's own address to prevent silent order failures later.
  • Type 2 — Gnosis Safe Proxy. This is the most common type for people who signed up at polymarket.com using social login or email (Google, etc.). Polymarket provisioned a smart-contract "proxy" wallet for you behind the scenes. Your signing key is one address, but your funds live in a *separate* proxy wallet. That proxy address is your funder, and you'll find it at polymarket.com/settings.
  • Type 1 — Magic Link Proxy. Choose this if you log in to Polymarket via Magic Link (email) and have exported the underlying private key. Like Type 2, it uses a separate proxy address as the funder.

A quick way to self-diagnose: *Did I import my own MetaMask-style wallet into Polymarket?* → Type 0. *Did I just sign up with my Google account or email on the website?* → almost certainly Type 2.

Step 2: Get your private key

Where you export the key depends on your wallet:

  • MetaMask: click the three dots next to your account name → Account details → Show private key, enter your password, and copy the 64-character hex string (it may or may not start with `0x` — Predite accepts both and normalizes it).
  • Magic Link / email proxy accounts: use Polymarket's "Export Private Key" option in your account settings.

While you have it on your clipboard, treat that string like a live grenade. Don't paste it into a chat, a note that syncs to the cloud, or any site other than the Predite connection form over HTTPS. Clear your clipboard afterward.

Step 3: Find your funder address (Types 1 and 2 only)

If you're a Type 0 EOA, skip this — leave the funder field blank and Predite uses your wallet address automatically. For Types 1 and 2, go to polymarket.com/settings and copy your proxy/deposit address. This is the address Predite validates as your funder, and it must be different from your signing wallet. In fact, the connection endpoint will reject the attempt with an explicit message if the funder equals the wallet on a proxy type — that mismatch is the single most common setup error, and it almost always means you actually have an EOA and should have chosen Type 0.

Step 4: Run the connection wizard

In Predite, go to Settings → Trading API → Polymarket. The wizard walks you through it:

  1. Intro screen. It explains the flow and reminds you to use a dedicated wallet. There's an optional step-by-step visual guide you can open first.
  2. Risk acknowledgment. You'll check a box confirming you understand live trading is in beta, that software bugs could cause unintended trades, that you alone are responsible for the funds in the connected wallet, and that Predite cannot recover lost funds. This is logged.
  3. Credentials form. Pick your wallet type (signature type 0/1/2), paste your private key (there's a show/hide toggle), and enter your funder address if required.
  4. Connect. Predite signs a message with your key to derive your Polymarket CLOB API credentials (an L2 step — no on-chain transaction happens at connection time, and nothing is spent), encrypts everything, and saves it.

Connection attempts are rate-limited to 5 per 15 minutes to discourage brute-forcing and encourage getting the inputs right. If something's wrong, you'll get a specific error — wrong signature type and unregistered wallets are the usual culprits.

Step 5: Test before you trust

Once connected, the Polymarket tab shows a "Place Test Order" button. Use it. Paste a market's `token_id` (you'll find it in the scanner's asset details or at clob.polymarket.com), set a tiny size like 5 shares at $0.50, and fire it. If platform-wide live trading is still off, the order records as a paper trade so you can validate the full connect → sign → submit pipeline with zero risk. When you do go live, start with $1–$5 orders for your first real trades.

A few things you'll see on the connected card: your wallet and funder addresses, your wallet type, an allowances indicator (USDC spend approvals, configured automatically on first trade), and a gas indicator. If your account is in Polymarket's relayer/builder program you'll see a "Gasless" badge — trades are routed through Polymarket's relayer and you only need USDC. Otherwise you'll need a small amount of MATIC in the wallet to pay gas.

Part 3: Connecting Kalshi

Kalshi is architecturally nothing like Polymarket. It's a CFTC-regulated exchange with no blockchain — authentication is an API key plus RSA request signing, and it requires completed KYC. Because of that regulated, signature-based design, live Kalshi trading inside Predite is on the roadmap, not yet shipped. The Kalshi tab in Settings shows a clear "coming soon" status.

Here's the important nuance, though: Kalshi market data, analytics, scanner coverage, and read-only portfolio reads work everywhere else in the app right now. Kalshi markets show up in the EV Scanner, the arbitrage engine compares them against Polymarket for cross-platform spreads, and once the read connector is wired to your account your Kalshi positions fold into the unified Portfolio. To get a Kalshi API key ready for when reads/trading expand:

  1. Log in to kalshi.com and complete KYC if you haven't.
  2. Go to Account → API / Settings and create an API key. Kalshi issues a key ID and lets you download a private RSA key file once — save it securely; it cannot be re-downloaded.
  3. Keep both safe. When Predite enables the Kalshi connection, you'll paste the key ID and RSA key, and they'll be encrypted exactly like Polymarket credentials.

For now, the practical move is: lean on Kalshi for *reads and signals* through the scanner, and execute on Kalshi manually until live trading lands.

What Lights Up Once You're Connected

This is the payoff. Connecting changes Predite from a generic scanner into something tuned to *you*:

  • Portfolio comes alive. The Unified Portfolio page aggregates positions across every connected platform into one view — total value, total cost basis (shares × average price), and per-platform breakdowns. One screen instead of three browser tabs.
  • Real P&L, not hypothetical. Instead of guessing, you see actual unrealized gains and losses per position, computed from your real entry prices versus live market prices. A position you opened at $0.40 now trading at $0.61 shows a concrete +52.5% rather than an abstraction.
  • The scanner works against your holdings. This is the quietly powerful one. The EV Scanner can flag when a market you already hold has drifted — say your model still reads 60% but the price has caught up to 60%, meaning your edge is gone and it's time to redeploy capital. It can also surface correlated exposure: if three of your positions all resolve on the same Fed decision, that's effectively one bet, and seeing them together stops you from over-concentrating.
  • Exports and tax reports. With real trade history connected, you can export CSVs and generate a P&L/tax report with monthly totals and FIFO cost basis — far easier at year-end than reconstructing trades by hand.
  • Automation (Bot plan). With a trading connection live, bots size and place orders against your actual bankroll, and the Live Trading interface, kill switch, and per-trade controls all become available.

Security: How Your Secrets Are Stored

You're trusting us with a private key, so you deserve to know exactly what happens to it. The honest, specific version:

  • Encryption is AES-256-GCM, an authenticated cipher that protects both confidentiality and integrity (tampered ciphertext fails to decrypt rather than silently returning garbage).
  • The key is derived with scrypt, a deliberately slow key-derivation function, using a random 16-byte salt and a fresh random 12-byte IV for every single encryption. No two stored values share the same parameters, which defeats rainbow-table and IV-reuse attacks.
  • Plaintext never touches disk. Your private key arrives over HTTPS, is encrypted in memory, and only the ciphertext is written to the database. When a bot needs to sign an order, the key is decrypted in memory only for the moment it takes to sign, then discarded.
  • Secrets are never logged — not even partially. The audit log records that a connection happened, the wallet, the funder, and the signature type, but the code explicitly excludes the private key and API secret from every log line.
  • Disconnecting actually removes the credentials. Hit "Disconnect" and a server routine nullifies your stored keys; any bots in live mode automatically fall back to paper mode. To rotate a key, you simply disconnect and reconnect with the new one.

None of this changes the fundamental rule, which is worth repeating one last time: encryption protects the key *at rest in our system*, but it cannot undo a bad trade or recover funds if your own wallet's seed phrase leaks elsewhere. The dedicated-wallet habit is your real safety net — software is the second layer, not the first.

You now have everything you need to wire Predite into your trading. If you do just one thing today, paste your Polymarket wallet address into the Portfolio page and watch your real positions and live P&L populate in seconds — it's read-only, risk-free, and instantly makes every other feature smarter. When you're ready to let bots do the work, fund a fresh wallet with an amount you'd shrug off, run the connection wizard, and fire a $1 test order before anything bigger. Start small, verify everything, and scale only once the numbers match your expectations.

Connecting Your Accounts: Polymarket and Kalshi, End to End | Predite