KKLinePic

Kalshi trade history chart

Turn your Kalshi trade history into a clean entry and exit review chart.

For Kalshi traders who want each position drawn on the contract's real price path instead of a portfolio screenshot. Download the per-year trading-history CSV, convert cents to dollars, map it to a small CSV, and KLinePic renders a review image with buy/sell markers, holding window, return, and drawdown — no manual charting, no account required to start.

Trade review chart with buy and sell markers built from exported fills
Example output: a review chart with entry/exit markers, holding window, and a right-side trade summary.

Export your trade history from Kalshi

Kalshi keeps account records in the desktop site rather than the mobile app. Its help center documents a Trading History area with total profit-and-loss summaries and statements, and a Tax Documentation page describing downloads under Account > Tax Info, with P&L data updated monthly and computed FIFO. Trading-history CSVs are provided per calendar year, so a multi-year account means multiple files.

Documents download

Log in at kalshi.com in a browser, open the account menu, and go to Documents. Download the trading-history CSV for each calendar year you traded. The mobile app does not expose this export.

P&L statements

Under Account > Tax Info, pick a year and download the P&L statement. Kalshi states P&L is computed FIFO and refreshed monthly — useful for cross-checking the totals your chart set implies.

API alternative

Developers can pull fills from GET /portfolio/fills on Kalshi's trade API (official reference) — authenticated, cursor-paged, with per-fill price, side, and timestamps.

Privacy first

Remove account identifiers before uploading anywhere. A review chart only needs market ticker, side, time, price, and quantity.

Map your Kalshi export to KLinePic fields

Kalshi's help center does not publish the export's exact column layout, and the format has changed over time — recent files pair each position into a single row with open and close columns, while older files are one row per fill. Work from what the columns contain and check your own download. Two rules drive the whole mapping: divide cent columns by 100, and split each paired row into two KLinePic rows (a buy and a sell) sharing one trade_id. The full field reference is the data protocol.

Typical column in your export KLinePic field Notes
Market ticker (e.g. market_ticker / Ticker) symbol Use the ticker exactly as it appears; your candle CSV must spell it the same way.
Open row / close row of a paired position event_type The open becomes buy, the close becomes sell — two rows, one shared trade_id.
Side (yes / no) position_side Charting against the Yes price: Yes positions are long, No positions are short. Keep the raw side in note.
open_timestamp / close_timestamp time ISO 8601 with an explicit offset; one timestamp per row.
entry_price_cents / exit_price_cents price Divide by 100: 63 cents becomes 0.63. An exit of 0 or 100 usually means the market settled rather than a market close.
Contracts / quantity quantity Number of contracts, as a positive number.
open_fees_cents / close_fees_cents fee Also cents — divide by 100 and put each leg's fee on its own row; 0 if untracked.
Realized P&L columns note Not a KLinePic column — keep it as note text like pnl_with_fees=23.30. Extra columns are ignored on import, and the importer lists which ones it skipped.

Older legacy exports (Ticker, Type, Direction, Contracts, Average_Price, Created) are already one row per event: keep rows where Type is trade, convert the Created time text into ISO 8601, and map Direction Yes/No the same way as above.

The CSV shape KLinePic reads

One row per fill, one shared trade_id per round trip, prices in dollars on the 0–1 contract scale. A complete Kalshi position is two rows:

trade_id,symbol,event_type,position_side,time,price,quantity,fee,note
KAL-FEDCUT-01,KXFEDCUT-26SEP,buy,long,2026-06-18T14:05:00-04:00,0.63,100,0.70,exchange=Kalshi side=yes
KAL-FEDCUT-01,KXFEDCUT-26SEP,sell,long,2026-07-02T10:40:00-04:00,0.86,100,0.70,exchange=Kalshi side=yes

From these two rows KLinePic draws entry and exit markers on the contract's candles, shades the holding window, and computes return, max run-up, and max drawdown. To start from a working file, the prediction market CSV template has this shape ready to edit.

Getting candles for a Kalshi market

Prediction market contracts are not in KLinePic's built-in market data, so bring the contract's price history as a custom K-line CSV. Kalshi makes this unusually easy: its public API documents a candlesticks endpoint that requires no authentication —

GET https://api.elections.kalshi.com/trade-api/v2/series/{series_ticker}/markets/{ticker}/candlesticks?period_interval=1440

Each candlestick carries trade-price open/high/low/close in dollars, volume, and open interest, at 1-minute (1), 1-hour (60), or 1-day (1440) periods, per the official reference. Convert the response into KLinePic's candle CSV — symbol,time,open,high,low,close,volume — with the same ticker spelling as your trade rows, and upload both files together.

For markets that track an external instrument (a BTC price threshold, a rate decision), an alternative view is to chart your entry and exit times against the underlying itself — for example on BTCUSDT candles, which KLinePic covers automatically. That view uses the underlying's prices, not your contract prices, so treat it as a timing review rather than a P&L review.

Workflow

  1. Download your trading history from Kalshi. On the desktop site, open the account menu, go to Documents, and download the CSV for each calendar year you traded; P&L statements live under Account and Tax Info.
  2. Convert cents to dollars. Kalshi stores prices and fees as whole cents, so divide entry price, exit price, and fee columns by 100 before mapping.
  3. Map the export to KLinePic fields. Recent exports pair each position into one row with open and close data — split that into two KLinePic rows (a buy and a sell) sharing one trade_id, with the market ticker as symbol and Yes mapped to long, No to short.
  4. Attach candles for the market. Pull price history from Kalshi's public candlesticks endpoint and convert it to the KLinePic candle CSV (symbol,time,open,high,low,close,volume), or chart crypto- and rate-linked markets against the underlying instrument instead.
  5. Upload trades plus candles, confirm the recognized symbol, side, and entry and exit times, then render and download the annotated review chart.

