What's Kalshi's revenue?
Analyzing all 203 million trades on Kalshi. Plus, how prediction markets actually work.
It’s 2005, and you start a company called Meth Labs, Inc. You pick up customers, venture capital funding and, before you know it, you’re listed on the NYSE under $METH. People can buy shares in your company, sell shares, or put on an iron condor. The NYSE offers a centralized market where buyers and sellers trade at prices that adjust as information is revealed.
I mentioned the NYSE above, but there are many stock exchanges (NASDAQ, LSE, SSE, etc..) that all facilitate the buying and selling of securities. In fact, markets are so important to society that even if you’re not an avid day-trader, you’re still constantly interacting with them…Uber connects drinkers with drivers, Facebook Marketplace connects people with used furniture, and your dad is trying to connect you with a job.
Let’s say you want to retire and sell your stock in $METH to pursue other philanthropic work. Who’d buy them, and how much should they sell for?
Markets define the price people are willing to buy/sell things at (Price Discovery).
Markets offer a platform for people to trade assets, as it’s possible nobody in your neighborhood wants to purchase your $METH (Liquidity).
But what if, instead of the price per share being illuminated by these markets, it indicated the probability of a discrete event? These are called prediction markets.
By pen and paper at the local cock fight or via centralized, scaled, and well-capitalized firms like Kalshi and Polymarket, prediction markets are different from trading equities:
They are binary. The thing either happens, or it doesn’t.
They resolve once a particular event occurs, an outcome is reached, or a time period has elapsed.
You can’t buy shares in $METH via a prediction market, but you can bet that $METH will trade between $122 and $124 per share on January 6th.
Today, we are going to sell a gun at Bass Pro Shops. Errrr, sorry, Claude keeps hallucinating. Today, we are going to review the billions of dollars flowing through these markets, how the legacy of FTX lives on, what percentage is sports gambling, and we’ll find out how much money Kalshi makes. Let’s learn a new way to gamble.
History/Primer
Kalshi and Polymarket launched in 2018 and 2020, respectively. While these two make up the current duopoly, prediction markets originate further back. One of the OG’s is the Iowa Electronic Markets (IEM), hosting prediction markets since 1988.
Betting on one’s “beliefs” can get people into trouble, but the wisdom of crowds remains a valuable predictive force. Take the 2004 paper from Wolfer and Zitzewitz:
“These markets have predicted vote shares for the Democratic and Republican candidates with an average absolute error of around 1.5 percentage points… The final Gallup poll yielded forecasts that erred by 2.1 percentage points.“
Yet… over all these years, something has been missing… preventing us from gathering predictions, building markets, scaling to millions of people, and leveraging them for personal gain. That missing piece was well capitalized crypto web applications that offer you free groceries, giving us the ability to bet on the next pope being trans. Just as Hayek intended when he wrote The Use of Knowledge in Society.
We’ll explore Kalshi in detail, but there are other projects/protocols in the space.
How does this all work?
Prediction Markets extend humanity’s surface area for gambling. Personally, I might wager $10 that I can drink 10 beers before midnight, and my wife’s boyfriend might not believe me. On one side, I say “Yes, I can finish ten beers” while he says “No, you can’t finish ten beers”. Replace me with Lebron James, beers with points, before midnight with the end of the game, and you have an actual market you can trade on Kalshi.
At Kalshi, a market refers to a single binary market that resolves to “yes” or “no”. An event is a collection of such markets, and a series groups together similar but independent events. For example:
The highest temperature in Miami is a series.
Each day of this series is an event.
Each event contains markets on the temperature: [68° to 69°] or [69° to 70°].
Each market contains a “yes” and a “no” with an associated order book. What’s an orderbook you ask? Let’s get some terms out of the way…
Every trade on Kalshi is a match made between a maker and a taker. Just like in our “contrived” scenario that for sure never happened, makers/takers trade against another person on Kalshi, not the platform itself. Instead of buying shares in a stock, you buy a contract that resolves to $1 if you’re right and $0 if you’re wrong.
As price-sensitive rational actors, I’m willing to put up $10 to win $20, and so is my wife’s boyfriend. With these bets in hand, the event has an implied probability of 50% (10/20). In “event contract” terms:
We break this down into twenty $1 contracts
Each contract is an agreement that we both lock in $.50
At resolution, the winner gets to keep the other’s $.50
As trading heats up, it becomes helpful to track activity with an order book.
There are many different ways to display order books. They typically show resting orders, whether someone is buying or selling, how much they are buying or selling, and when the order was placed.
The bids contain all the people looking to buy, and the asks contain all the people looking to sell. In the example above, the bids and asks have been ordered from best to worst price. The gap between the best bid (highest purchase price) and best ask (lowest selling price) is called the spread.
In a liquid market, like the Super Bowl, the spread is razor-thin (maybe 1 cent). In an illiquid market, the spread might be massive because nobody cares enough to take the other side. This is why Kalshi offers incentives for both liquidity and market making.
Looking back at our order book, when a Market Taker decides $0.52 is a steal, he trades 50 contracts with my mom (you can see her on the bid side). The price of the asset just “moved” to $0.52, and that bid falls off the book. That is Price Discovery, or better said, the market is assigning a probability. The degens have updated the likelihood of my liver failure to 52%. Things look different looking at an actual orderbook from Kalshi:
You’ll notice a “yes” and “no” side to this order book. Contracts on Kalshi can resolve to “yes” or “no”, and traders buy/sell both.
On the yes side, we have 13 contracts for sale as low as $.44, and 58 can be bought for $.42 with a spread of $.02.
On the no side, we have 58 contracts for sale as low as $.58, and 13 can be bought for $.56 with a spread of $.02.
Wait… that looks funny. Why is everything inverse of each-other? Why do the bids for “yes” and the asks for “no” have the same number of contracts and the prices $.42 and $.58 sum to $1? Because buying yes is the same as selling no.
Now that we have a grasp of resting orders, how does matching work?
Kalshi uses a price and time priority algorithm on their central limit order book to match orders. On the surface, this is as straightforward as it sounds, orders are prioritized based on price and then time of submission; however, building an exchange and processing these orders at scale is not so trivial. If you want to know more about matching engines, I’d highly recommend DataBento’s write up. On Kalshi’s exchange, orders must be fully collateralized, so trading on margin isn’t a thing… yet.
For a while, MIAXdx via miax was the clearinghouse for contracts traded on Kalshi’s exchange (a central place where transactions occur). MIAXdx used to be called LedgerX, but miax acquired and renamed it through… drum roll please… FTX’s bankruptcy proceedings! After a while, Kalshi was like “we want our own clearinghouse”, so they built and registered Kalshi Klear with the Commodity Futures Trading Commission in August 2024. Just to take this full circle, Robinhood recently bought none other than… LedgerX from miax!
The Data
I hit Kalshi’s markets endpoint and trades endpoint to get historical data on ~30 million markets, 203 million trades, and over $41,700,000,000 in total volume.
Where is all this volume coming from? Kalshi generates significant traffic directly to its website and app. It has also partnered with some futures commission merchants (FCMs), that facilitate futures trading by accepting contracts on behalf of their clients. You may know them as that place you moved your IRA into… Robinhood, that place where pre-teens trade… WeBull, and that other place you have your shit-coins with… Coinbase.
The top events by volume were the 2024 presidential election at over $535 million dollars, followed up by the 2026 Superbowl winner at ~$244 million dollars.
Wait a minute… the Superbowl… is this just… sports betting?
Is this just sports betting?
Kalshi is regulated by the CFTC (Commodity Futures Trading Commission) which supervises U.S. derivatives markets. When I say “regulated”, what I really mean is “not regulated”. The Commodity Exchange Act (CEA) established the statutory framework under which the CFTC operates. This gives the CFTC authority to prohibit the trading of Onion Futures, but also to allow 18 year olds to trade contracts on Kalshi. Kalshi even boasts about “Minimum Age to Register & Participate” being 18+ in their FAQ section where they directly compare themselves to… sportsbooks. Sportsbooks are at the mercy of state governments, with some states banning sports gambling entirely and others requiring bettors to be 18 or 21+ (typically 21+).
Cool, but… Kalshi is different. You’re trading contracts against your peers, and they can be on anything. It’s not just sports, right? I’m not trading against the house, right?
Over 82% of contracts are on… sports. Kalshi is a volume business, the more contracts traded, the more revenue they gross in fees. All the better to be the first gambling platform for 18 year olds. By the way, they offer parlays, making up over 5% of total volume!
That other thing about not trading against the house… from Kalshi’s article titled “Who am I trading against”:
“Another significant player on the exchange is Kalshi Trading. Kalshi Trading is a separate entity from Kalshi Exchange… they are a participant on the exchange just like everyone else.”
If it smells like a sportsbook and trades like a sportsbook it might be a **loud gunshot, author collapses**.
Back to The Data!
There is a power law distribution of volume in these markets. Bucketing total volume in $, increasing by an order of magnitude, displays this quite well.
80% of the $0 volume markets are Combos (a.k.a multivariate events a.k.a parlays). Each one is a unique market that passes through Kalshi’s RFQ system with many not finding someone to take the other side.
With the same volume bucketing, splitting the buckets by how they resolved, we see that as volume increases, the percentage of markets resolving to “yes” also increases.
This shows that your base rate for any particular market should air on the side of resolving to “no”. The relationship with volume makes sense, events with significantly more markets should spread volume thinly across those markets with only one, or a few, resolving to “yes”.
Within these markets, average contracts per trade hovers around 150-250. Except for a massive spike in 2024 due to some 1,000,000 contract trades placed on the U.S. election. The median sits far under this, typically under 50 for most months.
Fees: Sportsbook vs Kalshi
If a sportsbook is like roulette, winning money through the odds offered, Kalshi is like poker, where the house makes money from the rake, agnostic to who wins or loses.
At a sportsbook, you’ll find “even odds”, lines that have a 50% chance on either side, like the coin toss at the Superbowl. Instead of giving you even odds, they’ll offer a 52.4% chance of heads and a 52.4% chance of tails, higher than reality.
In a fair market, if you bet $10 on a coin toss you’d expect to win $10 if you choose correctly… but a sports book, with higher odds, will only pay you $9.09
On a sportsbook, if two people bet $10 on opposite sides of a coin toss, 1 person walks away with $19.09, 1 person walks away $0 and the Sportsbook walks away with $.91 or 4.5% of the total amount wagered. That 4.5% is what people call the vig, juice, hold, etc…
For example, the Islanders vs Devils market is, conveniently, 52.4%/52.4% on a sportsbook. On Kalshi, contracts are trading at $.51 (51%). So you should trade on Kalshi because you’re getting better odds at 51% vs 52.4% at the sportsbook, right?
No! The sportsbook offers worse odds, but the Kalshi taker fee of $.35 offsets this:
Kalshi
Bet $10.55 (Buy 20 contracts for a total of $10.20 + $.35 fee)
To win $20
Sportsbook:
Bet $10.55
To win $20.14 ($.14 more than Kalshi for the same bet size)
This isn’t the full story for all markets because Kalshi provides a liquidity incentive and a volume incentive. In addition, the Fee Structure is NOT the same for every market and Kalshi does pay you a yield on positions that accrues daily.
Fees: The Math
If you prefer your math in video form, check out Sam on the Technically YouTube channel:
What fees is Kalshi making on all this volume? First, we’ll look at the fees charged to “takers”. The formula is:
fees = round up(0.07 x C x P x (1-P))
Where C is the number of contracts and P is the price (ranging from $0.01 to $0.99).
We can plot this with the fee as a function of P and C. The price increases linearly as the number of contracts increases; this is controlled by P*(1-P) which, as you can see from the right chart, shows how the fees decrease as the underlying probability moves further from 50%, making highly likely and highly unlikely contracts have the lowest fees.
What we’ve discovered is the Bernoulli distribution. The Bernoulli distribution models the outcomes of a single “yes” or “no” question (in our case, a market).
The variance of this distribution can be modeled as P(1-P) where P is the probability of “Yes”; the Y axis of the right chart.
Variance exists between 0 and .25,
Entropy (uncertainty or randomness in a probability distribution) is maximized at P = .5.
Why doesn’t Kalshi implement a flat fee, so we don’t have to make graphs? Likely due to trading concerns:
If a contract costs 98 cents, the maximum profit you can make is 2 cents. If Kalshi charged a flat 2-cent fee, you would make $0 profit… no one would trade it.
Maker fees are identical in slope, they are just scaled down due to the .0175 multiplier, one quarter of the taker fee: fees = round up(0.0175 x C x P x (1-P)).
After downloading all 203 million historical trades on Kalshi, I know the exact price every contract has traded at. I can plug P&C into those equations and derive the total revenue Kalshi has generated from all these contracts… $545.6 Million dollars.
Here’s Kalshi’s trading volume by implied probability month over month:
Here’s Kalshi’s revenue from fees month over month:
It’s clear these markets are exploding in popularity, while DraftKings, Fanduel, and Fanatics scramble to the party. The, “We are basically doing the same thing but now it’s sudo-regulated and 18 years olds can do it” party.
Resolutions
An interesting resolution was when Dallas and Green Bay tied in an NFL game. The market resolved to 50/50 rather than yes or no, 100 or 0… there is no concept of pushing or voiding bets in a prediction market. When things get unclear, Kalshi steps in. In the data, Kalshi marks these results as “scalar”, with over 170,000 markets marked as such.
Market resolution seems to be fairly manual on Kalshi. They have a markets team that thoroughly reviews outcomes. Each market has an authoritative point of reference. For example, the superbowl lists out several sources and contains rules specific to the event. Despite all that, they still couldn’t figure out if Cardi B performed and resolved the market to the last traded price.
Polymarket said “Yes she did perform” which highlights how they do resolutions differently using UMA’s optimistic Oracle… but we’ll save that for another time.
Conclusion
With that, I have 9 beers to drink, and I’m way over my word count.
Quick legal side quest: There is another Prediction Market called PredictIT that specializes in political prediction markets. PredictIT is run by a firm called Aristotle that performs data mining for political campaigns. It was launched in 2014 as a nonprofit educational project out of the Victoria University of Wellington, New Zealand. To operate, they acquired a no-action-letter from the CFTC just like the IEM had, as they agreed to abide by certain guardrails and serve academic purposes. Then, in 2022, PredictIT got shlebanngged by the CFTC for NOT operating in accordance with their agreement. In 2025, they 360 no scoped the CFTC in federal court, and the “Cadillac of Prediction Markets” is back baby.
Anyways, basically, all these players in the “event contract” game are submitting letters and letters to the CFTC to not take action against them for failing to meet reporting requirements that they’d otherwise be required to perform. So far, the CTFC seems to agree, citing the “limited applicability of traditional swap reporting rules to exchange traded event contracts”. There’s other stuff here, like how Kalshi and Robinhood are classified, but suffice it to say that there are many conversations to be had in the future on how to regulate, tax, and manage reporting on these “new” entities.














