Prediction MarketsApril 9, 202611 min read

Prediction Market Cost Basis: How to Calculate It for Every Trade

Prediction market cost basis includes purchase price + fees across 3 lot methods. Worked examples for FIFO, specific ID, and multi-lot positions on Kalshi and Polymarket.

What Cost Basis Means for Event Contracts

Your prediction market cost basis is what you paid to acquire a position, including fees. It is the number that determines your taxable gain or loss when the contract settles or you sell. Get it wrong and you either overpay the IRS or underreport your income.

For event contracts, cost basis works differently than stocks. A contract priced at $0.55 settles at exactly $1.00 or $0.00. There is no range of exit prices at settlement. Your cost basis plus fees determines profit on a win and the full deductible loss on a loss. Every cent of cost basis you can document reduces your taxable gain.

The formula is simple:

Cost basis = purchase price per contract x number of contracts + entry fees

If you bought 100 contracts at $0.55 on Kalshi with a $0.02 per-contract fee, your cost basis is:

(100 x $0.55) + (100 x $0.02) = $55.00 + $2.00 = $57.00

Run the fee impact through the fee calculator before trading. Fees are part of your cost basis and reduce your taxable gain. Missing them means you overpay on taxes. For the full picture on how gains are taxed, see our guide to prediction market taxation.

How Fees Become Part of Your Cost Basis

Fees are not a separate deduction. They are baked into cost basis on the buy side and reduce proceeds on the sell side. This is how brokerages handle stock commissions, and prediction market platforms follow the same logic.

On Kalshi, the 1099-B you receive already includes fees in the cost basis and proceeds figures. You do not need to calculate them separately. But you should verify them against your own records.

On Polymarket, no 1099 arrives. You track everything yourself. That means you need to record the contract price AND every fee component for each trade. For full Polymarket reporting instructions, see our Polymarket tax reporting guide.

Here is how fees flow into cost basis across platforms:

PlatformFee TypeWhere It GoesReporting
Kalshi~7% of profit (taker)Embedded in 1099-B cost basis/proceedsAutomatic
Robinhood$0.01-$0.02/contractEmbedded in 1099-B via KalshiAutomatic
DraftKings$0.02/contract/sideEmbedded in 1099-B via CMEAutomatic
PolymarketSpread + 2% on net profitsYou calculate and include manuallySelf-reported
CoinbaseVia Kalshi fee scheduleEmbedded in 1099-B via KalshiAutomatic

The distinction matters at tax time. Kalshi's 1099-B form already reflects fees in the numbers it reports. Polymarket traders who forget to include fees in their cost basis calculation end up reporting a higher gain than they actually earned.

FIFO vs Specific Identification: Choosing Your Lot Method

When you buy contracts in multiple lots at different prices, you need a method to determine which shares you are "selling" when the contract settles. Two methods dominate.

FIFO (First In, First Out) assumes your earliest purchase settles first. This is the default method the IRS applies if you do not specify otherwise. It is also what Kalshi uses on its 1099-B unless you instruct a tax professional to apply a different method.

Specific identification lets you choose which lot settles. If you bought 50 contracts at $0.40 and then 50 more at $0.70, specific identification lets you pick the $0.70 lot to settle first on a winning trade. That means a cost basis of $0.70 instead of $0.40, producing a smaller taxable gain.

The math difference is real. Here is a worked example:

Setup: You build a position in a Kalshi contract across two purchases.

  • Lot 1: 50 contracts at $0.40 ($20.00 + $1.00 fees = $21.00 cost basis)
  • Lot 2: 50 contracts at $0.70 ($35.00 + $1.50 fees = $36.50 cost basis)
  • Total position: 100 contracts, total cost basis: $57.50

The contract settles Yes at $1.00. Gross proceeds: $100.00. After a 7% profit fee on each lot, net proceeds differ by lot.

Under FIFO (Lot 1 settles first):

Lot 1 settles: proceeds = 50 x $1.00 = $50.00, fee = 50 x $0.60 x 0.07 = $2.10, net = $47.90. Gain = $47.90 - $21.00 = $26.90

