Skip to main content
Back to Docs
📈Trading Tools

Live CLOB Trading

Connecting your Polymarket wallet for real trades (Kalshi coming soon)

Live trading executes real trades on Polymarket's Central Limit Order Book with real money. This is the highest-stakes feature in Predite — and it has the strictest safety controls. This document covers exactly how to set it up, the safety mechanisms, and what to expect.

Operating a Signal (One-Click)

You don't need to hand-type a market to trade. Every signal surface in Predite has a ⚡ Operar button: the EV Scanner, Top Signals on the dashboard, AI Match, Anomalies, the Heatmap, and each market's detail page. Clicking it opens a pre-filled ticket — a YES call buys the YES token, a NO call buys the NO token — where you confirm price and size before anything is sent. It is never one-click into real money; you always review the ticket. When a surface only knows the market id, the ticket resolves the CLOB token ids for you automatically.

If you're not ready to trade for real, the button routes you to exactly what's missing instead of failing: no Bot plan → upgrade; no connected wallet → the connect flow; no live access → request access. Kalshi signals show a "Kalshi soon" state, since Kalshi execution is a separate integration still in progress.

Once you hold a position, the Portfolio page shows your on-chain positions plus a dedicated history of every order placed via Predite (manual, bot, or copy). Each open position has a Fechar (close) button that sends a real SELL order to exit — partial closes included.

What Executes for Real

Real execution is no longer manual-only. Three origins can place real orders, each behind its own flag:

  • Manual tickets — the pre-filled ticket from any signal surface or market page, with an order-type selector for limit orders: GTC, FOK, or FAK (explained below).
  • Bots — flag-gated and paper-first: every bot must complete at least 10 paper trades before it can graduate to live money. No exceptions, including strategies forked from the marketplace.
  • Copy trading — standalone leaders and copy baskets run through the same flag-gated, paper-first policy.

The Real Trading page shows a 5-step graduation checklist so you always know exactly what stands between a strategy and live execution — and which step you're on.

Requirements

  • Bot plan ($99/month) subscription
  • A self-custody wallet (MetaMask, Rabby, hardware) on the Polygon network — signature type EOA (0), funder = your own address
  • USDC.e (bridged, 0x2791…) held on-chain on Polygon (start small — $5-20 for first trades). Native USDC (Circle, 0x3c49…) is a different token and does NOT work; swap to USDC.e first
  • A little POL (MATIC) for gas — the first order sets an on-chain allowance
  • Live-trading access enabled on your account

Email/Google (Magic Link) Polymarket accounts funded by card do NOT work — their balance is custodied by Polymarket and never becomes on-chain USDC.e. Predite blocks those during connection. If any requirement is missing, the "Operar" button guides you to resolve it.

Initial Setup

Step 1: Wallet Connection

Settings → Wallet Connection → "Connect Wallet"

Paste the private key of the Polygon wallet you trade with. There is no browser wallet pop-up: Polymarket's CLOB is an API, and Predite signs your orders server-side. The key is encrypted at rest (AES-256-GCM) and decrypted only in memory, at the moment an order is signed. This is real custody of a trading key — read "What you are actually granting" below before you do it.

What you are actually granting

Be clear-eyed about this before you paste a key. A trading connection is custody of a hot trading wallet, not a scoped permission:

  • Predite holds a key that can sign any transaction that wallet can make. It is encrypted at rest and only decrypted in memory to sign, but the capability is real.
  • Orders are signed on our servers, not in your browser. That is the only way automation can work — a bot that needs you to approve a pop-up at 3am is not automation — but it means you are trusting the platform, not just approving individual trades.
  • Anyone who compromised both the database and the encryption key could move funds in that wallet.

The practical mitigation is the one professional traders use: fund a dedicated wallet with only what you intend to trade. Do not connect the wallet that holds your savings. Your safety here comes from limiting what is in the wallet, not from limiting what Predite can do with it.

Step 2: USDC Approval

Before the first order, the wallet has to approve Polymarket's contracts on-chain. Predite sends these approvals for you, signed with your stored key — nothing pops up and you do not choose an amount.

What gets approved:

  • Unlimited USDC spending for three contracts: the CTF Exchange, the Neg Risk CTF Exchange, and the Neg Risk Adapter
  • Blanket transfer permission for your outcome tokens on the CTF contract

