Skip to content
Prediction Markets101

How does Kalshi work? The complete walkthrough

Inside Kalshi: the CFTC-regulated DCM architecture, contract structure, resolution process, fees, and how a trade flows from click to settlement.

Prediction Markets 101 editorial team Updated April 16, 2026 9 min read

The thirty-second architecture

Kalshi is a regulated financial exchange. Think CME (for futures) or ICE (for commodities) but for event contracts. Specifically:

  • Kalshi Inc. is the legal entity
  • KalshiEX LLC is the CFTC-designated contract market (the DCM)
  • Clearing and custody happen via Kalshi's banking partner (historically BMO Harris; may vary)
  • User-facing app (web, iOS, Android) connects to the backend via a standard REST + WebSocket API

Unlike Polymarket, there are no smart contracts. No crypto. Everything is traditional financial infrastructure operating under a specific regulatory license.

Contract structure

Every Kalshi market has a precisely-defined binary contract.

Anatomy of a Kalshi market

Consider: "Will the Federal Reserve cut rates at the March 2026 FOMC meeting?"

  • Ticker: FED-25MAR-CUT
  • Source: Federal Reserve press release at the meeting's official time
  • Resolution: "YES" if the post-meeting statement indicates a reduction in the federal funds target range. "NO" otherwise.
  • Settlement: 48 hours after announcement, subject to dispute window
  • YES price: 0.42 (i.e., 42 cents)
  • NO price: 0.58 (i.e., 58 cents)

You buy the YES contract for $0.42. If the Fed cuts, your YES contract settles at $1.00 — you gain $0.58 per contract. If the Fed holds, your YES contract settles at $0.00 — you lose $0.42 per contract.

Contracts come in small denominations (typically $1 face value). You trade any integer quantity — 1 contract, 5, 100, 10,000. There's no "standard lot" like in commodity futures; retail-friendly.

Tickers and market families

Each market has a unique ticker. Similar markets are grouped into series:

  • FED-* — Fed rate decisions by meeting
  • CPI-* — CPI prints by month
  • SUP-* — Supreme Court decisions
  • NFL-* — NFL game outcomes
  • HURR-* — Hurricane paths and intensity

Within a series, you have many individual contracts — one per event.

How a trade works

Step 1: Placing the order

You open the Kalshi app. You pick a market. You click "Yes" (or "No"). A trade ticket appears:

Market: Will the Fed cut rates at the March 2026 meeting?
Side: YES
Quantity: 100 contracts
Best price: $0.42
Fee: $2.00 (shown explicitly)
Total cost: $44.00 ($42 contracts + $2 fee)

You click Confirm. The order goes to Kalshi's backend.

Step 2: Order matching

Kalshi runs a standard central limit order book (CLOB). Your order is matched against the best available counter-side offers. If fully filled at $0.42, you own 100 YES contracts and your USD balance drops by $42 + fees.

If partially filled, unfilled shares remain as a limit order in the book until filled, canceled, or expired.

Step 3: Position holding

Your 100 YES contracts sit in your Kalshi account, visible in the Portfolio tab. The mark-to-market value updates in real time as the market price moves.

You can hold until resolution, sell back into the order book at any time, or manage the position alongside others in your portfolio.

Step 4: Resolution

At the resolution event (Fed meeting announcement), Kalshi's resolution team reads the specified source (Federal Reserve statement) at the specified time (announcement release).

If the announcement matches the YES condition, the market resolves YES. Your 100 YES contracts settle at $1.00 each — your balance credits $100. Gross gain: $100 - $42 = $58 (minus fees already paid).

If NO, contracts settle at $0.00 — your $42 position becomes worthless.

Step 5: Dispute window

After Kalshi publishes the resolution, there's a brief dispute window (typically 48 hours) during which users can flag issues. Normal markets pass through without dispute. Edge cases (source delivered unclear data, event delayed) can be reviewed; Kalshi makes the final call under CFTC oversight.

Step 6: Withdrawal

Once settled, cash in your Kalshi account can be withdrawn via ACH (free, 1–3 business days) to your linked bank. Wire transfers are faster for a small fee.

Custody: where your money actually lives

