TrueHold

How to track Kalshi positions and PnL

Kalshi positions sit inside your account, so tracking them takes an API key. How to make a read-only key, what it sees and how settlement hits PnL.

Published

Unlike Polymarket, where a Polymarket portfolio tracker reads positions from a public address, Kalshi is an account, not a public wallet, so nobody can read your positions from an address. To track them outside the Kalshi app you need an API key, and the safe kind can only read. This guide covers how to make that key, what it can and cannot do, and how Kalshi’s settlement shows up in your PnL, checked against Kalshi’s API documentation on 2 October 2026.

What Kalshi is, briefly

Kalshi describes itself as a CFTC-regulated exchange for event contracts. Each market is a yes or no question. A contract pays $1 if its side wins and nothing if it loses, and its price sits somewhere in between until then. When the outcome is known, positions settle automatically: holders of the winning side receive $1 per contract, and settling a simple yes or no market costs no fee. How it differs from Polymarket on fees, access and settlement is laid out in Kalshi vs Polymarket.

Why tracking Kalshi needs an API key

Your positions, balance, fills and settlements live in your Kalshi account, not on a public chain. Kalshi exposes them through its API to requests signed with your key: the cash balance and portfolio value, open and settled positions, every fill and every settlement record. There is no address to paste, so a tracker either gets a key or sees nothing. Market prices are public; your book is not.

How to create a read-only Kalshi API key

  • Sign in and open Profile Settings, then the API Keys section (kalshi.com/account/profile).
  • Click Create New API Key. Kalshi generates an Ed25519 key pair by default, with RSA available for clients that need it.
  • Give the key read access only. Kalshi keys carry scopes, read and write, and a key without write cannot place orders or transfer funds.
  • Copy the Key ID and save the private key straight away. Kalshi shows the private key once and does not keep a copy.
  • Paste both into your tracker, and delete the key from the same section when you stop using that tracker.

What a read-only key can see

  • Your cash balance and the current value of your open positions.
  • Open positions per market, and settled positions while they are still in Kalshi’s live data.
  • Fills: every matched trade, with its price and size.
  • Settlements: how each market resolved and what it paid.

What about sub-accounts?

Accounts on Kalshi’s Advanced API tier and above can split funds into numbered sub-accounts, up to 63 on top of the primary one, each with its own balance and positions. A key can be left unrestricted or tied to a single sub-account, and a tied key sees only that one. If you use sub-accounts and want the whole book in one total, check which account your key is limited to before you connect it.

How Kalshi PnL adds up

Before settlement, a position’s value moves with the market price, and that is its unrealized PnL. Buy a YES contract at 30 cents and, if YES settles, it pays $1: 70 cents of realized profit per contract before fees. If NO settles, the 30 cents are gone. Trading fees are charged per fill, while settling a simple yes or no market is free, so the fee line comes from trading, not from holding to the end.

As on any account, deposits and withdrawals change the balance without being profit. A PnL figure has to separate cash you moved in from money you made, or a deposit on Monday looks like a great week.

Kalshi next to the rest of your portfolio

In TrueHold, Kalshi connects with that read-only key. The key is stored encrypted and used to read positions, balances and history, never to trade. The event book then sits in one total with your wallets, your exchange accounts and your Polymarket positions, so a bet on rates and a bag of ETH finally appear in the same number.

Frequently asked questions

Can I track Kalshi without an API key?

Not your own account. Kalshi positions are private to the account, so a tracker needs an API key. Market prices are public, but your book is not.

How do I make a read-only Kalshi API key?

In Profile Settings, open API Keys, create a new key and give it read access only. Copy the Key ID and save the private key straight away, because Kalshi shows it only once.

Can a read-only Kalshi key place trades?

No. Placing orders and transferring funds need the write scope, which a read-only key does not have.

When does a Kalshi position become realized PnL?

When you sell it, or when the market settles. Winning contracts pay $1 each at settlement, losing ones pay nothing, and settling a simple yes or no market has no fee.

Can I see Kalshi and Polymarket in one place?

Yes. TrueHold reads Kalshi through a read-only API key and Polymarket by proxy address, and counts both into one total with your other accounts.

See your whole portfolio in one view

TrueHold is an AI-native financial and DeFi platform for modern capital. Paste a wallet or link an exchange to see every chain in one view, free.

Open TrueHold →