By Kalshi View Editorial Team · Published May 14, 2026 · Reviewed July 17, 2026

Financial market data displayed on a trading terminal

Photo: Daniel Brzdęk / Unsplash · Unsplash License

How to Find Active Kalshi Markets: Volume, Spread and Real Liquidity

Quick answer: start with Kalshi's Trending view or fetch open markets through GET /trade-api/v2/markets and rank them locally by volume_24h_fp. Then verify the live bid-ask spread, order-book depth for your intended quantity, expected average fill price and the timestamps of recent trades. High volume alone does not guarantee that your order can execute near the displayed price.

Active and liquid are not the same thing

An active market has recently traded. A liquid market has enough executable orders near acceptable prices for the quantity you want to buy or sell. Those conditions often overlap, but they are not interchangeable.

A burst of volume can leave an empty book behind. Lifetime volume can remain large after attention moves elsewhere. Open interest can be high even when nobody is currently offering the exit you need. That is why this workflow uses volume only to build a shortlist and uses the current order book to make the execution decision.

Current API warning: Kalshi's changelog says the liquidity and liquidity_dollars market fields are deprecated and return zero. Do not build a screener around those fields.

Fast workflow in the Kalshi interface

  1. Open Trending or a relevant topic. Kalshi's finding-markets guide documents topic navigation and the Trending filter.
  2. Open the exact market and read its rules. Activity is irrelevant if the contract does not measure the outcome you intend to trade.
  3. Check both sides of the book. Separate the last traded price from the price currently available to you.
  4. Inspect enough depth for your size. The top quote may cover only part of the order.
  5. Use a limit price. Define the worst price you are willing to accept; a limit order can fill partially or not at all.

The objective is not to find the largest number on a market card. It is to answer a narrower question: what price and quantity are executable now?

Build a reproducible API shortlist

The market-list endpoint can return open markets with fixed-point fields. Request pages until the cursor is empty, then rank the results in your own code. The endpoint documentation does not expose a server-side sort parameter, so a client-side sort is the auditable approach.

GET /trade-api/v2/markets?status=open&mve_filter=exclude&limit=1000

# Pseudocode after collecting every cursor page:
candidates = sort(markets, key=Decimal(volume_24h_fp), descending=True)
shortlist = candidates[:25]

Use the fixed-point *_fp and *_dollars fields where the API provides them. Converting their string values with decimal arithmetic avoids binary floating-point surprises and preserves fractional contract values.

Field or checkWhat it tells youWhat it does not tell you
volume_24h_fpContracts traded during the reported recent windowCurrent fill price, current depth or when inside that window the trades occurred
volume_fpCumulative reported volumeWhether the market is active now
open_interest_fpOutstanding positions reported for the marketOrders available for your entry or exit
Top bid/ask price and sizeThe best displayed level and quantity at that levelThe average price of an order larger than the top level
Last traded priceWhere a prior transaction occurredA price currently offered to you
Recent-trade timestampsWhether the volume appears recent and continuousFuture activity or a guaranteed exit

Four execution tests after the volume screen

1. Measure the executable spread

Compare the best price at which you can immediately buy with the best price at which you can immediately sell the same side. The last trade and midpoint can be useful context, but neither is automatically executable. There is no universal “good” spread: the relevant comparison is spread plus fees and slippage versus your estimated edge.

2. Walk the book for your intended quantity

Sum displayed quantities from the best price outward until you cover the intended contract count. Calculate the volume-weighted average price and record the worst price level touched. Our Kalshi slippage calculator automates this arithmetic for a copied price ladder.

For example, suppose a hypothetical YES book offers 40 contracts at 46¢ and 80 at 49¢. Buying 100 would cost (40 × $0.46) + (60 × $0.49) = $47.80, or 47.8¢ per contract before fees. The 46¢ top quote describes only the first 40 contracts.

3. Confirm trade recency

Use GET /trade-api/v2/markets/trades with the ticker and cursor pagination. The response includes trade count and timestamp information. Several trades spread through the latest interval are different evidence from the same reported volume concentrated in one old print.

4. Decide whether the exit plan is realistic

Kalshi's portfolio guide notes that cash-out value depends on available liquidity and that low liquidity can prevent a full sale. Test the exit side as carefully as the entry side. A position you can enter does not come with a guaranteed early exit; settlement may become the only practical path.

Understand the YES/NO order-book response

Kalshi's order-book documentation explains that API responses return YES bids and NO bids, not conventional ask arrays. The best YES ask is derived from the best NO bid:

best YES ask = $1.00 − best NO bid

If the highest NO bid is 54¢, the implied best YES ask is 46¢. The same complement relationship applies in the opposite direction. Always keep the contract side explicit when comparing prices or aggregating depth.

A hypothetical comparison

The numbers below are an illustration, not live Kalshi market data. They show why a volume-only ranking can choose the worse execution candidate.

Candidate24h volumeCurrent spreadVisible quantity near target priceInterpretation
A25,00012¢35 contractsHigh activity, but expensive and shallow for a 200-contract order
B8,000450 contractsLower activity total, but more executable depth for that order size

The conclusion can reverse for a 10-contract order or after the book changes. Record the snapshot time and rerun the checks immediately before placing an order.

Avoid double-counting multi-market events

One event can contain many mutually exclusive or related markets, such as price ranges or candidate outcomes. Event-level attention may be spread unevenly across those markets. Rank and inspect the exact ticker you would trade, and do not assume that total activity across sibling markets is available at your selected strike.

Repeatable pre-trade checklist

Frequently asked questions

What is the easiest way to find active Kalshi markets?

Use Kalshi's Trending view or request open markets through the API, rank candidates locally by 24-hour volume, and then inspect the live order book. Volume is a discovery signal, not proof that your order can fill near the displayed price.

Is 24-hour volume the same as liquidity on Kalshi?

No. Volume measures contracts traded during a period. Executable liquidity is the quantity currently available at prices you would accept. A market can have high historical or recent volume but a wide current spread or shallow book.

Does open interest show whether I can exit a Kalshi position?

No. Open interest measures outstanding exposure, not orders currently available to trade against. Check the live bid or ask levels and calculate the fill for your intended quantity.

Why does the Kalshi API liquidity_dollars field return zero?

Kalshi's changelog says liquidity and liquidity_dollars were deprecated and return zero. Use current bid and ask information plus the order-book endpoints instead of treating those deprecated fields as liquidity rankings.

How tight should a Kalshi bid-ask spread be?

There is no universal acceptable spread. Compare the spread and expected slippage with your estimated edge, fees, intended size, time horizon and exit plan. A fixed cutoff can be misleading across differently priced contracts.

How can I tell whether recent Kalshi volume is still relevant?

Inspect the recent-trades endpoint for timestamps and sizes, then compare that activity with the current order book. A volume total does not tell you whether trading occurred minutes ago or before conditions changed.

Primary sources checked:

Reviewed July 17, 2026:

Calculate before submitting: walk the visible levels with the slippage calculator, then use the payout calculator to compare cost, fees and settlement scenarios.
Follow source-backed market notes and new site articles at @Kalshi_market. Free, no signup, no upsell.

Not financial advice. This independent site provides educational information only and is not affiliated with Kalshi Inc. Event-contract trading involves risk, including loss of the amount paid. Verify live prices, fees, eligibility and contract rules on Kalshi before acting.