#Overview
Kalshi is a U.S.-based exchange for event contracts, which are financial instruments that pay out based on real-world outcomes. As a CFTC-regulated Designated Contract Market (DCM), Kalshi operates within the traditional financial regulatory framework, offering prediction market trading to U.S. residents using USD through standard banking infrastructure.
The platform functions like a traditional exchange where traders buy and sell contracts representing beliefs about future events. Each contract is priced between 0.99, with prices reflecting the market's implied probability of an outcome occurring. Winning contracts pay 0.00.
Kalshi's regulatory status distinguishes it from offshore and crypto-native prediction markets. This structure provides legal clarity for U.S. participants, fund segregation protections, and formal dispute resolution, while also imposing restrictions like position limits and requiring CFTC approval for new market types.
#History and Background
Kalshi was founded in 2018 by Tarek Mansour and Luana Lopes Lara, both former employees at Citadel Securities. The company received designation as a DCM from the CFTC in November 2020, making it the first new exchange of its kind in years.
The platform launched publicly in July 2021, initially offering markets on economic indicators, weather events, and select other categories. Kalshi positioned itself as bringing prediction markets into the regulated financial mainstream, contrasting with unregulated platforms and offshore operators.
#Regulatory Milestones
- November 2020: CFTC grants Kalshi DCM designation
- July 2021: Public launch with initial market offerings
- 2022-2023: Expansion of market categories; ongoing regulatory discussions
- September 2023: Kalshi sues CFTC after the agency blocks proposed election contracts
- October 2024: Federal court rules in Kalshi's favor, allowing political event contracts
- November 2024: Election markets launch; massive volume during 2024 presidential race
The 2024 legal victory represented a significant expansion of what CFTC-regulated exchanges can offer, bringing political prediction markets into the regulated U.S. financial system for the first time at scale.
#Kalshi Architecture
#How It Works
#Account Setup
Creating a Kalshi account requires identity verification consistent with financial regulations:
- Sign up: Register at kalshi.com with email and basic information
- KYC verification: Submit government-issued ID and verify address (typically approved within minutes to hours)
- Fund account: Deposit USD via bank transfer (ACH), wire transfer, or debit card
- Start trading: Browse markets and place orders
#Account Requirements
| Requirement | Details |
|---|---|
| Age | 18+ years old |
| Residency | U.S. residents only (all 50 states) |
| Identity | Government-issued ID required |
| Funding | U.S. bank account or debit card |
| Tax | SSN required for tax reporting |
#Trading Mechanics
Kalshi uses a central limit order book matching system, similar to traditional stock exchanges:
- Limit orders: Specify your price; order rests in the book until matched or canceled
- Market orders: Execute immediately at best available price
- Time in force: GTC (Good Till Canceled), IOC (Immediate or Cancel), FOK (Fill or Kill)
- Partial fills: Large orders may fill incrementally as counterparties match
Share prices range from 0.99, representing 1% to 99% implied probability. A Yes share at $0.65 implies the market believes there is a 65% chance the event occurs.
#Tick Size
Kalshi uses a fixed $0.01 (1 cent) tick size across all markets:
- Prices move in penny increments from 0.99
- Minimum spread is 1 tick ($0.01)
- Consistent with traditional regulated exchanges
- No dynamic tick sizing (unlike Polymarket)
See Kalshi Tick Size for detailed information on how tick size affects trading costs at different price levels.
#Trading Example
Scenario: You believe the Federal Reserve will cut rates at its December meeting.
- Find Market: Navigate to "Fed Rate Decision - December FOMC"
- View Prices:
- YES (Rate Cut): $0.72 (72% implied probability)
- NO (No Cut): $0.28 (28% implied probability)
- Place Trade:
- You buy 100 YES contracts at $0.72
- Cost: $72.00 USD
- Outcomes:
- If Fed cuts rates: Market resolves YES. You receive 28.00 (38.9% return)
- If Fed holds/raises: Market resolves NO. Contracts worth 72.00
Expected Value Calculation:
- If you believe true probability is 80%:
EV = (0.80 × $28.00) - (0.20 × $72.00)
EV = $22.40 - $14.40 = +$8.00 per 100 contracts
#Payouts
When a market resolves:
- Winning contracts pay out $1.00 USD each
- Losing contracts pay $0.00
- Payouts credited to account immediately after resolution
- Funds available for withdrawal or further trading
#Market Structure
#Market Lifecycle
#Events and Series
Kalshi organizes markets hierarchically:
Events: A specific question or occurrence being predicted
- Clear resolution criteria
- Official data sources specified
- Defined timeframe
Series: Recurring markets on the same topic
- Monthly series: "Will CPI exceed 3%?" (each month)
- Weekly series: Temperature ranges, sports outcomes
- Standardized format across time periods
- Enables tracking performance over multiple instances
#Ticker Symbols
Each market has a unique ticker following a structured format:
Format: SERIES-DATE-OUTCOME
Examples:
├── INFL-24DEC-T3.00
│ ├── INFL = Inflation series
│ ├── 24DEC = December 2024
│ └── T3.00 = Threshold of 3.00%
│
├── FED-24DEC-R4.75
│ ├── FED = Federal Reserve series
│ ├── 24DEC = December 2024
│ └── R4.75 = Rate of 4.75%
│
└── PRES-24NOV-DEM
├── PRES = Presidential election
├── 24NOV = November 2024
└── DEM = Democratic party outcome
#Market Categories
#Economics
Kalshi offers extensive coverage of economic indicators:
- Inflation: CPI, PCE, Core inflation thresholds
- Federal Reserve: Rate decisions, dot plot projections
- Employment: Nonfarm payrolls, unemployment rate
- GDP: Quarterly growth estimates
- Retail Sales: Monthly data releases
- Housing: Home price indices, starts, sales data
Economic markets typically resolve using first-release government data from official sources (BLS, BEA, Federal Reserve).
#Politics and Policy
Following the 2024 court ruling, Kalshi offers political event contracts:
- Elections: Presidential, Congressional, gubernatorial races
- Congressional votes: Bill passage, confirmation votes
- Supreme Court: Case decisions, term outcomes
- Regulatory actions: Agency decisions, policy changes
- International: Select geopolitical events
#Climate and Weather
Weather markets use official NOAA and weather service data:
- Temperature ranges: Daily highs/lows for major cities
- Precipitation: Rainfall thresholds
- Extreme weather: Hurricane landfalls, named storms
- Seasonal: El Niño/La Niña classifications
#Technology and Business
- Company earnings: Revenue/profit thresholds
- Product launches: Release dates, feature announcements
- Regulatory approvals: FDA decisions, merger clearances
- Crypto: Bitcoin price thresholds
#Market Categories Distribution
#Fees and Costs
#Trading Fees
Kalshi uses a tiered fee structure based on contract price:
| Contract Price | Fee per Contract | Max Fee as % of Profit |
|---|---|---|
| 0.10 | $0.01 | Capped at 15% |
| 0.25 | $0.02 | Capped at 10% |
| 0.50 | $0.02 | Capped at 7% |
| 0.75 | $0.03 | Capped at 5% |
| 0.99 | $0.03 | Capped at 5% |
Fee caps: Fees are capped to ensure they never exceed a percentage of potential profit, protecting traders on high-probability positions.
def calculate_kalshi_fee(contract_price, quantity):
"""
Calculates estimated trading fee based on Kalshi's tiered structure.
"""
fee_per_contract = 0.0
if contract_price <= 0.10:
fee_per_contract = 0.01
elif contract_price <= 0.25:
fee_per_contract = 0.02
elif contract_price <= 0.50:
fee_per_contract = 0.02
else:
fee_per_contract = 0.03
total_fee = fee_per_contract * quantity
return total_fee
# Example: Buying 100 contracts at $0.72
fee = calculate_kalshi_fee(0.72, 100)
# Result: $0.03 * 100 = $3.00
print(f"Estimated Fee: ${fee:.2f}")
#Deposit/Withdrawal Fees
| Method | Deposit Fee | Withdrawal Fee | Speed |
|---|---|---|---|
| ACH Bank Transfer | Free | Free | 1-3 business days |
| Wire Transfer | Free | $25 | Same day |
| Debit Card | 1.5% | N/A | Instant |
#No Hidden Costs
- No account maintenance fees
- No custody fees
- No inactivity fees
- Settlement is free
- All fees displayed before trade confirmation
#Developer Access: Kalshi API
Kalshi provides comprehensive REST and WebSocket APIs for programmatic trading:
#REST API Example
import requests
class KalshiClient:
BASE_URL = "https://trading-api.kalshi.com/trade-api/v2"
def __init__(self, api_key, api_secret):
self.session = requests.Session()
# Authentication setup here
def get_markets(self, series_ticker=None):
"""Fetch available markets, optionally filtered by series."""
params = {"series_ticker": series_ticker} if series_ticker else {}
response = self.session.get(f"{self.BASE_URL}/markets", params=params)
return response.json()
def get_orderbook(self, ticker):
"""Fetch the order book for a specific market."""
response = self.session.get(f"{self.BASE_URL}/markets/{ticker}/orderbook")
return response.json()
def place_order(self, ticker, side, quantity, price):
"""Place a limit order."""
payload = {
"ticker": ticker,
"side": side, # "yes" or "no"
"type": "limit",
"count": quantity,
"yes_price": price if side == "yes" else None,
"no_price": price if side == "no" else None
}
response = self.session.post(f"{self.BASE_URL}/portfolio/orders", json=payload)
return response.json()
# Usage Example
client = KalshiClient(api_key="your_key", api_secret="your_secret")
# Get order book
book = client.get_orderbook("INFL-24DEC-T3.00")
print(f"Best Bid: ${book['orderbook']['yes'][0]['price']}")
print(f"Best Ask: ${book['orderbook']['no'][0]['price']}")
#WebSocket for Real-Time Data
import websocket
import json
def on_message(ws, message):
data = json.loads(message)
if data["type"] == "orderbook_delta":
print(f"Order book update: {data}")
elif data["type"] == "trade":
print(f"Trade executed: {data}")
def subscribe_to_market(ticker):
ws = websocket.WebSocketApp(
"wss://trading-api.kalshi.com/trade-api/ws/v2",
on_message=on_message
)
# Subscribe to market updates
ws.send(json.dumps({
"type": "subscribe",
"channels": ["orderbook", "trades"],
"market_ticker": ticker
}))
ws.run_forever()
#API Features
- Market data: Real-time quotes, order book depth, trade history
- Trading: Place, modify, cancel orders programmatically
- Portfolio: Position tracking, P&L calculation, order history
- Account: Balance inquiries, deposit/withdrawal status
- Rate limits: Tiered based on account activity
#Resolution Process
#Data Sources
Kalshi markets resolve using official, objective data sources:
| Category | Primary Sources |
|---|---|
| Economic Data | Bureau of Labor Statistics (BLS), Bureau of Economic Analysis (BEA), Federal Reserve |
| Weather | NOAA, National Weather Service |
| Elections | Associated Press, state election authorities |
| Corporate | SEC filings, official company announcements |
| Regulatory | Federal Register, agency press releases |
#Resolution Timeline
#Resolution Rules
- First release: Markets typically resolve on first official release, not revisions
- Specific criteria: Each market specifies exact conditions (e.g., "CPI-U year-over-year exceeds 3.0%")
- No ambiguity: Resolution criteria designed to be binary and objective
- Edge cases: Detailed rules cover scenarios like data delays or corrections
#Position Limits
#Standard Limits
Kalshi imposes position limits to comply with CFTC regulations and prevent market manipulation:
| Account Type | Typical Limit per Market |
|---|---|
| Standard Retail | $25,000 |
| Verified/Active | Up to $100,000 |
| Institutional | Custom (higher limits available) |
#Limit Structure
- Per-market limits: Maximum exposure to any single market
- Per-series limits: May aggregate across related markets
- Account-wide limits: Overall exposure caps
- Dynamic adjustment: Limits may change based on market conditions or liquidity
#Requesting Higher Limits
Traders seeking higher limits can apply through Kalshi's institutional services, providing:
- Trading history and volume
- Source of funds documentation
- Professional trading credentials (if applicable)
#Regulatory Framework
#CFTC Oversight
As a Designated Contract Market, Kalshi operates under comprehensive CFTC regulation:
- Registration: DCM license requires ongoing compliance
- Surveillance: Market monitoring for manipulation and fraud
- Reporting: Regular filings with CFTC
- Audits: Periodic regulatory examinations
- Rulemaking: Market rules require CFTC approval
#Customer Protections
| Protection | Description |
|---|---|
| Fund Segregation | Customer funds held separately from company funds |
| Clearing | Centralized clearing ensures trade settlement |
| Insurance | SIPC-like protections (coverage varies) |
| Dispute Resolution | Formal processes for trade disputes |
| Transparency | Required disclosures on fees, rules, and risks |
#Compliance Requirements
- KYC/AML: Identity verification and anti-money laundering procedures
- Tax Reporting: 1099 forms issued for U.S. tax purposes
- Trading Records: Complete audit trail maintained
- Risk Disclosures: Required acknowledgment of trading risks
#Strengths and Limitations
#Strengths
- Legal certainty: Full CFTC regulation provides clear legal status for U.S. traders
- USD-based: No cryptocurrency knowledge required; standard banking integration
- Fund protection: Segregated accounts and regulatory oversight protect customer funds
- Institutional infrastructure: Exchange-grade matching engine and clearing
- Tax simplicity: 1099 reporting; treated as regulated derivatives for tax purposes
- Professional API: Robust programmatic access for algorithmic trading
- Growing market selection: Expanding categories following 2024 political markets ruling
#Limitations
- U.S. only: Not available to international traders
- Position limits: Cannot take unlimited size; caps restrict large positions
- Market selection: Fewer markets than unregulated platforms; CFTC approval required
- No 24/7 trading: Some markets have trading hours; platform maintenance windows
- Minimum tick size: $0.01 tick may be less precise than platforms with dynamic ticks
- Verification required: KYC process required before trading
#Kalshi vs. Polymarket Comparison
| Feature | Kalshi | Polymarket |
|---|---|---|
| Regulation | CFTC-regulated DCM | Unregulated / Offshore |
| Currency | USD (Bank/Card) | USDC (Cryptocurrency) |
| Access | U.S. residents only | Global (geo-blocked in U.S.) |
| Position Limits | Yes (100K+) | None |
| Market Types | CFTC-approved only | Permissionless / Broader variety |
| Tick Size | Fixed $0.01 | Dynamic (0.001) |
| Settlement | Centralized clearing | On-chain (Polygon) |
| KYC Required | Yes | No |
| Fund Protection | Segregated accounts | Self-custody |
#Related Terms
- CFTC
- Designated Contract Market (DCM)
- Event Contract
- Series
- Position Limits
- Order Book
- Kalshi Tick Size
- Tick Size
- Polymarket
- Binary Market
#FAQ
#What is Kalshi?
Kalshi is a CFTC-regulated exchange where traders buy and sell event contracts, which are financial instruments that pay out based on real-world outcomes. Operating as a Designated Contract Market (DCM), Kalshi brings prediction market trading into the regulated U.S. financial system. Traders deposit USD, place orders through a traditional order book, and receive payouts when markets resolve based on official data sources.
#How is Kalshi different from Polymarket?
Kalshi is a U.S.-regulated exchange operating under CFTC oversight with USD deposits and traditional banking, available only to U.S. residents. Polymarket is a decentralized, crypto-native platform using USDC on the Polygon blockchain, available globally but geo-blocked in the U.S. Kalshi offers regulatory protections and legal clarity but has position limits and requires CFTC approval for markets. Polymarket offers broader market coverage and no position limits but requires cryptocurrency knowledge and lacks regulatory protections.
#Can non-US residents use Kalshi?
No. Kalshi is currently available only to U.S. residents. International traders cannot create accounts or trade on the platform due to regulatory requirements specific to Kalshi's CFTC designation. Non-U.S. traders typically use platforms like Polymarket, Betfair, or other international prediction markets instead.
#What are the fees on Kalshi?
Kalshi charges per-contract fees ranging from 0.03 depending on contract price, with fee caps ensuring they never exceed a percentage of potential profit (typically 5-15%). ACH deposits and withdrawals are free; debit card deposits incur a 1.5% fee; wire withdrawals cost $25. There are no account maintenance, custody, or settlement fees.
#How quickly do markets settle on Kalshi?
Most Kalshi markets settle within 1-2 hours after the relevant event occurs and official data is published. Economic data releases (CPI, employment, Fed decisions) typically settle within hours of announcement. Election markets may take longer, settling when official results are called by designated sources like the Associated Press.
#What types of markets does Kalshi offer?
Kalshi offers markets across economics (inflation, Fed rates, employment, GDP), politics (elections, policy decisions, Congressional votes), weather (temperature, precipitation, extreme events), and business (earnings, regulatory approvals). All markets must be approved by the CFTC, which limits the range compared to unregulated platforms. Following the 2024 court ruling, Kalshi now offers political event contracts including election markets.
#Are there position limits on Kalshi?
Yes. Kalshi imposes position limits that vary by account type and market, typically capping standard retail accounts at $25,000 per market. These limits are a regulatory requirement to prevent market manipulation and excessive concentration. Active traders may qualify for higher limits, and institutional accounts can negotiate custom arrangements for larger position sizes.
#Is Kalshi safe?
Kalshi operates under CFTC regulation, which provides several safety features: customer funds are held in segregated accounts separate from company funds, the exchange undergoes regulatory audits, and formal dispute resolution processes exist. However, as with any trading, market risk remains; positions can lose value, and prediction markets carry inherent uncertainty. Kalshi's regulatory status provides more structural protections than unregulated platforms but does not eliminate trading risk.
#How do I withdraw money from Kalshi?
Withdrawals are processed to your linked U.S. bank account. ACH withdrawals are free and typically take 1-3 business days. Wire transfers are same-day but cost 10. Funds from winning positions are available for withdrawal immediately after market settlement.