Opening checkout

Prediction markets8 min read

Kalshi Fees Explained (2026): Formula and Examples

How Kalshi trading fees are calculated, with the taker and maker formulas, worked examples at different prices, and what API traders pay.

By QuantVPS Team

Published
Updated
Kalshi Fees Explained (2026): Formula and Examples

Kalshi charges a trading fee of 0.07 x C x P x (1-P), rounded up, when your order matches a resting order straight away (a taker trade), where C is the number of contracts and P is the price in dollars. Resting (maker) orders pay nothing unless the series charges maker fees, which use 0.0175 in place of 0.07. Settlement, membership and ACH transfers are free (Kalshi fee schedule, checked on 10 Oct 2026).

Key points:

  • Taker fee: largest at 50c ($1.75 per 100 contracts) and smallest near 1c and 99c ($0.07 per 100).
  • Maker fee: only on series that list maker fees, at a quarter of the taker rate, and only when the resting order fills.
  • No fee to cancel a resting order, to settle a market, or to move money by ACH.
  • API traders pay the same schedule; every fill returns a fee_cost field.

The Kalshi Fee Formula and Rounding

Kalshi charges a variable fee on the expected earnings of a contract, so the fee follows P x (1-P). Kalshi's fee schedule PDF (last updated and effective 7 July 2026) gives the general formula as:

fees = round up(M x 0.07 x C x P x (1-P))
  • P = the price of a contract in dollars (50 cents is 0.5).
  • C = the number of contracts being traded.
  • M = the multiplier for each contract (default is 1 unless otherwise indicated).
  • round up = rounds up such that the fee + positionCost is rounded to a centicent.

A centicent is one hundredth of a cent, or $0.0001. Kalshi's API docs on fee rounding add the detail: direct member balances are aligned to $0.0001 and non-direct members (for example, accounts cleared through a futures commission merchant) to $0.01. Any extra precision is charged as a small rounding fee and later rebated across the same order's fills.

The multiplier M is set per series. On 10 Oct 2026 the Kalshi fee schedule page listed no upcoming fee changes and 157 series with non-standard fees. Of those, 126 charge maker fees (one of them, Professional Baseball Game, at a 0.5 multiplier), 18 more use a 0.5 multiplier (half the usual fee) with taker fees only, mostly baseball series, and 13 charge no fees at all.

Uptime

99.999% uptime. Built for 24/7 trading reliability.

Your VPS runs in Tier IV datacenters with redundant power and network, monitored 24/7 on site.

See the uptime SLA
A dot-matrix heatmap resolves into the 99.999% uptime SLA figure. An illustration, not live status.

Taker vs Maker Fees on Kalshi

A taker order matches a resting order immediately and always pays the trading fee. A maker order rests on the book first; it pays nothing on most markets, and on markets with maker fees it pays only when it is filled. Cancelling a resting order is always free.

The Kalshi fee schedule gives the maker formula as:

fees = round up(M x 0.0175 x C x P x (1-P))

Here M defaults to 0 unless otherwise indicated, which is why most markets have no maker fee. Series that do charge maker fees are listed in the Non-Standard Fees table of the PDF and on the fee schedule page. On 10 Oct 2026 that list included the Fed funds rate, CPI, jobs numbers and GDP series, and sports series such as NFL and NBA games. Combo markets (excluding uncorrelated NFL combos) charge maker fees at 50% of the taker fee.

Order type Rate in the formula When it is charged Fee range per 100 contracts (M = 1)
Taker 0.07 Every time the order matches at once $0.07 to $1.75
Maker, most markets None (M is 0) Never $0
Maker, series with maker fees 0.0175 Only when the resting order fills $0.02 to $0.44
Maker, combos 50% of taker Only when the resting order fills $0.04 to $0.88

Ranges are as shown on the Kalshi fee schedule page, checked on 10 Oct 2026. Kalshi's API calls the fee model of each series its fee_type: quadratic (taker fees only), quadratic_with_maker_fees, quadratic_with_combo_maker_fees or flat, together with a fee_multiplier.

Five steps to work out a Kalshi trading fee: check the series fee_type and fee_multiplier, decide whether the order is a taker or a maker, apply 0.07 (taker) or 0.0175 (maker) times M times C times P times (1-P), round so fee plus position cost lands on a centicent, then check fee_cost on each fill in the API.

Kalshi fees depend on the series, the order type and the contract price.

Kalshi Fee Examples at 10c, 50c and 90c

A taker order for 100 contracts costs $0.63 in fees at 10c or 90c and $1.75 at 50c, because P x (1-P) is the same at P and 1-P and peaks at 50c. These figures match the General Trading Fees Table in Kalshi's fee schedule.

Price (P) Cost of 100 contracts Taker fee, 100 contracts Maker fee, 100 contracts (maker-fee series) Taker fee, 1 contract (Kalshi table)
$0.10 $10.00 0.07 x 100 x 0.10 x 0.90 = $0.63 0.0175 x 100 x 0.10 x 0.90 = $0.1575 $0.01
$0.50 $50.00 0.07 x 100 x 0.50 x 0.50 = $1.75 0.0175 x 100 x 0.50 x 0.50 = $0.4375 $0.02
$0.90 $90.00 0.07 x 100 x 0.90 x 0.10 = $0.63 0.0175 x 100 x 0.90 x 0.10 = $0.1575 $0.01

All examples use M = 1. The fee schedule page shows the maker range in whole cents, so $0.4375 appears as $0.44. For one contract the formula gives $0.0063 at 10c and $0.0175 at 50c; Kalshi's table rounds these up to $0.01 and $0.02. Your own fills follow your balance precision, as above.

