KalshiAPI key

How to create a read-only Kalshi API key.

As of October 8, 2026, you create a Kalshi API key on the Account & security page: API keys, then Create key. The dialog selects Ed25519 and ticks both Read all data and Full access. A read-only key keeps Read all data and unticks Full access, which also clears Trade and Transfers. The private key downloads once.

By Owen Monagan, Founder & CEOUpdated From Kalshi’s Create API key dialog and its API docs

Kalshi API keys at a glance

Checked October 9, 2026
Where keys live
Account & security, in the API keys section, under the Create key button
Source
New API key defaults
Ed25519 key type, with both Read all data and Full access checked
Source
Unticking Full access
Also unticks Trade, Transfers and Accept block trades; Portfolio balance and Read block trades stay, included by Read all data
Source
Key types
Ed25519, recommended and selected by default, or RSA 2048 for RSA-PSS clients
Source
Private key
Not stored by Kalshi and not retrievable once the page is closed
Source
Scopes in Kalshi’s docs
Not described: the API Keys page names no permissions, expiry or key limit
Source

Steps

How to get a Kalshi API key, step by step.

Three clicks to the dialog, one box to untick. Labels below are the ones on Kalshi’s screen.

From the account menu to a read-only key, captured October 8, 2026. Built from screenshots; Create was never pressed. Existing keys are blurred.
  1. On kalshi.com, open the account menu at the top right and choose Account & security.
  2. Scroll to API keys and press Create key.
  3. Type a Nickname you will recognize. Leave Key type on Ed25519 or pick RSA, and leave Public key (OPTIONAL) empty.
  4. Under Permissions, keep Read all data ticked and untick Full access. Trade and Transfers clear with it.
  5. Press Create and keep the private key file it downloads, with the key ID.

Kalshi’s API Keys documentation names the same route differently: Account Settings, Profile Settings and a Create New API Key button. Above the button, Kalshi’s page adds one line about location: “API trading defaults to the most restricted access until you verify your location.”

Kalshi’s API keys section: the line about authenticating access to the Kalshi API, the Verify location note on API trading, and the Create key and Learn more buttons.
The API keys section of Account & security, captured October 8, 2026. Existing keys are hidden.
Where keys live
Account & security, in the API keys section, under the Create key button
Source
Path in Kalshi’s docs
Account Settings, then Profile Settings, then Create New API Key
Source
Location check
API trading defaults to the most restricted access until you verify your location
Source

Key type

Ed25519 or RSA: the Kalshi key type.

The choice matters only to the tool the key goes into.

The dialog lists Ed25519, “Recommended. Faster signing, smaller signatures,” selected by default, and RSA, “For clients that support only RSA-PSS.” Kalshi’s documentation keeps RSA for clients limited to RSA-PSS, including SDK versions before 3.31.0. Realize connects with either.

The optional public key box is for people who already hold a key pair. Kalshi’s dialog says a key made that way comes “without generating a downloadable private key,” so there is no file to paste into a tool that asks for one. Leaving the box empty is what makes Kalshi generate the pair.

Kalshi’s Create API key dialog: a Nickname box, Key type with Ed25519 selected as Recommended and RSA below it for clients that support only RSA-PSS, and an optional Public key box.
The top of the Create API key dialog as it opens, captured October 8, 2026.
Key types
Ed25519, recommended and selected by default, or RSA 2048 for RSA-PSS clients
Source
Your own public key
Optional; a key made from one comes with no downloadable private key
Source

Permissions

Which permissions a read-only Kalshi key needs.

Read all data ticked, Full access unticked. The dialog opens with both ticked, and Kalshi’s docs do not describe either.

Kalshi’s Permissions as they open: Read all data and Full access both ticked, and every granular permission, Trade and Transfers among them, ticked as included.

As it opens

Kalshi’s Permissions with Full access unticked: Read all data ticked, Portfolio balance and Read block trades included by it, and Trade, Transfers and Accept block trades unticked.

Full access unticked

The Create API key dialog’s permissions, captured October 8, 2026. Nothing was submitted.

The dialog says “Broad scopes include their matching granular permissions.” Unticking Full access clears the three permissions it includes and leaves the two that Read all data includes:

PermissionAs it opensFull access unticked
Read all data readTickedTicked
Full access writeTickedUnticked
Portfolio balance read::portfolio_balanceIncludedIncluded
Trade write::tradeIncludedUnticked
Transfers write::transferIncludedUnticked
Read block trades read::block_trade_acceptIncludedIncluded
Accept block trades write::block_trade_acceptIncludedUnticked
Read from the dialog’s checkboxes on October 8, 2026.

The permission model lives only in the app: Kalshi’s API Keys documentation names no scopes, no expiry and no key limit. Left untouched, the dialog makes a key that can trade and move money.

New API key defaults
Ed25519 key type, with both Read all data and Full access checked
Source
Unticking Full access
Also unticks Trade, Transfers and Accept block trades; Portfolio balance and Read block trades stay, included by Read all data
Source
Scopes in Kalshi’s docs
Not described: the API Keys page names no permissions, expiry or key limit
Source

Saving the key

Saving the Kalshi private key.

The download is the only copy.

Pressing Create downloads the private key. Kalshi’s API Keys documentation says it “will not be stored by our service, and you will not be able to retrieve it again once this page is closed.” A lost file means a new key. The same page says a new key comes as two things, a Key ID and a Private Key, and a tool that connects asks for both: the ID, and the file opened in a text editor.

Kalshi’s dialog carries its own warning: “API keys are like passwords. Keep it secret and secure. If you don’t know what an API key is already, you probably don’t need one. If someone asks for your API key, do not share it with them.”

Private key
Not stored by Kalshi and not retrievable once the page is closed
Source

What it reads

What a read-only key lets Realize read.

Read all data covers everything a tax year is rebuilt from:

  • Every fill, from both the live and the historical endpoints.
  • Every settlement, and the result of markets that have aged out of the API.
  • The daily close of each market held on December 31.

Realize’s Kalshi client implements no trading endpoint, so even a Full access key could not place an order through it. Signing, paging and rate limits are on Kalshi trade history; how a year is filed from these records is in How to file Kalshi taxes. Who runs Kalshi, who regulates it and what it sends at tax time are on everything we track on Kalshi.

Questions

Questions people ask.

Can I download my Kalshi private key again?
No. Kalshi’s API Keys documentation says the private key is not stored by Kalshi and cannot be retrieved once the page is closed. If the file is lost, the way back is a new key.
Does Realize work with Ed25519 Kalshi keys?
Yes. Realize connects with either key type Kalshi offers: Ed25519, which the dialog selects by default, or RSA.
Can a read-only Kalshi key place trades?
No. A key made with Full access unticked has neither the Trade nor the Transfers permission, the two the dialog lists for placing orders and moving money. Realize’s own code also implements no trading route.
Which permissions does a read-only Kalshi API key need?
Read all data ticked and Full access unticked. Read all data includes Portfolio balance and Read block trades; unticking Full access also clears Trade, Transfers and Accept block trades. Kalshi’s Create API key dialog opens with both broad boxes ticked.
Where are API keys in the Kalshi app?
On the Account & security page, opened from the account menu at the top right of kalshi.com, in the API keys section, under the Create key button. Kalshi’s documentation calls the same place Profile Settings and the button Create New API Key.

Sources2 documents

Where each fact comes from.

Every figure above links to one of these, read on the date shown.

Also on Realize

The rest of the Kalshi record.

What the key reads, what Kalshi reports, and how a year is filed.

Price your Kalshi year three common ways.

Connect Kalshi read-only for a free estimate under each treatment.

Get started