Portfolio
All your on-chain positions, value and unrealized P&L
The Portfolio page (`/dashboard/portfolio`) is your single source of truth for what you actually hold on Polymarket. It reads your real on-chain positions straight from your connected wallet, marks every position to the current market price, and overlays Predite's AI estimate on each market you hold β so you can instantly see not just how a position is doing, but whether it still has an edge worth keeping.
Unlike Paper Trading (which tracks a simulated book) or the Trade Journal (which records your own notes), Portfolio is a live mirror of the blockchain. If a position shows up here, it is real, it is yours, and the numbers are pulled from Polymarket's public data β not estimated or self-reported.
## What the Portfolio page shows
When your wallet is connected and holds positions, the page is built from five summary stats up top, a wallet info bar, and then the position tables.
### The summary stats
A row of five KPI cards sits at the top of the page:
- **Portfolio Value** β the current mark-to-market value of every open position, in USD. This is `shares Γ current price` summed across all positions, not what you paid. The subtext shows how many open positions make up that value.
- β’**Total P&L** β your unrealized profit or loss in dollars (`current value β cost basis`), summed across the book. Green when positive, red when negative. The delta line shows the same figure as a percentage (ROI).
- β’**ROI** β total P&L expressed as a percentage of cost basis. This is the cleanest single number for "how is my book doing relative to what I risked."
- β’**Open Positions** β the count of markets you currently hold a stake in, with resolved positions noted underneath for history.
- β’**Win Rate** β the percentage of your **resolved** positions that closed profitable. It only counts settled markets, so early on this number is noisy. It turns teal at 55%+ and amber below that, with a one-line read on whether you're above, at, or below the rough break-even line.
These stats refresh on a 60-second cycle, and the underlying position data is pulled fresh from Polymarket roughly every 30 seconds, so values track the live market closely without you needing to reload.
### The wallet info bar
Directly under the stats you'll see a `POLYMARKET` badge, your connected wallet address (truncated, e.g. `0x1234β¦abcd`, with a copy button), a **View on PolygonScan** link to inspect the raw on-chain activity yourself, and a link to the **Unified Portfolio** view if you trade across more than one platform.
### Open positions table
This is the heart of the page. Each open position is a row with:
- **Market** β the question you're positioned on.
- β’**Side** β `YES` (teal) or `NO` (red).
- β’**Shares** β how many contracts you hold.
- β’**Avg Price** β your average entry price in cents (your cost basis per share).
- β’**Current** β the current market price in cents.
- β’**Value** β current dollar value of the position.
- β’**P&L** β unrealized dollars, colored green or red.
- β’**P&L %** β the same as a percentage of cost.
On mobile this collapses into clean cards instead of a wide table, so the page stays readable on a phone.
### The AI estimate column β spotting positions that lost their edge
The most important thing Portfolio does that a raw blockchain explorer can't: it runs each market you hold back through Predite's AI probability engine and shows the **current AI estimate** alongside the current market price.
This matters because your reason for entering a position can quietly evaporate. You may have bought `YES` at 38Β’ when the AI estimated 55% β a healthy edge. Weeks later the market has drifted to 52Β’ and the AI now estimates 50%. You're up on paper, but the edge is gone: the market has caught up, and holding is no longer a +EV decision, just a bet. The AI estimate column makes that visible at a glance.
Read it like this:
- **AI estimate well above current price** on a `YES` position β the edge is intact or has grown; this is a position worth holding or even adding to.
- β’**AI estimate roughly equal to current price** β the edge has been priced in. Consider taking profit or recycling the capital into a fresher signal from the [EV Scanner](/docs/ev-scanner).
- β’**AI estimate below current price** on a `YES` position β the edge has inverted. The market now prices the outcome *higher* than the AI thinks is fair. This is your clearest exit signal.
Treat this as a re-evaluation prompt, not an auto-sell trigger. The AI can be wrong, and you may hold a position for reasons the model doesn't see (insider read, a catalyst you're waiting on). But a portfolio full of positions where the AI edge has decayed is a portfolio quietly turning into gambling. For the full picture of how those estimates are produced and how much to trust the confidence score, read [AI Probability Engine](/docs/ai-probability).
### Resolved positions and best/worst
Below the open book, the page lists your most recent **resolved** positions (up to 10) with a `WIN` or `LOSS` badge and the realized P&L. At the bottom, two highlight cards surface your single **best** and **worst** position by dollar P&L β a quick gut check on whether your returns are broad-based or carried by one lucky market.
## Connecting a wallet (empty state)
If you land on Portfolio and see a "no wallet connected" screen with a π icon, you simply haven't linked a Polymarket wallet yet. Nothing is broken.
To connect:
1. Click the **Connect Polymarket** button in the empty state (or go to **Settings** directly). 2. Paste your **public** Polymarket wallet address. This is the `0xβ¦` address that holds your positions on Polygon β 42 characters, starting with `0x`. 3. Save. The connection is stored against your profile with a `polymarket` platform tag and an `active` status. 4. Return to `/dashboard/portfolio`. Your positions populate within a few seconds.
A few things worth being clear about:
- **You only ever provide a public address.** Portfolio is strictly read-only. It cannot place, cancel, or modify a single trade. There is no private key, seed phrase, or API secret involved at this stage.
- β’**Finding your address:** open Polymarket, go to your profile, and copy the wallet address shown there. It's the same address you'd see on PolygonScan.
- β’**Right address, right network:** Polymarket lives on Polygon. The address you paste should be the one that actually transacted on Polymarket, not a fresh wallet or an Ethereum-mainnet address that's never traded there β otherwise the page will correctly show an empty book.
If you later want bots or one-click execution to *act* on this account, that's a separate, higher-privilege setup (CLOB API credentials, Bot plan). Read-only portfolio viewing never requires it. See [Connecting Your Wallet](/docs/connecting-wallet) for the full walkthrough and [Security & Privacy](/docs/security) for how connection data is handled.
## How the numbers are calculated
Transparency matters when money is involved, so here's exactly what's happening under the hood:
- **Positions** are fetched from Polymarket's public Gamma API for your wallet address. Predite normalizes the raw response (or, as a fallback, aggregates your individual trades into net positions) and discards anything with effectively zero shares.
- β’**Cost basis** = `shares Γ average entry price`. Your average price is derived from your actual fills.
- β’**Current value** = `shares Γ current market price`.
- β’**Unrealized P&L** = `current value β cost basis`, and **P&L %** is that figure over cost basis.
- β’**Win rate** = profitable resolved positions Γ· total resolved positions, rounded to a whole percent. It deliberately ignores open positions, because an open position hasn't won or lost anything yet.
Because everything is mark-to-market against live prices, your P&L will move tick-by-tick with the order book β exactly as your real exposure does.
## Plan availability
- **Read-only portfolio viewing**, including positions, mark-to-market value, unrealized P&L, win-rate stats, and the AI estimate per market, is available on **all plans** β Starter ($29/mo), Pro ($59/mo), and Bot ($99/mo). It's a core part of using Predite, not a paywalled add-on.
- β’The **AI estimate** shown per position uses the same engine as the scanner. On Starter it covers Polymarket; Pro and Bot extend AI coverage and unlock the cross-platform tooling (Kalshi, arbitrage, whales) that feeds the [Unified Portfolio](/docs/portfolio).
- β’**Acting on what you see** β placing or closing positions from inside Predite, automating exits, or running TWAP unwinds β requires live execution, which is a **Bot plan** feature. Read-only viewing never does. See [Live CLOB Trading](/docs/live-trading) and [TWAP Orders](/docs/twap-orders).
- β’The **Tax / P&L export** card on this page (CSV for Form 8949 and other formats) is geared toward end-of-year reporting and is most relevant once you're actively trading on a paid tier.
## Practical workflow
A sane way to use Portfolio in your routine:
1. **Open it daily** as your first stop. Glance at Total P&L and Win Rate for the macro read. 2. **Scan the AI estimate column** on open positions. Flag any where the edge has decayed or inverted. 3. **For decayed-edge positions**, decide deliberately: hold (you have a thesis the model lacks), take profit (the edge is priced in), or cut (the edge inverted). If you cut, recycle the freed capital into a fresh +EV signal from the [EV Scanner](/docs/ev-scanner). 4. **Cross-check win rate against your own calibration.** If your live win rate trails what you achieved in [Paper Trading](/docs/paper-trading), something about execution, sizing, or discipline is leaking β investigate before scaling up. 5. **Log the *why*** for any meaningful exit in the [Trade Journal](/docs/trade-journal) so future-you can audit the decision.
## Tips and gotchas
- **Win rate is meaningless on a small sample.** With 3 resolved markets, one loss swings it 33 points. Wait for 30+ resolved positions before reading anything into it.
- β’**High win rate is not the goal β positive expectancy is.** A 45% win rate with disciplined sizing on big-edge longshots can crush a 70% win rate that only ever buys near-certainties. Read win rate next to your best/worst cards and average entry prices.
- β’**Don't confuse Portfolio Value with profit.** Portfolio Value is what your book is worth *now*; Total P&L is what you've *made*. A large value with flat P&L just means a lot of capital deployed at fair prices.
- β’**Resolved view is capped at the 10 most recent.** For a full settled history, use PolygonScan via the wallet link, or export through the Tax / P&L card.
- β’**Empty book after connecting?** Confirm you pasted the exact Polymarket trading wallet, that it has actually transacted on Polymarket, and that the connection status is `active` in Settings.
- β’**Numbers look stale?** The page revalidates roughly every 60 seconds and position data every 30; a hard refresh forces an immediate re-pull.
- β’**Multiple platforms?** This page is Polymarket-specific. For a consolidated cross-platform net worth and P&L, use the Unified Portfolio link in the wallet bar.
## Related Docs
- [Connecting Your Wallet](/docs/connecting-wallet)
- β’[AI Probability Engine](/docs/ai-probability)
- β’[Trade Journal](/docs/trade-journal)
- β’[EV Scanner](/docs/ev-scanner)