As a share of the stake, fees weigh most on cheap contracts: $0.63 on $10.00 is 6.3%, while $1.75 on $50.00 is 3.5%.

Settlement, Deposit and Withdrawal Costs

Kalshi charges no settlement fee and no membership fee, and ACH deposits and withdrawals are free. Card and other payment rails can carry a fee of up to 2%. The full list from the fee schedule, checked on 10 Oct 2026:

Item Kalshi fee
Settlement None
Membership None
ACH deposit and withdrawal None
Wire deposit No Kalshi fee; your bank may charge one. Wire withdrawals are not currently supported for transactions under $500,000
Debit card deposit A maximum fee of 2%
Crypto deposit and withdrawal May carry fees from Kalshi's third-party payment processor, disclosed before the transaction
Other payment methods Kalshi reserves the right to charge between 0% and 2%
Access through a futures commission merchant (FCM) The FCM may charge its own fees, disclosed before the transaction

So a contract held to expiry pays one trading fee, while a position closed early pays two.

How Kalshi Fees Show in API Fill Data

The Kalshi API reports the fee on every fill in a fee_cost field, in fixed-point dollars, next to an is_taker flag that tells you which rate applied. You do not send a fee with your order; the exchange works it out at match time. Our Kalshi API guide covers authentication and the order book endpoints.

Where Fee fields
GET /portfolio/fills fee_cost, is_taker, count_fp, yes_price_dollars, no_price_dollars
WebSocket fill channel fee_cost (exchange fee paid for this fill), is_taker
GET /portfolio/orders/{order_id} taker_fees_dollars, maker_fees_dollars
GET /portfolio/settlements fee_cost (total fees paid)
GET /series/{series_ticker} fee_type, fee_multiplier
GET /series/fee_changes Scheduled fee changes by series

Fills before Kalshi's historical cutoff move to GET /historical/fills. Counts can be fractional (the minimum is 0.01 contracts), and the fee rounding page explains that each fill carries a trade fee, a rounding fee and a possible rebate. So reconcile your profit and loss against the fee_cost the exchange returns, not against your own formula.

Order flow

Built for scalpers. Heatmaps on dedicated resources.

Order-flow heatmaps and DOM ladders run on dedicated CPU, memory and NVMe, so your charts keep responding during volatility.

See the dedicated hardware
Order flow through a news release: resting bids and offers paint in as a heatmap beside the DOM ladder, then a burst of buys takes the offer wall. Illustrative; prices are decorative.

Fees in a Kalshi Bot's Edge Math

A Kalshi bot only has an edge on a taker buy if its probability estimate beats the price plus the fee. For a YES contract bought at P and held to settlement, the break-even probability per contract is P + 0.07 x P x (1-P). At 50c that is 51.75%; at 10c it is 10.63%; at 90c it is 90.63%.

def kalshi_fee(contracts, price, rate=0.07, multiplier=1):
    return multiplier * rate * contracts * price * (1 - price)


def edge_per_contract(probability, price, rate=0.07):
    return probability - price - kalshi_fee(1, price, rate)


print(round(kalshi_fee(100, 0.50), 4))         # 1.75
print(round(edge_per_contract(0.55, 0.50), 4))  # 0.0325

Three habits keep the edge math honest:

  • Count the fee twice for trades you exit before settlement, once to open and once to close.
  • Read the series settings from GET /series/{series_ticker}, since a multiplier can be 0.5 or 0.
  • Prefer resting orders where fill risk allows: most markets charge makers nothing.

A bot that rests orders also needs to stay connected so it can cancel or amend quotes when the market moves. QuantVPS runs a Kalshi VPS in Chicago, with 0 to 1 ms to Kalshi as published on that page. It runs with 99.999% uptime.

FAQs

How much is the Kalshi fee per contract?

For a taker trade it is 0.07 x P x (1-P) per contract, rounded up, so it depends on the price. Kalshi's table lists $0.01 for one contract at 1c to 15c and 85c to 99c, and $0.02 from 20c to 80c (checked on 10 Oct 2026).

Does Kalshi charge maker fees?

Only on some series. The maker formula uses 0.0175 in place of 0.07, and the multiplier is 0 unless the series is listed with maker fees on the Kalshi fee schedule. Maker fees are charged only when a resting order fills, never when you cancel it.

Does Kalshi charge a fee at settlement?

No. The Kalshi fee schedule says there is no settlement fee, so a winning contract pays $1 with no further charge.

Do Kalshi perpetual futures use the same fee formula?

No. Kalshi perpetual futures use tiered fees in basis points based on 30-day trailing perps and prediction volume. At tier 0 the taker fee is 12.0 bps and the maker fee is 5.0 bps (Kalshi fee schedule, checked on 10 Oct 2026).

Share this article

Disclaimer: QuantVPS does not represent, guarantee, support, or endorse any third-party brands, products, or services mentioned in this article. All brand references are for informational purposes only. This information does not constitute a recommendation to trade futures or any other financial instruments. All trading decisions are made at your own discretion. Please be aware that futures trading involves significant risk of loss, and past performance does not guarantee future results. Read our full Brand Non-Endorsement Disclaimer.

Risk Disclosure: QuantVPS does not provide financial, investment, or trading advice. Trading involves substantial risk of loss and is not suitable for every investor. Past performance is not indicative of future results. You should consult a qualified financial advisor before making any trading decisions. Read our full Trading Disclaimer.