Loading...
Loading...
Compare original and translation side by side
llms.txt| Term | Definition |
|---|---|
| Market | A single binary outcome contract (Yes / No) with prices in cents (1–99¢). |
| Event | A collection of related markets representing a real-world occurrence (e.g., an election, a weather reading). |
| Series | A template for recurring events that share the same structure and rules (e.g., "Daily Highest Temp in NYC"). |
| Orderbook | Bids only — in binary markets a YES bid at X¢ is equivalent to a NO ask at (100−X)¢. |
| Fill | A matched trade on one of your orders. |
| Settlement | The final resolution of a market (Yes or No) after determination. |
| Multivariate Event | A combo event created dynamically from a multivariate event collection. |
| 术语 | 定义 |
|---|---|
| Market(市场) | 单个二元结果合约(是/否),价格以美分计价(1-99美分)。 |
| Event(事件) | 一组相关市场的集合,代表某一现实世界事件(例如选举、天气读数)。 |
| Series(系列) | 具有相同结构和规则的重复事件模板(例如“纽约每日最高气温”)。 |
| Orderbook(订单簿) | 仅包含买单——在二元市场中,X美分的YES买单等价于(100−X)美分的NO卖单。 |
| Fill(成交) | 您的某笔订单达成的匹配交易。 |
| Settlement(结算) | 市场在结果确定后的最终决议(是或否)。 |
| Multivariate Event(多元事件) | 从多元事件集合中动态创建的组合事件。 |
| Environment | REST API | WebSocket |
|---|---|---|
| Production | | |
| Demo | | |
Note: Despite thesubdomain, the production URL serves ALL Kalshi markets — economics, weather, tech, entertainment, etc.elections
| 环境 | REST API | WebSocket |
|---|---|---|
| 生产环境 | | |
| 演示环境 | | |
注意: 尽管域名包含,生产环境URL仍适用于所有Kalshi市场——包括经济、天气、科技、娱乐等领域。elections
| Header | Value |
|---|---|
| Your API Key ID |
| Current Unix timestamp in milliseconds |
| Base64-encoded RSA-PSS signature of |
/trade-api/v2/portfolio/orders/trade-api/v2/portfolio/orders?limit=5| 请求头 | 值 |
|---|---|
| 您的API密钥ID |
| 当前Unix时间戳(毫秒) |
| |
/trade-api/v2/portfolio/orders?limit=5/trade-api/v2/portfolio/ordersimport base64, datetime, requests
from cryptography.hazmat.primitives import serialization, hashes
from cryptography.hazmat.primitives.asymmetric import padding
def load_private_key(file_path):
with open(file_path, "rb") as f:
return serialization.load_pem_private_key(f.read(), password=None)
def sign_pss(private_key, text: str) -> str:
sig = private_key.sign(
text.encode("utf-8"),
padding.PSS(mgf=padding.MGF1(hashes.SHA256()), salt_length=padding.PSS.DIGEST_LENGTH),
hashes.SHA256(),
)
return base64.b64encode(sig).decode("utf-8")
def kalshi_headers(key_id, private_key, method, path):
ts = str(int(datetime.datetime.now().timestamp() * 1000))
path_no_qs = path.split("?")[0]
sig = sign_pss(private_key, ts + method + path_no_qs)
return {
"KALSHI-ACCESS-KEY": key_id,
"KALSHI-ACCESS-SIGNATURE": sig,
"KALSHI-ACCESS-TIMESTAMP": ts,
}import base64, datetime, requests
from cryptography.hazmat.primitives import serialization, hashes
from cryptography.hazmat.primitives.asymmetric import padding
def load_private_key(file_path):
with open(file_path, "rb") as f:
return serialization.load_pem_private_key(f.read(), password=None)
def sign_pss(private_key, text: str) -> str:
sig = private_key.sign(
text.encode("utf-8"),
padding.PSS(mgf=padding.MGF1(hashes.SHA256()), salt_length=padding.PSS.DIGEST_LENGTH),
hashes.SHA256(),
)
return base64.b64encode(sig).decode("utf-8")
def kalshi_headers(key_id, private_key, method, path):
ts = str(int(datetime.datetime.now().timestamp() * 1000))
path_no_qs = path.split("?")[0]
sig = sign_pss(private_key, ts + method + path_no_qs)
return {
"KALSHI-ACCESS-KEY": key_id,
"KALSHI-ACCESS-SIGNATURE": sig,
"KALSHI-ACCESS-TIMESTAMP": ts,
}const crypto = require("crypto");
const fs = require("fs");
function signPss(privateKeyPem, text) {
const sign = crypto.createSign("RSA-SHA256");
sign.update(text);
sign.end();
return sign.sign({
key: privateKeyPem,
padding: crypto.constants.RSA_PKCS1_PSS_PADDING,
saltLength: crypto.constants.RSA_PSS_SALTLEN_DIGEST,
}).toString("base64");
}
function kalshiHeaders(keyId, privateKeyPem, method, path) {
const ts = Date.now().toString();
const pathNoQs = path.split("?")[0];
const sig = signPss(privateKeyPem, ts + method + pathNoQs);
return {
"KALSHI-ACCESS-KEY": keyId,
"KALSHI-ACCESS-SIGNATURE": sig,
"KALSHI-ACCESS-TIMESTAMP": ts,
};
}const crypto = require("crypto");
const fs = require("fs");
function signPss(privateKeyPem, text) {
const sign = crypto.createSign("RSA-SHA256");
sign.update(text);
sign.end();
return sign.sign({
key: privateKeyPem,
padding: crypto.constants.RSA_PKCS1_PSS_PADDING,
saltLength: crypto.constants.RSA_PSS_SALTLEN_DIGEST,
}).toString("base64");
}
function kalshiHeaders(keyId, privateKeyPem, method, path) {
const ts = Date.now().toString();
const pathNoQs = path.split("?")[0];
const sig = signPss(privateKeyPem, ts + method + pathNoQs);
return {
"KALSHI-ACCESS-KEY": keyId,
"KALSHI-ACCESS-SIGNATURE": sig,
"KALSHI-ACCESS-TIMESTAMP": ts,
};
}| SDK | Install | Docs |
|---|---|---|
| Python (sync) | | https://docs.kalshi.com/sdks/python/quickstart.md |
| Python (async) | | https://docs.kalshi.com/sdks/python/quickstart.md |
| TypeScript | | https://docs.kalshi.com/sdks/typescript/quickstart.md |
The oldpackage is deprecated. Migrate tokalshi-pythonorkalshi_python_sync.kalshi_python_async
| SDK | 安装方式 | 文档 |
|---|---|---|
| Python(同步) | | https://docs.kalshi.com/sdks/python/quickstart.md |
| Python(异步) | | https://docs.kalshi.com/sdks/python/quickstart.md |
| TypeScript | | https://docs.kalshi.com/sdks/typescript/quickstart.md |
旧版包已弃用。请迁移至kalshi-python或kalshi_python_sync。kalshi_python_async
| Tier | Read | Write |
|---|---|---|
| Basic | 20/s | 10/s |
| Advanced | 30/s | 30/s |
| Premier | 100/s | 100/s |
| Prime | 400/s | 400/s |
CreateOrderCancelOrderAmendOrderDecreaseOrderBatchCreateOrdersBatchCancelOrdersBatchCancelOrders| 等级 | 读取 | 写入 |
|---|---|---|
| 基础版 | 20次/秒 | 10次/秒 |
| 进阶版 | 30次/秒 | 30次/秒 |
| 高级版 | 100次/秒 | 100次/秒 |
| 旗舰版 | 400次/秒 | 400次/秒 |
CreateOrderCancelOrderAmendOrderDecreaseOrderBatchCreateOrdersBatchCancelOrdersBatchCancelOrderscursor?cursor={value}cursor?cursor={value}| Endpoint | Method | Auth | Description |
|---|---|---|---|
| GET | No | List markets with filters (status, series, timestamps). Docs: Get Markets |
| GET | No | Get a single market by ticker. Docs: Get Market |
| GET | No | Get current orderbook (yes bids + no bids). Docs: Get Market Orderbook |
| GET | No | Candlestick data (1m, 1h, 1d). Docs: Get Market Candlesticks |
| POST | No | Batch candlesticks for up to 100 tickers. Docs: Batch Get Market Candlesticks |
| GET | No | All public trades. Docs: Get Trades |
| GET | No | Get a series. Docs: Get Series |
| GET | No | List series. Docs: Get Series List |
| 端点 | 方法 | 是否需要认证 | 描述 |
|---|---|---|---|
| GET | 否 | 带筛选条件列出市场(状态、系列、时间戳)。文档:Get Markets |
| GET | 否 | 通过交易代码获取单个市场。文档:Get Market |
| GET | 否 | 获取当前订单簿(YES买单 + NO买单)。文档:Get Market Orderbook |
| GET | 否 | K线数据(1分钟、1小时、1天)。文档:Get Market Candlesticks |
| POST | 否 | 批量获取最多100个交易代码的K线数据。文档:Batch Get Market Candlesticks |
| GET | 否 | 所有公开交易。文档:Get Trades |
| GET | 否 | 获取系列。文档:Get Series |
| GET | 否 | 列出系列。文档:Get Series List |
| Endpoint | Method | Auth | Description |
|---|---|---|---|
| GET | No | List events (excludes multivariate). Docs: Get Events |
| GET | No | Get a single event. Docs: Get Event |
| GET | No | Event metadata only. Docs: Get Event Metadata |
| GET | No | Aggregated event candlesticks. Docs: Get Event Candlesticks |
| GET | No | Forecast percentile history. Docs: Get Event Forecast Percentile History |
| GET | No | List multivariate events. Docs: Get Multivariate Events |
| 端点 | 方法 | 是否需要认证 | 描述 |
|---|---|---|---|
| GET | 否 | 列出事件(不含多元事件)。文档:Get Events |
| GET | 否 | 获取单个事件。文档:Get Event |
| GET | 否 | 仅获取事件元数据。文档:Get Event Metadata |
| GET | 否 | 聚合事件K线数据。文档:Get Event Candlesticks |
| GET | 否 | 预测百分位数历史数据。文档:Get Event Forecast Percentile History |
| GET | 否 | 列出多元事件。文档:Get Multivariate Events |
| Endpoint | Method | Auth | Description |
|---|---|---|---|
| POST | Yes | Create an order. Docs: Create Order |
| GET | Yes | List your orders (resting/canceled/executed). Docs: Get Orders |
| GET | Yes | Get a single order. Docs: Get Order |
| DELETE | Yes | Cancel an order. Docs: Cancel Order |
| POST | Yes | Amend price/count. Docs: Amend Order |
| POST | Yes | Decrease contract count. Docs: Decrease Order |
| GET | Yes | Queue position. Docs: Get Order Queue Position |
| GET | Yes | Queue positions for all resting orders. Docs: Get Queue Positions for Orders |
| POST | Yes | Batch create (up to 20). Docs: Batch Create Orders |
| DELETE | Yes | Batch cancel (up to 20). Docs: Batch Cancel Orders |
| 端点 | 方法 | 是否需要认证 | 描述 |
|---|---|---|---|
| POST | 是 | 创建订单。文档:Create Order |
| GET | 是 | 列出您的订单(待处理/已取消/已执行)。文档:Get Orders |
| GET | 是 | 获取单个订单。文档:Get Order |
| DELETE | 是 | 取消订单。文档:Cancel Order |
| POST | 是 | 修改价格/数量。文档:Amend Order |
| POST | 是 | 减少合约数量。文档:Decrease Order |
| GET | 是 | 队列位置。文档:Get Order Queue Position |
| GET | 是 | 所有待处理订单的队列位置。文档:Get Queue Positions for Orders |
| POST | 是 | 批量创建(最多20笔)。文档:Batch Create Orders |
| DELETE | 是 | 批量取消(最多20笔)。文档:Batch Cancel Orders |
| Endpoint | Method | Auth | Description |
|---|---|---|---|
| GET | Yes | Account balance (cents). Docs: Get Balance |
| GET | Yes | Market positions. Docs: Get Positions |
| GET | Yes | Your fills. Docs: Get Fills |
| GET | Yes | Settlement history. Docs: Get Settlements |
| GET | Yes | Total resting order value (FCM). Docs: Get Total Resting Order Value |
| 端点 | 方法 | 是否需要认证 | 描述 |
|---|---|---|---|
| GET | 是 | 账户余额(美分)。文档:Get Balance |
| GET | 是 | 市场持仓。文档:Get Positions |
| GET | 是 | 您的成交记录。文档:Get Fills |
| GET | 是 | 结算历史。文档:Get Settlements |
| GET | 是 | 待处理订单总价值(FCM)。文档:Get Total Resting Order Value |
| Endpoint | Method | Auth | Description |
|---|---|---|---|
| POST | Yes | Create subaccount (max 32). Docs: Create Subaccount |
| GET | Yes | All subaccount balances. Docs: Get All Subaccount Balances |
| GET | Yes | Subaccount transfer history. Docs: Get Subaccount Transfers |
| POST | Yes | Transfer between subaccounts. Docs: Transfer Between Subaccounts |
| 端点 | 方法 | 是否需要认证 | 描述 |
|---|---|---|---|
| POST | 是 | 创建子账户(最多32个)。文档:Create Subaccount |
| GET | 是 | 所有子账户余额。文档:Get All Subaccount Balances |
| GET | 是 | 子账户转账历史。文档:Get Subaccount Transfers |
| POST | 是 | 子账户间转账。文档:Transfer Between Subaccounts |
| Endpoint | Method | Auth | Description |
|---|---|---|---|
| POST | Yes | Create group. Docs: Create Order Group |
| GET | Yes | List groups. Docs: Get Order Groups |
| GET | Yes | Get group. Docs: Get Order Group |
| DELETE | Yes | Delete group. Docs: Delete Order Group |
| POST | Yes | Reset counter. Docs: Reset Order Group |
| POST | Yes | Manually trigger. Docs: Trigger Order Group |
| PUT | Yes | Update limit. Docs: Update Order Group Limit |
| 端点 | 方法 | 是否需要认证 | 描述 |
|---|---|---|---|
| POST | 是 | 创建组。文档:Create Order Group |
| GET | 是 | 列出组。文档:Get Order Groups |
| GET | 是 | 获取组。文档:Get Order Group |
| DELETE | 是 | 删除组。文档:Delete Order Group |
| POST | 是 | 重置计数器。文档:Reset Order Group |
| POST | 是 | 手动触发。文档:Trigger Order Group |
| PUT | 是 | 更新限制。文档:Update Order Group Limit |
| Endpoint | Method | Auth | Description |
|---|---|---|---|
| GET | Yes | Get your comms ID. Docs: Get Communications ID |
| POST | Yes | Create RFQ (max 100 open). Docs: Create RFQ |
| GET | Yes | List RFQs. Docs: Get RFQs |
| GET | Yes | Get RFQ. Docs: Get RFQ |
| DELETE | Yes | Delete RFQ. Docs: Delete RFQ |
| POST | Yes | Create quote. Docs: Create Quote |
| GET | Yes | List quotes. Docs: Get Quotes |
| GET | Yes | Get quote. Docs: Get Quote |
| DELETE | Yes | Delete quote. Docs: Delete Quote |
| POST | Yes | Accept quote. Docs: Accept Quote |
| POST | Yes | Confirm quote. Docs: Confirm Quote |
| 端点 | 方法 | 是否需要认证 | 描述 |
|---|---|---|---|
| GET | 是 | 获取您的通信ID。文档:Get Communications ID |
| POST | 是 | 创建RFQ(最多100个未处理)。文档:Create RFQ |
| GET | 是 | 列出RFQ。文档:Get RFQs |
| GET | 是 | 获取单个RFQ。文档:Get RFQ |
| DELETE | 是 | 删除RFQ。文档:Delete RFQ |
| POST | 是 | 创建报价。文档:Create Quote |
| GET | 是 | 列出报价。文档:Get Quotes |
| GET | 是 | 获取单个报价。文档:Get Quote |
| DELETE | 是 | 删除报价。文档:Delete Quote |
| POST | 是 | 接受报价。文档:Accept Quote |
| POST | 是 | 确认报价。文档:Confirm Quote |
| Endpoint | Method | Auth | Description |
|---|---|---|---|
| GET | Yes | Cutoff boundaries. Docs: Get Historical Cutoff Timestamps |
| GET | Yes | Archived markets. Docs: Get Historical Markets |
| GET | Yes | Single archived market. Docs: Get Historical Market |
| GET | Yes | Archived candlesticks. Docs: Get Historical Market Candlesticks |
| GET | Yes | Archived fills. Docs: Get Historical Fills |
| GET | Yes | Archived orders. Docs: Get Historical Orders |
| 端点 | 方法 | 是否需要认证 | 描述 |
|---|---|---|---|
| GET | 是 | 截止时间边界。文档:Get Historical Cutoff Timestamps |
| GET | 是 | 归档市场。文档:Get Historical Markets |
| GET | 是 | 单个归档市场。文档:Get Historical Market |
| GET | 是 | 归档K线数据。文档:Get Historical Market Candlesticks |
| GET | 是 | 归档成交记录。文档:Get Historical Fills |
| GET | 是 | 归档订单。文档:Get Historical Orders |
| Endpoint | Method | Auth | Description |
|---|---|---|---|
| GET | No | List collections. Docs: Get Multivariate Event Collections |
| GET | No | Get collection. Docs: Get Multivariate Event Collection |
| POST | Yes | Create market in collection. Docs: Create Market In Multivariate Event Collection |
| GET | No | Lookup tickers. Docs: Lookup Tickers For Market In Multivariate Event Collection |
| GET | No | Recent lookups. Docs: Get Multivariate Event Collection Lookup History |
| 端点 | 方法 | 是否需要认证 | 描述 |
|---|---|---|---|
| GET | 否 | 列出集合。文档:Get Multivariate Event Collections |
| GET | 否 | 获取集合。文档:Get Multivariate Event Collection |
| POST | 是 | 在集合中创建市场。文档:Create Market In Multivariate Event Collection |
| GET | 否 | 查询交易代码。文档:Lookup Tickers For Market In Multivariate Event Collection |
| GET | 否 | 近期查询记录。文档:Get Multivariate Event Collection Lookup History |
| Endpoint | Method | Auth | Description |
|---|---|---|---|
| GET | No | List milestones. Docs: Get Milestones |
| GET | No | Get milestone. Docs: Get Milestone |
| GET | No | List structured targets. Docs: Get Structured Targets |
| GET | No | Get structured target. Docs: Get Structured Target |
| 端点 | 方法 | 是否需要认证 | 描述 |
|---|---|---|---|
| GET | 否 | 列出里程碑。文档:Get Milestones |
| GET | 否 | 获取单个里程碑。文档:Get Milestone |
| GET | 否 | 列出结构化目标。文档:Get Structured Targets |
| GET | 否 | 获取单个结构化目标。文档:Get Structured Target |
| Endpoint | Method | Auth | Description |
|---|---|---|---|
| GET | No | Live data for milestone. Docs: Get Live Data |
| GET | No | Multiple milestones. Docs: Get Multiple Live Data |
| 端点 | 方法 | 是否需要认证 | 描述 |
|---|---|---|---|
| GET | 否 | 里程碑的实时数据。文档:Get Live Data |
| GET | 否 | 多个里程碑的实时数据。文档:Get Multiple Live Data |
| Endpoint | Method | Auth | Description |
|---|---|---|---|
| GET | No | Sport filters. Docs: Get Filters for Sports |
| GET | No | Tags by category. Docs: Get Tags for Series Categories |
| 端点 | 方法 | 是否需要认证 | 描述 |
|---|---|---|---|
| GET | 否 | 体育类筛选条件。文档:Get Filters for Sports |
| GET | 否 | 按分类列出标签。文档:Get Tags for Series Categories |
| Endpoint | Method | Auth | Description |
|---|---|---|---|
| GET | No | Exchange status. Docs: Get Exchange Status |
| GET | No | Exchange schedule. Docs: Get Exchange Schedule |
| GET | No | Announcements. Docs: Get Exchange Announcements |
| GET | Yes | Data freshness timestamp. Docs: Get User Data Timestamp |
| GET | No | Fee changes. Docs: Get Series Fee Changes |
| GET | Yes | Your rate limit tier. Docs: Get Account API Limits |
| GET | Yes | List API keys. Docs: Get API Keys |
| POST | Yes | Create API key. Docs: Create API Key |
| POST | Yes | Generate key pair. Docs: Get API Keys |
| DELETE | Yes | Delete API key. Docs: Delete API Key |
| 端点 | 方法 | 是否需要认证 | 描述 |
|---|---|---|---|
| GET | 否 | 交易所状态。文档:Get Exchange Status |
| GET | 否 | 交易所日程。文档:Get Exchange Schedule |
| GET | 否 | 公告。文档:Get Exchange Announcements |
| GET | 是 | 数据新鲜度时间戳。文档:Get User Data Timestamp |
| GET | 否 | 系列费用变更。文档:Get Series Fee Changes |
| GET | 是 | 您的速率限制等级。文档:Get Account API Limits |
| GET | 是 | 列出API密钥。文档:Get API Keys |
| POST | 是 | 创建API密钥。文档:Create API Key |
| POST | 是 | 生成密钥对。文档:Generate API Key |
| DELETE | 是 | 删除API密钥。文档:Delete API Key |
| Endpoint | Method | Auth | Description |
|---|---|---|---|
| GET | No | List incentives. Docs: Get Incentives |
| 端点 | 方法 | 是否需要认证 | 描述 |
|---|---|---|---|
| GET | 否 | 列出激励计划。文档:Get Incentives |
wss://api.elections.kalshi.com/trade-api/ws/v2 (production)
wss://demo-api.kalshi.co/trade-api/ws/v2 (demo)KALSHI-ACCESS-KEYKALSHI-ACCESS-SIGNATUREKALSHI-ACCESS-TIMESTAMP{timestamp}GET/trade-api/ws/v2wss://api.elections.kalshi.com/trade-api/ws/v2 (生产环境)
wss://demo-api.kalshi.co/trade-api/ws/v2 (演示环境)KALSHI-ACCESS-KEYKALSHI-ACCESS-SIGNATUREKALSHI-ACCESS-TIMESTAMP{timestamp}GET/trade-api/ws/v2| Channel | Auth Required | Description | Docs |
|---|---|---|---|
| No* | Market price/volume/OI updates | Market Ticker |
| No* | Public trade notifications | Public Trades |
| No* | Market/event state changes | Market & Event Lifecycle |
| No* | Multivariate lookup notifications | Multivariate Lookups |
| Yes | Real-time orderbook updates | Orderbook Updates |
| Yes | Your fill notifications | User Fills |
| Yes | Your order updates | User Orders |
| Yes | Your position updates | Market Positions |
| Yes | RFQ/quote notifications | Communications |
| Yes | Order group lifecycle | Order Group Updates |
| 通道 | 是否需要认证 | 描述 | 文档 |
|---|---|---|---|
| 否* | 市场价格/成交量/持仓量更新 | Market Ticker |
| 否* | 公开交易通知 | Public Trades |
| 否* | 市场/事件状态变更 | Market & Event Lifecycle |
| 否* | 多元事件查询通知 | Multivariate Lookups |
| 是 | 实时订单簿更新 | Orderbook Updates |
| 是 | 您的成交通知 | User Fills |
| 是 | 您的订单更新 | User Orders |
| 是 | 您的持仓更新 | Market Positions |
| 是 | RFQ/报价通知 | Communications |
| 是 | 订单组生命周期更新 | Order Group Updates |
{
"id": 1,
"cmd": "subscribe",
"params": {
"channels": ["ticker", "orderbook_delta"],
"market_tickers": ["KXHIGHNY-24JAN01-T60"]
}
}{
"id": 1,
"cmd": "subscribe",
"params": {
"channels": ["ticker", "orderbook_delta"],
"market_tickers": ["KXHIGHNY-24JAN01-T60"]
}
}heartbeatheartbeat[price, quantity]100 - best_no_bid[price, quantity]100 - 最优NO买单价格| Topic | Docs |
|---|---|
| Overview | https://docs.kalshi.com/fix/index.md |
| Connectivity | https://docs.kalshi.com/fix/connectivity.md |
| Session Management | https://docs.kalshi.com/fix/session-management.md |
| Order Entry | https://docs.kalshi.com/fix/order-entry.md |
| Order Groups | https://docs.kalshi.com/fix/order-groups.md |
| Drop Copy | https://docs.kalshi.com/fix/drop-copy.md |
| Market Settlement | https://docs.kalshi.com/fix/market-settlement.md |
| RFQ Messages | https://docs.kalshi.com/fix/rfq-messages.md |
| Error Handling | https://docs.kalshi.com/fix/error-handling.md |
| Subpenny Pricing | https://docs.kalshi.com/fix/subpenny-pricing.md |
curl -s "https://api.elections.kalshi.com/trade-api/v2/markets?series_ticker=KXHIGHNY&status=open" | jq '.markets[] | {ticker, title, yes_price, volume}'curl -s "https://api.elections.kalshi.com/trade-api/v2/markets?series_ticker=KXHIGHNY&status=open" | jq '.markets[] | {ticker, title, yes_price, volume}'curl -s "https://api.elections.kalshi.com/trade-api/v2/markets/KXHIGHNY-24JAN01-T60/orderbook" | jq '.orderbook'curl -s "https://api.elections.kalshi.com/trade-api/v2/markets/KXHIGHNY-24JAN01-T60/orderbook" | jq '.orderbook'undefinedundefined
---
---llms.txt?cursorunopenedopenclosedsettledllms.txt?cursorunopenedopenclosedsettled| Code | Meaning |
|---|---|
| 1 | Unable to process message |
| 2 | Params required |
| 3 | Channels required |
| 5 | Unknown command |
| 8 | Unknown channel name |
| 9 | Authentication required |
| 14 | Market ticker required |
| 16 | Market not found |
| 17 | Internal error |
| 18 | Command timeout |
| 代码 | 含义 |
|---|---|
| 1 | 无法处理消息 |
| 2 | 需要参数 |
| 3 | 需要通道 |
| 5 | 未知命令 |
| 8 | 未知通道名称 |
| 9 | 需要认证 |
| 14 | 需要市场交易代码 |
| 16 | 市场未找到 |
| 17 | 内部错误 |
| 18 | 命令超时 |
.env.exampleALPH_BOT_KALSHI_API_KEY_ID=abc123
ALPH_BOT_KALSHI_PRIVATE_KEY_PATH=./keys/kalshi-private.pem.env.exampleALPH_BOT_KALSHI_API_KEY_ID=abc123
ALPH_BOT_KALSHI_PRIVATE_KEY_PATH=./keys/kalshi-private.pemundefinedundefinedgit clone https://gitlab.com/outsharp/shipp/alph-bot.git
cd alph-bot
cp .env.example .envgit clone https://gitlab.com/outsharp/shipp/alph-bot.git
cd alph-bot
cp .env.example .env
> **Warning:** Trading on Kalshi involves real money when not in demo/paper mode. Always start with a [demo account](https://help.kalshi.com/account/demo-account).
See the [Alph Bot README](https://gitlab.com/outsharp/shipp/alph-bot) for full setup instructions.
---
> **警告:** 非演示/模拟模式下,在Kalshi进行交易涉及真实资金。请始终从[演示账户](https://help.kalshi.com/account/demo-account)开始。
查看[Alph Bot README](https://gitlab.com/outsharp/shipp/alph-bot)获取完整设置说明。
---/trade-api/v2