The tax vocabulary behind prediction markets
Every term the report and the blog use, in plain English. Scoped to US federal treatment of Kalshi and Polymarket trading, and non-advisory: definitions, not recommendations.
The basics
What you're actually trading, and the numbers a report is built from.
Event contract
A contract that pays a fixed amount if a real-world event happens.
The unit you trade on Kalshi and Polymarket: a YES/NO contract that settles at $1 if the event occurs and $0 if it doesn't. Because the IRS has never issued guidance specific to event contracts, several different tax treatments are all defensible. That's why a side-by-side comparison exists at all.
See alsoSettlementPosition
Position
Your holding in one market and direction, opened and later closed.
A group of trades in the same market on the same side (all YES, or all NO). A position is closed when the contracts settle at resolution or when you sell them beforehand. Each closed position produces one realized gain or loss.
See alsoRealized gain / lossSettlement
Settlement
When a market resolves and contracts pay out $1 or $0.
At resolution, winning contracts pay $1 each and losing contracts expire worthless. Settlement is a taxable closing event: the difference between what you paid and what you received is your realized gain or loss, even if you never manually sold or redeemed.
See alsoRealized gain / lossCost basis
Cost basis
The total you paid to acquire a position, including fees.
The purchase price of your contracts plus the fees to acquire them. Basis is subtracted from your proceeds to get your gain or loss, so miscounting it (or ignoring fees) directly distorts the tax you report.
Adjusted cost basis
Cost basis after folding in fees and commissions.
The original cost of a position plus the acquisition fees and commissions. The engine folds Kalshi's per-trade fees into basis automatically; for platforms whose exports hide fee data, it flags the gap rather than guessing at it.
See alsoCost basis
Realized gain / loss
Proceeds minus basis, counted only once a position closes.
The profit or loss you actually locked in when a position settled or was sold. Unrealized changes in a still-open position generally don't count for most treatments; the exception is Section 1256's year-end mark-to-market.
See alsoMark-to-marketSettlement
FIFO (First In, First Out)
Assume the contracts you bought first are the ones sold first.
When you bought into the same market at different prices, FIFO decides which lots close first: the earliest purchases. It's the IRS default and the method the engine uses. It matters most when you sell part of a position before it resolves, since it fixes which lots' basis applies.
See alsoCost basisPosition
The four treatments
The four ways the same trades can be characterized, and where each is filed.
Capital gain (short- vs long-term)
Trade-like treatment on Form 8949 and Schedule D.
Each position is treated like a stock or crypto trade. Held a year or less, the gain is short-term and taxed at your ordinary rate; held longer, it's long-term at lower rates. Almost all prediction-market contracts resolve in weeks, so this usually behaves like short-term gain.
Ordinary income
Net profit taxed at your normal rate on Schedule 1.
Your net trading profit for the year is taxed as ordinary income, with losses netting in full and no $3,000 cap. It's simple to file but rarely the cheapest option when you're profitable.
See alsoSchedule 1
Gambling income (§165(d))
Winnings are income; losses only help if you itemize.
Total winnings are reported as income, and losses are deductible only if you itemize, and only up to winnings. If you take the standard deduction, your losing trades don't reduce your bill at all, so you can owe tax in a year you lost money. Usually the worst outcome for an active trader.
See alsoItemized vs standard deductionOBBBA 90% loss capSession (day netting)
Section 1256 contract
Regulated-futures treatment with a fixed 60/40 rate split.
A special category for certain regulated contracts. Whether prediction-market contracts qualify is genuinely disputed among tax professionals; Kalshi's CFTC-regulated status gives the argument more footing than wallet-based Polymarket. When it applies, it's often the cheapest of the four for a short-term trader.
60/40 rule
60% of a §1256 gain is long-term, 40% short-term, regardless of holding period.
Under Section 1256, every gain is split 60% long-term and 40% short-term no matter how briefly you held the position. For a fast trader whose gains would otherwise be entirely short-term, that blended rate is often materially lower.
See alsoSection 1256 contract
Rules that change the number
The limits, caps, and mechanics that make the four methods diverge.
Mark-to-market
Treat open §1256 positions as if sold at year-end fair value.
Section 1256 requires open positions to be valued at year-end as though closed, so paper gains and losses on still-open contracts are taxed that year. This is why §1256 can pull income forward that other treatments leave untaxed until settlement.
$3,000 capital loss limit
Net capital losses deduct against other income only up to $3,000 a year.
Under capital-gains treatment, a net loss offsets your gains fully, but only $3,000 of any remaining net loss can offset ordinary income in a year. The rest isn't lost; it carries forward.
Loss carryforward
Unused capital losses roll into future tax years.
Net capital losses beyond the $3,000 annual limit carry forward under §1212(b) and offset gains (and up to $3,000 of ordinary income) in later years. A large losing year keeps its value; it just gets used over time.
See also$3,000 capital loss limit
Itemized vs standard deduction
Gambling losses only count if you itemize, which most filers don't.
Gambling-loss deductions live on Schedule A, available only to itemizers. Roughly 90% of taxpayers take the standard deduction instead, which means under gambling treatment their losses are simply non-deductible.
OBBBA 90% loss cap
From 2026, deductible gambling losses are capped at 90% of winnings.
A 2026 law (OBBBA) limits gambling-loss deductions to 90% of winnings even for itemizers. Win and lose the same amount and 10% of your winnings becomes taxable phantom income. The engine models this and flags the order-of-operations questions that are still debated.
Session (day netting)
Gambling wins and losses are netted within a defined session, not per bet.
Gambling treatment nets wins and losses over a session rather than trade by trade. The engine uses calendar-day (UTC) sessions, a common convention, which affects how the winnings figure that drives the §165(d) and OBBBA math is computed.
Forms and paperwork
The IRS forms each treatment lands on, and the 1099s these platforms do (and don't) send.
Form 8949 / Schedule D
Where capital gains and losses are itemized and totaled.
Form 8949 lists each closed position with its proceeds and basis; Schedule D totals them into your net capital gain or loss. The report exports a Form 8949-ready CSV so this line-by-line entry isn't done by hand.
Form 6781
Where Section 1256 contracts and their 60/40 split are reported.
Section 1256 gains and losses go on Form 6781, which applies the 60/40 split and the year-end mark-to-market. If you take the §1256 position, this is the form your figures flow onto.
See alsoSection 1256 contract60/40 rule
Schedule 1
Where ordinary and gambling income are reported.
Additional income that isn't wages lands on Schedule 1, including ordinary-income treatment of your trading and the winnings side of gambling treatment. Gambling losses, separately, go on Schedule A.
1099-B / 1099-MISC / 1099-INT
The forms these platforms send, and the one they usually don't.
Neither Kalshi nor Polymarket issues a 1099-B for your event-contract trading, so reporting the trades is on you. Kalshi may send a 1099-MISC for referral bonuses and a 1099-INT for interest on your cash balance; those are separate from your trading gains.
See alsoEvent contract
See these terms on your own trades
The report puts cost basis, FIFO lots, the 60/40 split, and the loss caps to work on your real Kalshi export or Polymarket wallet.
Run your report