Lot 2 settles: proceeds = 50 x $1.00 = $50.00, fee = 50 x $0.30 x 0.07 = $1.05, net = $48.95. Gain = $48.95 - $36.50 = $12.45

Total gain: $39.35

Under specific identification (Lot 2 settles first):

The total gain is identical: $39.35. FIFO and specific identification produce the same total gain when all lots settle at the same time and price.

So when does specific identification matter? When you sell part of your position before settlement. If you sell 50 contracts at $0.85 and hold 50 to settlement, choosing which lot you sold changes the gain on that partial exit. We cover this scenario in the multi-lot section below.

Cost Basis Tracking Pipeline
Step 1Record each purchase as a separate lot (price + quantity + fees)
Step 2Choose accounting method: FIFO or specific identification
Step 3At settlement or sale, match the correct lot to the disposition
Step 4Calculate gain: net proceeds minus lot cost basis
Step 5Report on 1099-B (Kalshi) or self-report (Polymarket)

Multi-Lot Positions: A Complete Worked Example

Real trading rarely involves a single clean purchase. You scale in as your conviction grows or as the price moves. Here is a realistic multi-lot scenario.

The trade: You believe a Kalshi contract on Q2 GDP growth will resolve Yes. You build a position across three purchases over two weeks.

LotDateContractsPriceSubtotalFees ($0.02/contract)Cost Basis
1Mar 140$0.45$18.00$0.80$18.80
2Mar 830$0.52$15.60$0.60$16.20
3Mar 1230$0.61$18.30$0.60$18.90
Total100$51.90$2.00$53.90

Your weighted average cost basis per contract is $53.90 / 100 = $0.539 per contract.

Scenario A: Contract settles Yes ($1.00)

Gross proceeds: 100 x $1.00 = $100.00. Kalshi's 7% profit fee applies to each lot individually.

  • Lot 1 profit: $1.00 - $0.45 = $0.55 per contract. Fee: $0.55 x 0.07 = $0.0385. Net per contract: $0.9615. Net proceeds: 40 x $0.9615 = $38.46
  • Lot 2 profit: $1.00 - $0.52 = $0.48 per contract. Fee: $0.48 x 0.07 = $0.0336. Net per contract: $0.9664. Net proceeds: 30 x $0.9664 = $28.99
  • Lot 3 profit: $1.00 - $0.61 = $0.39 per contract. Fee: $0.39 x 0.07 = $0.0273. Net per contract: $0.9727. Net proceeds: 30 x $0.9727 = $29.18

Total net proceeds: $38.46 + $28.99 + $29.18 = $96.63

Total taxable gain: $96.63 - $53.90 = $42.73

Scenario B: Contract settles No ($0.00)

Proceeds: $0.00. No profit fee applies (no profit exists).

Total loss: $0.00 - $53.90 = -$53.90

The full $53.90 cost basis becomes your deductible loss. Under capital gains treatment, this offsets other gains dollar for dollar. Under Section 1256 treatment for Kalshi contracts, it gets the 60/40 split and can be carried back three years. Under gambling classification, it only offsets gambling winnings. For the detailed breakdown of these three classifications, see our event contract tax treatment guide.

How Settlement Creates Your Taxable Event

Event contracts have a unique settlement mechanic that simplifies some cost basis questions and complicates others.

Binary settlement. Every contract resolves to exactly $1.00 (Yes) or $0.00 (No). There is no partial settlement, no range of outcomes, no dividend. This means your proceeds are always one of two numbers. The entire gain or loss calculation rests on your cost basis.

Settlement is the taxable event. When a contract settles, the IRS treats it as a disposition. The contract is gone. You received proceeds ($1.00 or $0.00 per contract) and the difference between proceeds and cost basis is your gain or loss.

Early exit creates a different event. If you sell before settlement at $0.78, your proceeds are $0.78 per contract minus any exit fees. Your cost basis stays the same. The gain calculation follows the same formula.

Mark-to-market for Section 1256. If your contracts are classified under Section 1256 (likely for Kalshi trades), open positions on December 31 are treated as if you sold them at fair market value on that date. This creates a taxable event even if the contract has not settled. Your cost basis for the new year becomes the December 31 marked value.