This mirrors what polymarket.com sets up for its own users, so the end state is the same — the difference is that here it happens without a prompt. The approvals live on-chain and survive disconnecting from Predite: to actually withdraw them, revoke against those three contracts with a tool like Revoke.cash.

Step 3: Verify Builder Program

If you see a "⚡ Gasless" badge on the trading page, Predite is enrolled in Polymarket's Builder Program and sponsors gas — orders execute without you holding MATIC. There is nothing to apply for and no per-account eligibility: the badge is on or off for the whole platform, depending on whether the Builder credentials are configured.

If the badge is absent, keep a small MATIC balance (a couple of dollars) for transaction fees. Note that the on-chain approvals in Step 2 are ordinary Polygon transactions paid from your wallet either way.

Step 4: Clear the Safety Gates

There is no per-session MFA step. Every real order passes through a single guarded executor that checks, in order and fail-closed: the platform master switch, your per-account beta flag, your personal kill switch, the per-trade cap, the 24h global cap, the per-bot caps when a bot is the source, your wallet connection, on-chain balance, and idempotency. Any one of them failing means no order is sent.

The friction lives in those gates rather than in a code prompt:

  • Kill switch pauses every live order for your account instantly, from Settings → Trading.
  • Caps bound the damage of a bad strategy or a bug — see Risk Controls for the real numbers.
  • Idempotency means a double-click or a client retry cannot become two real orders.

Step 5: Fire a Test Order First

Do not let your first real order be the one that discovers a misconfiguration. The connected Polymarket card in Settings → Trading has a Place Test Order button that exercises the entire pipeline end to end — connect, decrypt, sign, submit — with a size you choose.

Paste a market token id (the scanner asset details show it, or use clob.polymarket.com), set something tiny like 5 shares at $0.50, and send it. What you are validating:

  • Your signature type is right. A wrong type is the single most common setup error and it only surfaces at signing time.
  • Your funder address resolves and is registered with Polymarket.
  • Your allowances get set on-chain on the first order, which costs gas and takes 10-30 seconds. Better to discover that here than mid-signal.
  • The order actually reaches the book and comes back with an order id.

If platform-wide live trading is off, the test records as a paper trade — you still validate the full path with zero risk. Once it works, keep your first few real orders at $1-$5 before scaling.

Placing a Trade

From the Scanner or any market page, click "Trade Live".

The trading modal shows:

  • Current best bid and ask
  • Order book depth at multiple price levels
  • Your USDC balance available
  • Estimated slippage for your size
  • Total cost including all fees
  • Daily trade limits remaining

Enter:

  • Side (BUY YES or BUY NO)
  • Size (in dollars or share count)
  • Order type (Market or Limit)
  • Time-in-force for limit orders: GTC (Good-Til-Cancelled — rests on the book until filled or cancelled), FOK (Fill-Or-Kill — fills completely and immediately or not at all), or FAK (Fill-And-Kill — fills whatever is immediately available and cancels the remainder)

For limit orders, specify the price you're willing to pay. A GTC order rests on the book until filled or cancelled; FOK and FAK orders never rest.

Click "Confirm Trade". The order is signed on the server with your stored key and submitted to the CLOB. Nothing pops up in your wallet — that is also why bots, copy trading, TWAP and protective exits can act while you are away.

Within seconds, the trade executes (Builder Program) or your wallet shows the transaction submitted (manual gas).

Safety Controls

Predite has multiple layers of safety:

Visible, Not Buried Every guard that applies to your account is shown in Real Trading → "Your safety guards": the operator master switch, your personal kill switch, your per-account beta access, and the caps per origin below. If a trade is blocked, this card tells you which guard blocked it — no guessing.

Caps Per Origin

  • Manual tickets: $500 max per trade, $5,000 max per day
  • Automation (bots and copy): $25 per trade and $500 per day by default — both adjustable by you, with no ceiling — plus a per-bot daily cap and a maximum of 3 simultaneous open positions
  • Global automation: $500 per day across your whole account, no matter how many bots are running
  • Minimum trade size: $1 USD (Polymarket minimum)

Anomaly Detection

  • Trades flagged if size is more than 3× that bot's 30-day average (needs at least 3 recent live trades to have an average)
  • Trades flagged if size exceeds $100, as an absolute soft cap
  • Flags create an in-app notification for your review — they do not block the trade

Kill Switch

  • Single button at Settings → Trading → "Disable Live Trading"
  • Immediately stops all bots and active trading
  • All open positions remain (you must close manually)
  • Re-enabling is immediate, but every guard (plan, beta flag, caps) is re-checked on the next order