KLinePic vs the usual alternatives

How the common options compare for reviewing Kalshi positions on a real price chart:

KLinePic Portfolio screenshot Spreadsheet P&L tracker
Shows the price path of the contract Yes — candles plus your entry/exit markers No — balance and position totals only No — numbers without the chart
Setup time Minutes — upload or paste fills Instant but unreviewable Manual formulas per market
Account required No — render without an account No
Timing review (was the entry early or late?) Yes — markers sit on the candle they filled in No No
Shareable image Yes — the image is the primary output Crops of an account page Screenshots of cells
Cost to start Free to start; watermark-free hi-res export is paid Free Free, but costs time per market

Key facts

  • KLinePic (klinepic.com) turns real trade fills — uploaded or pasted as CSV — into a shareable annotated review chart; prediction market contracts use the custom K-line CSV path for candles.
  • Kalshi contracts trade between 1 and 99 cents and settle at $1 when right, $0 when wrong; exports record prices as whole cents, so divide by 100 before charting.
  • Kalshi provides trading-history downloads per calendar year from the desktop site's Documents area, and monthly-updated P&L statements (computed FIFO) under Account > Tax Info, per Kalshi's help center.
  • As of July 2026, Kalshi's listed tax forms (1099-INT, 1099-MISC, 1099-B for crypto transfers, 1099-DA) do not include a comprehensive event-contract trading statement — the CSV and P&L statements are the records traders keep. Not tax advice.
  • Kalshi's public API documents a no-auth candlesticks endpoint (GET /series/{series_ticker}/markets/{ticker}/candlesticks) with dollar OHLC, volume, and 1m/1h/1d periods — enough to build the KLinePic candle CSV for any market you traded.
  • The KLinePic CSV fields are: trade_id, symbol, event_type, position_side, time, price, quantity, plus optional name, fee, and note. Extra columns are ignored on import and listed back to you, so raw exports lose nothing by carrying spares.
  • Free to start, no account required to render a trade review chart; watermark-free high-resolution export is a paid option. Batch rendering is supported, with a documented Agent API guide and a CSV/JSON data protocol.

Common mistakes and troubleshooting

Everything 100x too large

Cent columns used as dollars. Divide entry_price_cents, exit_price_cents, and both fee columns by 100 — a review chart on a 0–100 scale instead of 0–1 is the telltale sign.

One paired row imported as one fill

Recent Kalshi exports put the open and the close in a single row. Split it into a buy row and a sell row sharing one trade_id, or the chart has an entry with no exit.

Settlement mistaken for a sell

An exit price of exactly 0 or 100 cents usually means the market resolved, not that you sold. Charting is the same, but label it in note so your review distinguishes closed trades from held-to-settlement ones.

No candles found for the ticker

Prediction market tickers are not in built-in market data — upload a candle CSV built from Kalshi's candlesticks endpoint, and spell the symbol in both files identically.

Yes/No mapped backwards

Against Yes-price candles, a No position profits when the price falls — that is a short. Mapping No to long draws profitable trades as losers.

Missing a year of history

Downloads are per calendar year. A trade opened in December and closed in January spans two files — download both years before pairing fills.

FAQ

How do I export my trade history from Kalshi?

Log in to kalshi.com on the desktop site, open the account menu, and go to Documents. Kalshi provides trading-history downloads per calendar year, alongside monthly P&L statements under Account and Tax Info. The export is not available in the mobile app, so use a browser.

Why do my Kalshi prices look 100x too big?

Kalshi records contract prices in whole cents: a 63-cent contract is stored as 63, not 0.63. Divide every price and fee column by 100 before charting so a contract that settles at $1 plots on a 0 to 1 dollar scale.

Where do candles for a Kalshi market come from?

Kalshi's public API documents a no-auth candlesticks endpoint, GET /series/{series_ticker}/markets/{ticker}/candlesticks, with open, high, low, close trade prices in dollars, volume, and 1-minute, 1-hour, or 1-day periods. Convert that response into KLinePic's candle CSV (symbol,time,open,high,low,close,volume) and upload it alongside your trades.

How do Yes and No positions map onto a review chart?

Chart against the market's Yes price. A Yes position profits when the Yes price rises, so map it to position_side long; a No position profits when the Yes price falls, so map it to short. Keep event_type as the literal buy or sell action.

Does Kalshi send a 1099-B for my event contract trading?

As of July 2026 Kalshi's help center lists 1099-INT, 1099-MISC, 1099-B for crypto transfers, and 1099-DA — none is a comprehensive statement of event-contract trading P&L. Kalshi provides P&L statements (computed FIFO) and per-year trading-history downloads as your records; how you report them is between you and your tax professional. This page is not tax advice.

Do I need an account or a payment method to try this?

No. KLinePic is free to start and needs no account to render a trade review chart. Watermark-free high-resolution export is a paid option.

Can I render many Kalshi trades at once?

Yes. Batch rendering is supported, and a documented Agent API covers automated chart generation. See the Agent API guide at klinepic.com/guides/trade-review-chart-api/ and the data protocol at klinepic.com/docs.

Related guides