Smartphone displaying the Polymarket prediction market app

How to Export Your Polymarket Trade History (Step-by-Step Guide)

If you trade on Polymarket, sooner or later you’ll need a complete record of every position you’ve opened and closed — whether that’s for tax reporting, personal bookkeeping, or simply measuring how well your strategy actually performs over time. This guide walks through the practical options for a polymarket export trade history, covering the platform’s own activity data, on-chain methods via the Polygon network, and third-party tools that can turn raw blockchain data into a clean, usable spreadsheet.

Why You Need a Complete Trade History

Before jumping into methods, it’s worth being clear about why a full trading record matters. First, tax authorities in many jurisdictions treat realized gains and losses from prediction markets similarly to other derivative or betting instruments, which means you may need itemized records of entry price, exit price, and dates. Second, a clean export gives you an audit trail — useful if a market resolves in a way you want to double-check against your own records. Third, and often underrated, having structured data lets you calculate your actual win rate, average position size, and return on capital by category, rather than relying on a vague sense of “I think I’m up this month.”

Method 1: Your Polymarket Activity Page

The most direct starting point is your own profile on Polymarket. The activity or positions tab typically lists your trades with timestamps, the market question, the side you took, price, and size. This is useful for spot-checking recent activity or confirming a specific trade, but it’s not designed for bulk analysis — scrolling through hundreds of entries manually is slow, and the interface doesn’t always offer a native one-click bulk download for every account. Treat this method as a verification tool rather than your primary export mechanism.

Method 2: Pull Raw Data from the Polygon Blockchain

Polymarket runs on the Polygon network, and every trade ultimately settles as an on-chain transaction denominated in USDC, with positions represented as conditional tokens built on a framework originally developed by Gnosis. Because of this, your full trading history is technically public and permanently recorded on-chain. You can look up your wallet address on a Polygon block explorer such as Polygonscan, navigate to the token transfers and internal transactions tabs, and export the results as CSV. The data you get back is complete and tamper-proof, but it’s also raw: you’ll see contract interactions and token transfers rather than friendly labels like “bought YES at $0.62.” Matching contract addresses and token IDs to the specific markets they represent takes extra work, so this route suits people comfortable with a bit of manual reconciliation or scripting.

Method 3: Query Polymarket’s Public Subgraph or API

A more structured alternative is to query Polymarket’s publicly available historical data through a GraphQL-based subgraph, the same kind of infrastructure that powers many of the analytics dashboards built around the platform. By filtering queries on your wallet address, you can retrieve trades already labeled with the market question, chosen outcome, price, size, and timestamp — essentially the readable version of the raw blockchain data from Method 2. This approach requires some familiarity with GraphQL or a short script to call the endpoint and write results to a file, but it tends to produce the most complete and well-organized dataset without needing to decode token IDs by hand.

Method 4: Third-Party Trackers and Tax Tools

If you’d rather not touch raw blockchain data or write a query yourself, a growing number of crypto portfolio trackers and tax-preparation tools support wallet-based imports that can pick up Polymarket activity automatically, since they read the same underlying on-chain records. Many of these let you connect a wallet address and export a formatted CSV or PDF that’s closer to what an accountant expects, sometimes with cost basis and realized gain/loss already calculated. This is often the fastest path if your priority is getting tax-ready output rather than raw transaction-level detail.

Formatting Your Data for Accounting

Whichever method you use, aim to normalize the data into one row per trade with consistent columns: date, market name, outcome, side (buy/sell), size, entry price, USDC value, and — once the market resolves — realized profit or loss. Keep open positions separate from resolved ones, since gains and losses on open positions generally aren’t realized yet and shouldn’t be mixed into a tax-year total until the underlying market settles.

Common Pitfalls to Avoid

  • Gas fees: Transaction fees paid in MATIC/POL are separate from your trade cost and can be easy to overlook when calculating true cost basis.
  • Duplicate-looking transactions: A single logical trade can sometimes appear as more than one on-chain transaction (for example, a token approval followed by the actual swap) — don’t count these as two separate trades.
  • Resolution payouts: When a market resolves in your favor, the payout often shows up as a separate on-chain transfer rather than as a labeled “sell,” so it needs to be matched manually to the original position.
  • Mixed wallet activity: If you use the same wallet for other protocols, filter strictly by the relevant contract addresses so unrelated transactions don’t pollute your export.

None of these methods is perfect on its own, which is why most active traders end up combining a quick check on their profile page with a more thorough pull from the chain or a subgraph query whenever they need a definitive record — say, at tax time or when reviewing a full year of activity. Once you’ve exported and cleaned your data a time or two, the process becomes fast and repeatable, and you’ll have a reliable source of truth for both your taxes and your own performance tracking going forward.