CSRF Protection

  • Every state-changing request carries a CSRF token scoped to your profile and session
  • Tokens are valid for 1 hour and can be reused within that window — the protection comes from the token being unguessable and session-bound, not from single use
  • Prevents cross-site forgery attacks even if your session cookie leaks to another site

What You'll See During Execution

A real trade goes through these states — note there is no wallet pop-up and no on-chain transaction per order; Polymarket's CLOB matches orders off-chain and settles on-chain:

  1. Guards checked (master switch, plan, beta flag, caps, idempotency — all server-side, fail-closed)
  2. Order signed on the server with your stored key
  3. Submitted to the CLOB (Polymarket's off-chain order book)
  4. Filled or resting (matched instantly, or resting in the book if it's a limit order; FOK/FAK orders never rest)
  5. Position visible in your portfolio after the fill syncs

Each step shows in the trading log. If any step fails, you get a clear error message — common ones:

  • "Insufficient USDC balance"
  • "Position exceeds limits"
  • "Market not accepting orders"

Closing Positions

You can close anytime by:

  • Selling YES (if you're long YES) at the current bid
  • Selling NO (if you're long NO) at the current bid
  • Letting it resolve naturally (no action needed, automatic at resolution)

Closing has the same safety controls as opening — it flows through the same guarded executor — except the entry caps, which never block an exit (being unable to reduce exposure would be worse than any cap).

Protections: Stop-Loss, Take-Profit, Trailing

Positions opened through Predite can carry protective exits — stop-loss, take-profit, trailing stop, and breakeven. These are managed as a strict OCO (one-cancels-other) group: the moment one protection triggers, its sibling protections are cancelled, so two triggers can never race each other into a double exit. Closing a position manually also cancels its pending protections — a stale stop will never fire on a position you already closed.

Resolution Process

When a Polymarket contract resolves: 1. UMA oracle proposes the outcome 2. 2-hour dispute window 3. If undisputed, your positions automatically convert to USDC (you receive $1.00 per share for winners, $0 for losers) 4. USDC appears in your wallet without further action

If disputed (rare), resolution may take days. Funds remain in the smart contract until resolved.

Common Issues

"Trade failed: insufficient liquidity": the market doesn't have enough orders at your price. Either accept a wider price or reduce size.

"Trade failed: slippage exceeded tolerance": your default price you send is the price the order carries — Predite does not apply a slippage tolerance on your behalf. You control the fill by choosing the order type: a limit order simply will not fill above your price, and a fill-or-kill order executes immediately or not at all. To see what a given size would cost you before sending it, use the Slippage Simulator.

"Bot plan required": live trading needs an active Bot subscription plus the per-account beta flag.

"Builder Program unavailable": gas sponsoring temporarily paused. You need MATIC in wallet to execute manually. Usually resolves within an hour.

"Position not appearing": blockchain confirmation can take 30-90 seconds. Refresh the page.

Tax Implications

Every live trade is a taxable event. Predite logs all trades and generates a tax report (every plan — it only needs a connected wallet so there is history to export):

  • Trade date and time
  • Position details
  • Entry and exit prices
  • Realized P&L
  • Cost basis using FIFO method

Export this from Settings → Tax Report. For Brazilian users, the format matches Receita Federal requirements.

Our blog post on tax reporting covers the details for Brazilian and US users.

Best Practices for First Trades

  1. Start at $5-10 sizes. Confirm everything works correctly before scaling.
  2. Use limit orders, not market. Reduces slippage and gives you precise control.
  3. Verify resolution criteria. Markets resolve based on wording — read carefully.
  4. Track every trade. Use the Predite portfolio view + your own journal.
  5. Don't trade during stress. Frustrated, drunk, or sleep-deprived = bad decisions.
  6. Test the kill switch. Click it once to make sure you know where it is for emergencies.

Disclaimers

  • Past performance doesn't predict future results
  • Prediction markets can lose money — possibly all of it
  • Trading is not investment advice
  • Polymarket is unavailable in the United States
  • Tax obligations are your responsibility
  • We don't provide financial advice

If you have questions about live trading specifics, our support team responds within 24 hours — reach us through the Contact page or at hello@predite.io. (The AI Chat inside the dashboard answers about markets, not about your account: it does not open a support ticket.)

Related Docs