How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Kalshi portfolio API

Portfolio and balance information endpoints

Kalshi portfolio API is one of 21 APIs that Kalshi publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Portfolio. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 13 operations across 12 paths, and defines 29 schemas. It is described by OpenAPI 3.2.0, at version 3.19.0.

Requests are made against 4 base URLs: https://external-api.kalshi.com/trade-api/v2, https://api.elections.kalshi.com/trade-api/v2, https://external-api.demo.kalshi.co/trade-api/v2, https://demo-api.kalshi.co/trade-api/v2.

13 operations 12 paths 29 schemas 10 GET2 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
3.19.0
Base URL
https://api.elections.kalshi.com/trade-api/v2
Authentication
API Key, API Key, API Key
Resource Areas
1

Authentication & Security 3

Kalshi portfolio API declares 3 security schemes for authenticating requests. An API key is passed in the header as KALSHI-ACCESS-KEY (kalshiAccessKey). An API key is passed in the header as KALSHI-ACCESS-SIGNATURE (kalshiAccessSignature). An API key is passed in the header as KALSHI-ACCESS-TIMESTAMP (kalshiAccessTimestamp).

  • kalshiAccessKey — Your API key ID
  • kalshiAccessSignature — RSA-PSS signature of the request
  • kalshiAccessTimestamp — Request timestamp in milliseconds

Paths & Operations 13

Across 12 paths, the API surfaces 13 operations — 10 GET, 2 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

portfolio 13

Portfolio and balance information endpoints

GET
/portfolio/balance
Get Balance
GetBalance 1 param → 200401500
POST
/portfolio/subaccounts
Create Subaccount
CreateSubaccount → 201400401500
POST
/portfolio/subaccounts/transfer
Transfer Between Subaccounts
ApplySubaccountTransfer body → 200400401500
GET
/portfolio/subaccounts/balances
Get All Subaccount Balances
GetSubaccountBalances → 200401500
GET
/portfolio/subaccounts/transfers
Get Subaccount Transfers
GetSubaccountTransfers 2 params → 200401500
PUT
/portfolio/subaccounts/netting
Update Subaccount Netting
UpdateSubaccountNetting body → 200400401500
GET
/portfolio/subaccounts/netting
Get Subaccount Netting
GetSubaccountNetting → 200401500
GET
/portfolio/positions
Get Positions
GetPositions 6 params → 200400401500
GET
/portfolio/settlements
Get Settlements
GetSettlements 7 params → 200400401500
GET
/portfolio/deposits
Get Deposits
GetDeposits 2 params → 200400401500
GET
/portfolio/withdrawals
Get Withdrawals
GetWithdrawals 2 params → 200400401500
GET
/portfolio/summary/total_resting_order_value
Get Total Resting Order Value
GetPortfolioRestingOrderTotalValue → 200401500
GET
/portfolio/fills
Get Fills
GetFills 7 params → 200400401500

Schemas 29

The contract defines 29 schemas that model the data the API accepts and returns. The most detailed are Fill (17 properties), Settlement (11 properties), MarketPosition (8 properties), Withdrawal (7 properties). Each schema is shown below with its type and property counts.

SubaccountBalance
object
3 properties 3 required
ApplySubaccountTransferResponse
object
Empty response indicating successful transfer.
GetDepositsResponse
object
2 properties 1 required
GetSubaccountBalancesResponse
object
1 property 1 required
GetWithdrawalsResponse
object
2 properties 1 required
Withdrawal
object
7 properties 6 required
FixedPointDollars
string
US dollar amount as a fixed-point decimal string with up to 6 decimal places of precision. This is the maximum supported precision; valid quote intervals for a…
ApplySubaccountTransferRequest
object
4 properties 4 required
EventPosition
object
6 properties 6 required
BookSide
string
Side of the book for an order or trade. For event markets, this refers to the YES leg only: bid means buy YES, ask means sell YES. (Selling YES is economically…
Deposit
object
7 properties 6 required
GetPortfolioRestingOrderTotalValueResponse
object
1 property 1 required
CreateSubaccountResponse
object
1 property 1 required
SubaccountNettingConfig
object
2 properties 2 required
GetSubaccountNettingResponse
object
1 property 1 required
ErrorResponse
object
4 properties
MarketPosition
object
8 properties 8 required
Settlement
object
11 properties 10 required
IndexedBalance
object
2 properties 2 required
FixedPointCount
string
Fixed-point contract count string (2 decimals, e.g., "10.00"; referred to as "fp" in field names). Requests accept 0–2 decimal places (e.g., "10", "10.0", "10.…
GetFillsResponse
object
2 properties 2 required
UpdateSubaccountNettingRequest
object
2 properties 2 required
GetBalanceResponse
object
5 properties 4 required
GetPositionsResponse
object
3 properties 2 required
ExchangeIndex
integer
Identifier for an exchange shard. Defaults to 0 if unspecified. Note: currently only 0 supported.
GetSettlementsResponse
object
2 properties 1 required
SubaccountTransfer
object
5 properties 5 required
Fill
object
17 properties 14 required
GetSubaccountTransfersResponse
object
2 properties 1 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

kalshi-portfolio-api-openapi.yml Raw ↑

Other APIs Kalshi publishes across the network.

Kalshi Trade API (Demo)
Kalshi WebSocket Streaming API
Kalshi AsyncAPI Specification
Kalshi Python Starter Kit
Kalshi account API
Kalshi api-keys API
Kalshi communications API
Kalshi events API
Kalshi exchange API
Kalshi fcm API
Kalshi historical API
Kalshi incentive-programs API
Where this information came from

This is an independent, third-party profile of Kalshi portfolio API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.