Customer funds on Kalshi are held in segregated accounts at FDIC-insured banks. Specifically:

  • Your USD deposit sits in a bank account in your name (via Kalshi's custody structure)
  • Funds are NOT co-mingled with Kalshi's operating capital
  • The CFTC specifies segregation rules that Kalshi must follow
  • FDIC insurance covers up to $250,000 per account per bank

In the worst case — Kalshi's bankruptcy — segregated customer funds are legally protected and would be returned via standard bankruptcy procedures. This is the same structure that protects customer funds at Schwab, Fidelity, and other regulated US brokerages.

This is fundamentally different from unregulated offshore platforms where "custody" depends entirely on the company's integrity.

Fees: exactly what you pay

Kalshi charges a per-contract fee on trades. Fees are:

  • Transparent — shown on the trade ticket before you confirm
  • Typically a few cents per contract
  • Scaled somewhat by contract category (e.g., sports may be priced differently than economics)
  • Charged on both buy-to-open and sell-to-close legs

Examples (representative, not authoritative — check Kalshi's current fee schedule):

  • $0.01–$0.07 per contract on major economic markets
  • $0.02–$0.05 per contract on political and sports markets
  • Higher for thin/specialty markets where Kalshi needs to cover operating cost

For a 100-contract position at $0.02 fee per contract, you pay $2 per leg, $4 round trip. On a $42 notional trade with YES at $0.42, that's ~10% in fees — high relative to Polymarket's 0% but still far below typical sportsbook vig of 4.5% per bet.

For large positions, fees are a smaller percentage. A 10,000-contract position at $0.02 per contract is $200 per leg — on $4,200 notional, that's ~4.8%. Still competitive.

Deposit and withdrawal fees

  • ACH deposit/withdrawal: Free
  • Wire: Small fee (paid to the bank, not to Kalshi)
  • Debit card deposit: 1–2% fee

No monthly maintenance fees. No inactivity fees.

Resolution in depth

The resolution source

Every Kalshi market lists a specific resolution source on its contract spec page. Examples:

  • Fed rate markets: The FOMC statement released at the scheduled meeting time
  • CPI markets: Bureau of Labor Statistics press release
  • Election markets: Associated Press official call
  • Sports markets: Official league scoreboard at game end
  • Weather markets: NOAA data at specified locations

The resolution source is contractual. Kalshi can't change it without user notice.

The resolution process

  1. At the market's resolution date, Kalshi's resolution team reads the source
  2. The source's output is applied to the contract rule (e.g., "YES if BLS reports unemployment rate below 4%")
  3. Kalshi publishes the resolution
  4. Dispute window opens (typically 48 hours)
  5. If no disputes, contracts pay out; account balances update
  6. If disputed, Kalshi investigates with CFTC visibility

This is simpler than Polymarket's oracle model but relies on trusting Kalshi's judgment. The CFTC oversight is the primary check — Kalshi can't systematically resolve against users without regulatory consequences.

Comparison to Polymarket

Kalshi's centralized resolution is faster and simpler. Polymarket's decentralized oracle is more cryptographically trust-minimized but slower on edge cases. Both have strong track records on standard markets.

For controversial political events (e.g., calling a close election), Kalshi's CFTC-backed interpretation has credibility that a DAO vote can't quite match. Some traders prefer this; others prefer Polymarket's decentralization.

The Kalshi API

For developers and quantitative traders, Kalshi offers:

REST API

  • GET /trade-api/v2/markets — list all markets
  • GET /trade-api/v2/markets/{ticker} — single market details
  • GET /trade-api/v2/markets/{ticker}/orderbook — live order book
  • GET /trade-api/v2/markets/{ticker}/trades — trade history
  • GET /trade-api/v2/markets/{ticker}/candlesticks — historical OHLCV
  • POST /trade-api/v2/portfolio/orders — place an order

Authentication via API key (create in settings). Rate limits are generous for retail use.

WebSocket API

Live streams for:

  • Market price updates
  • Your own order fills and cancellations
  • Order book depth changes

Useful for algorithmic trading where you want to react to market events within milliseconds.

Official SDKs

Kalshi has a documented API. Unofficial Python, JavaScript, and Go clients exist. Many retail algorithmic traders use kalshi-python or similar wrappers.

Use cases

  • Market-making (post both sides of the book, capture spread)
  • Arbitrage against Polymarket or sportsbooks
  • Backtested systematic strategies
  • Analytics dashboards for tracking market movement

Rate limits scale with volume. Sophisticated traders can request elevated limits.

Mobile apps

Kalshi's iOS and Android apps mirror the web experience:

  • Full trading — browse, buy, sell, portfolio management
  • Push notifications for price alerts and market resolutions
  • Bank linking for deposits/withdrawals
  • Identity verification flow

The apps are polished and have good App Store ratings. For most retail users, the app is the primary interface.

Tax reporting

Kalshi issues IRS Form 1099 for users with reportable gains. Forms are delivered by January 31 for the previous tax year, downloadable from the account settings.

Gains are typically:

  • Short-term capital gains (ordinary income rate) if held < 1 year
  • Ordinary income in some characterizations

The 1099 simplifies tax reporting enormously compared to Polymarket's no-1099 model. For US users, this alone is a major reason to prefer Kalshi.

For detailed tax analysis, see polytaxes.com.

What Kalshi can't offer (yet)

  • All Polymarket's markets. Kalshi's category universe is narrower because each market type requires CFTC approval.
  • Crypto settlement. Kalshi is USD-native. No USDC, no Polygon, no crypto-native integration.
  • Decentralization. Kalshi is a traditional centralized exchange. If you philosophically prefer decentralized systems, Polymarket is the choice.
  • Non-US user access. Kalshi is US-only. Non-US residents should use Polymarket.

FAQ

Frequently asked questions

Is Kalshi a real exchange or a fintech app?+

A real CFTC-designated contract market — the same regulatory designation CME and ICE hold. Kalshi's product has fintech UX, but the underlying structure is a full regulated exchange.

How does Kalshi make money?+

Trading fees, primarily. Plus interest earned on the customer-fund float held at Kalshi's banking partner (this is common for brokerages).

Can Kalshi take a position against me?+

No. Kalshi is an exchange, not a market maker or house. You trade against other users. Kalshi doesn't profit from user losses; it profits from volume.

What happens if Kalshi goes bankrupt?+

Customer funds are segregated at FDIC-insured banks. Under normal bankruptcy rules, segregated funds are returned to customers. FDIC insurance covers up to $250k per account.

How does Kalshi handle disputed resolutions?+

Kalshi's resolution team investigates disputes during the 48-hour window. Final decisions are made by Kalshi staff with CFTC oversight. Disputes are rare — specific resolution sources make most outcomes unambiguous.

Can I run a trading bot on Kalshi?+

Yes. Kalshi has a documented REST/WebSocket API with reasonable retail rate limits. Many users run automated strategies.

Does Kalshi have leverage or margin?+

Kalshi contracts are fully collateralized — you pay up-front, no margin. This is a CFTC DCM requirement for event contracts.

How does Kalshi's speed compare to traditional markets?+

Trade execution is milliseconds. Settlement to account balance is instant. Withdrawal to bank is 1–3 business days via ACH. Competitive with any retail brokerage.

Related reading