The question I get more than any other about prediction markets has nothing to do with edge or resolution mechanics. It is some version of, I made money on Kalshi, do I owe tax on it, and if so how. And the honest answer is that the two big venues, Kalshi and Polymarket, sit in different tax buckets, the IRS has not put out clean guidance on either one, and the venue you traded on changes your reporting burden more than the size of your profit does. So before you take a position with your money, it helps to understand what position you are quietly taking with the IRS.
I am not an accountant and none of this is tax advice. What follows is how I keep the categories straight in my own head, and the specific questions I have learned to bring to someone who signs returns for a living.
Kalshi and the Section 1256 argument
Kalshi is a CFTC-regulated exchange, and that fact is the whole reason people get excited about the tax treatment. Section 1256 of the tax code covers certain contracts traded on regulated exchanges, and it comes with a genuinely nice feature. Gains get split 60 percent long-term and 40 percent short-term regardless of how long you actually held the position. You could open and close a contract in an hour and still get most of it taxed at the lower long-term rate. For an active trader that split is worth real money.
The catch is that nobody has confirmed event contracts belong in Section 1256. The section was written with commodity futures and options in mind, and a binary yes-or-no contract on whether some event happens is not obviously the same animal. The argument that it qualifies is reasonable, the exchange is CFTC-regulated and the contracts are arguably commodity derivatives, but reasonable is not the same as settled. If you claim it and the IRS disagrees years later, you are the one defending the position. So treat Section 1256 as a choice you make deliberately with your accountant, with the reasoning written down, not as a default you assume because a forum said so.
On forms, do not expect Kalshi to hand you a tidy 1099-B for your trading. As far as I have seen they issue a 1099-INT if you earned interest on your cash balance above the usual threshold, and a 1099-MISC if you got referral bonuses or credits above roughly six hundred dollars. Neither of those covers your actual trading profit or loss. That number is yours to compute and report. The absence of a 1099-B does not mean the profit is invisible or untaxed. It means the recordkeeping falls on you.
Polymarket is a pile of crypto transactions
Polymarket is a different world because you are trading with USDC on-chain, and the IRS treats crypto, including dollar-pegged stablecoins like USDC, as property rather than cash. That one classification cascades into everything. When you spend USDC to buy a Yes share, that is a disposal of property. When you sell the position, another disposal. When a market resolves and pays you out, another taxable event. Even the moment you convert dollars into USDC and back can be a taxable event, though the gain there is usually tiny because the peg barely moves.
What this means in practice is that a single afternoon of active trading on Polymarket can generate dozens of taxable dispositions, each with its own acquisition date, disposal date, proceeds, and cost basis. Under the capital-asset view these land on Form 8949 and flow to Schedule D, split into short-term and long-term by how long you held each lot. Polymarket does not send you a 1099 of any kind, so there is no summary to lean on. And because you are dealing in a digital asset, you answer yes to the digital asset question on your 1040, which a lot of people forget.
The failure mode I have watched people walk into is treating Polymarket like a betting app where you only count the money that hit your bank at the end. The IRS view is transaction by transaction on-chain, not net-at-withdrawal. If you never exported your trade history and only reconstruct it in April from a wallet you half remember, you are in for a bad week and probably an overpayment, because missing cost basis usually defaults to zero and inflates your gain.
Losses, and why they are not symmetric
Loss treatment is where the framework you picked actually bites. If your trades are capital transactions, capital losses offset capital gains and then a limited amount of ordinary income per year, with the rest carrying forward. That is workable. If you or your accountant characterize the activity as gambling, the rules get meaner. Gambling losses only offset gambling winnings, never other income, and recent changes have tightened how much of those losses you can even use. So the same profitable-then-losing year can produce very different bills depending on which box the activity sits in, and that box is not always yours to choose freely.
This is exactly why the classification question is not academic. Section 1256, ordinary capital treatment, and gambling income are three different doors, and they lead to three different numbers on the same set of trades.
The records to keep from day one
Almost every bad tax outcome I have seen in this space traces back to missing records, not to the rules themselves. The rules are murky but survivable. Reconstructing a year of trades from memory is not. Here is the minimum I would keep, starting the day you place your first trade rather than the day you file.
- A full export of every trade from each venue, pulled at least quarterly, because platforms change and access is not guaranteed forever.
- For Polymarket and anything on-chain, the wallet addresses you used and the transaction hashes, so basis and dates can be verified independently of any app.
- Dates and amounts for every deposit and withdrawal, including the fiat-to-USDC conversions, so you can tie the on-chain activity back to real dollars.
- Any 1099-INT or 1099-MISC a venue does send, kept even though it does not cover your trading, because it still has to appear on your return.
- A short note to yourself on which tax framework you and your accountant chose and why, dated, so next year you are consistent and can defend it.
I keep the raw trade exports in the same place I keep my market research. If you already track your positions and P and L through something like Blockcircle across venues, that same history is most of what your accountant needs, and it beats scraping a wallet in a panic. The point is to make the tax version of your year a report you can run, not an archaeology project.
None of this tells you what you owe, and it is not supposed to. What it should do is change the conversation you have with a professional. Instead of arriving in April with a number and a shrug, you walk in able to say, Kalshi trades here and here is why I am or am not taking Section 1256, Polymarket is property so here is the 8949 detail, and here is how I want losses characterized. That is a much shorter and much cheaper meeting, and it is the difference between a plan and a year-end surprise.