EventProceeds Per ContractCost BasisGain/Loss
Settles Yes$1.00Purchase price + fees$1.00 - cost basis - exit fees
Settles No$0.00Purchase price + fees-cost basis (full loss)
Sell before settlementSale pricePurchase price + feesSale price - cost basis - exit fees
Mark-to-market (Dec 31)Fair market valuePurchase price + feesFMV - cost basis

Platform-Specific Reporting: Kalshi 1099-B vs Polymarket Self-Reporting

The reporting burden differs dramatically by platform.

Kalshi and regulated platforms. Kalshi sends a 1099-B that lists every closed position with proceeds, cost basis, and gain/loss already calculated. Fees are embedded. If you traded through Robinhood or Coinbase, those trades routed through Kalshi's exchange and appear on your Kalshi 1099-B. DraftKings and FanDuel issue their own 1099 forms through their CME partnership.

Verify your 1099-B against your own records. Platforms occasionally report cost basis incorrectly, especially for multi-lot positions. Your brokerage records (trade confirmations, account statements) are the definitive source.

Polymarket. No 1099. No tax form. No reporting to the IRS. You are responsible for tracking every trade, calculating every cost basis, and reporting every gain or loss. Use your on-chain transaction history as your record. For a step-by-step walkthrough, see our Polymarket tax reporting guide.

Minimum records to keep for Polymarket trades:

  • Date and time of each purchase
  • Contract price per share
  • Number of contracts
  • All fees paid (spread cost, exit fees, gas fees)
  • Settlement outcome and date
  • Running cost basis per lot

Wash Sale Considerations for Event Contracts

Wash sales apply when you sell a security at a loss and buy a "substantially identical" security within 30 days before or after the sale. The loss is disallowed and added to the cost basis of the replacement position.

For prediction market contracts, the wash sale question is unsettled. Here is what we know:

If treated as securities or property: Wash sale rules likely apply. If you sell a "Will inflation exceed 3% in March?" contract at a loss and buy the same contract back within 30 days, the IRS could disallow the loss. Your cost basis on the new purchase increases by the disallowed loss amount.

If treated as Section 1256 contracts: Wash sale rules do not apply to Section 1256 contracts. This is another advantage of trading on CFTC-regulated platforms like Kalshi. Losses are recognized immediately.

If treated as gambling: Wash sale rules do not apply to gambling activity. But the gambling classification carries worse downsides (losses only offset winnings, 90% deduction cap in 2026).

The practical scenario: You buy 100 contracts at $0.60. The price drops to $0.35 and you sell, realizing a $25.00 loss. Two weeks later the price recovers to $0.42 and you buy back in. Under capital gains treatment, that $25.00 loss is disallowed. Your new cost basis becomes $0.42 + $0.25 = $0.67 per contract instead of $0.42.

This does not eliminate the loss permanently. It defers it. When you eventually sell or settle the replacement position, the higher cost basis reduces your gain (or increases your loss). But in the short term, it prevents you from harvesting the loss.

For most prediction market traders, wash sales are relevant only if you are actively trading the same contract across multiple entries and exits. If you buy once and hold to settlement, it does not apply.

Frequently asked questions

How do I calculate cost basis on prediction market contracts?
Cost basis equals the purchase price per contract times the number of contracts, plus all entry fees. If you bought 100 contracts at $0.55 with $2.00 in fees, your cost basis is $57.00.
Does Kalshi report cost basis on the 1099-B?
Yes. Kalshi's 1099-B includes cost basis with fees already embedded. Verify the figures against your own trade records, especially for multi-lot positions.
Do wash sale rules apply to prediction market contracts?
It depends on classification. Section 1256 contracts (likely for Kalshi) are exempt from wash sales. Capital gains treatment triggers wash sales if you rebuy the same contract within 30 days of a loss.
What happens to cost basis when a prediction market contract settles at $0?
Your full cost basis becomes a deductible loss. If your cost basis was $57.00 and the contract settles No at $0.00, you have a $57.00 loss to report.
Should I use FIFO or specific identification for prediction market trades?
FIFO is the default and what Kalshi reports. Specific identification helps when you sell part of a multi-lot position before settlement, letting you choose which lot to dispose of for tax optimization.