Whalefax
Reference

Form 8949 for prediction market trades, column by column

If capital treatment is where you and your professional land, this is the form. Every column on it has to come out of records nobody is going to hand you.

Updated August 7, 2026. Written by Whalefax, which builds free P&L and tax reporting tools for prediction market traders. Informational only, not tax advice.

Read this first. Whether your event contract trades belong on Form 8949 at all is unsettled and depends on facts specific to you. This page does not tell you to use it. It explains what the form requires if you and a qualified professional conclude that capital treatment applies, because the record you need is the same one every other treatment wants too.

Part I and Part II

Form 8949 splits by holding period before anything else. Positions held one year or less go in Part I as short term. Positions held more than one year go in Part II as long term. Getting a position into the wrong part misstates the rate that applies to it.

Nearly all prediction market activity is short term, because most contracts resolve within weeks. The exceptions are real though: a market on an election eighteen months out, bought early and held to resolution, crosses the line. Your record has to carry both dates for that determination to be possible at all, which is precisely why an exchange summary showing only a net figure cannot produce this form.

The boxes

BoxWhat it wantsWhere it comes from
(a) Description of property Enough to identify the position, normally quantity plus what it was Contract count plus the market and outcome, for example 100 contracts, YES, and the market title
(b) Date acquired When you bought the specific lot being disposed of The fill date of the matched purchase lot, which is why lot matching has to happen before this form can be filled in
(c) Date sold or disposed When you sold it or when it resolved The sale fill date, or the resolution date for a contract that settled or expired
(d) Proceeds What you received, net of costs of sale Sale value minus closing fees. A contract that resolved in your favour pays one dollar per contract. One that expired against you pays zero, and zero is a valid entry that must still be filed
(e) Cost or other basis What you paid, including costs of acquisition Purchase price of the matched lot plus the opening fees attributable to it
(f) and (g) Adjustments Codes and amounts where basis needs correcting Usually empty here, since no 1099-B was issued to disagree with. Discuss anything unusual with your preparer rather than guessing a code
(h) Gain or loss Proceeds minus basis, plus any adjustment Computed. Derive it from the rounded values you actually reported in (d) and (e), not from full-precision figures, or your column will not foot

Three things that go wrong

Losing positions left off entirely

A contract that expired worthless is a disposal with proceeds of zero. It belongs on the form. Leaving it off does not simplify anything, it removes a loss you are entitled to and raises your reported gain. On Polymarket this happens by accident, because a losing position never generates a settlement transaction and so never appears in a naive reconstruction.

Fees claimed in the wrong place

Opening fees go into box (e). Closing fees come out of box (d). Totalled separately and deducted somewhere else, they are either double counted or lost. Per position, in the boxes, once.

Rounding that does not foot

If you report whole dollars in (d) and (e), compute (h) from those rounded numbers. Computing gain at full precision and then rounding it produces a column that disagrees with its own inputs by a dollar here and there, and those pennies accumulate into a total that does not match Schedule D.

Volume, and what to attach

An active prediction market trader generates hundreds of disposals a year, sometimes thousands, because every resolved contract is one. Nobody hand-types that. The normal approach is an attached statement listing every transaction in the same columns, with the totals carried onto the form itself. Your preparer or software will tell you the format they want, but the underlying per-position detail has to exist either way, and it has to reconcile.

Common questions

Do prediction market trades go on Form 8949?
They do if capital treatment is the conclusion you and a qualified professional reach, which is unsettled for event contracts and depends on your facts. What is not in doubt is that the underlying record, dates and basis and proceeds per position, is required under every candidate treatment, so it is worth building regardless.
What do I put in the description column for an event contract?
Enough to identify the position on its own: the contract count, the outcome you held, and the market title. It should be possible to find the exact position from that line alone a year later.
What are the proceeds for a contract that expired worthless?
Zero, and the line still goes on the form. A worthless expiry is a real disposal at zero proceeds, and omitting it removes a loss you are entitled to claim.
Is prediction market activity short term or long term?
Almost always short term, because most contracts resolve within weeks. A position held more than a year, which is possible on long-dated election markets, is long term and goes in Part II instead. Your record has to carry both the acquired and disposed dates for that split to be possible.
Do wash sale rules apply to event contracts?
Wash sale rules are written for stock and securities, and whether they reach event contracts is exactly the kind of open question a qualified professional should answer for your situation. Keep the dates in your record either way, because you cannot answer the question later without them.
Generate the per-position report
Description, acquired, disposed, proceeds, basis, gain, holding period. Matched lots, in your browser, free.
Build my report