Skill

kalshi

Trade prediction markets, persist tick data, and answer category-level P&L questions Kalshi.com cannot.

Verified: 2026-05-13 (printing-press-ingest-2026-05-13+enrich-capability-skill)

When to use kalshi

Choose if

You're running a prediction-market research or live-trading agent and need more than what Kalshi.com's UI surfaces — category-level P&L attribution, persisted tick history, ROI across settled markets, settlement-calendar risk exposure, price-mover detection. Alternative class is calling Kalshi's REST API directly with curl/SDK; pick this for typed exit codes, an offline SQLite mirror, and the client-side read-only safety belt.

Avoid if

You need general trading across non-prediction markets (equities, FX, crypto) — Kalshi-only by scope. Also avoid if you don't have Premier or Market Maker API levels on your Kalshi account, because the trading endpoints will return 403 from key creation onward.

Risk Flags

  • HIGH auth Private keys are returned only once at creation and cannot be retrieved again. Losing the key forces a full re-issue; deletion is irreversible. Agents must persist the PEM atomically on first write.
  • MEDIUM scope Hard upstream caps: 200,000 open orders per user, 100 open RFQs per user, 5000 multivariate market creations per week. Batch sizes also scale with the account's write-budget tier.
  • MEDIUM rate_limit Rate-limit state surfaces as exit code 7. Concrete thresholds are not published; sync workers are tunable via --workers but agents on heavy workloads need backoff discipline.
  • LOW scope Read-only keys get HTTP 403 on write attempts; KALSHI_READ_ONLY=1 blocks mutations before they're signed, which is the recommended safety belt for research-only agents.

Cost

Type: Freemium · Free tier: The CLI binary is free to install. Read access works with any Kalshi-issued API key; write/trade access requires Premier or Market Maker tier on Kalshi. Private keys cannot be retrieved after creation — store them immediately.

Hidden costs

  • API key creation requires "Premier or Market Maker API usage levels" on the Kalshi account side; write-capable keys cannot be downgraded after generation.

Install

Default

npx -y @mvanhorn/printing-press install kalshi
# Configure Kalshi API key + private key path:
export KALSHI_API_KEY_ID=<key-id>
export KALSHI_PRIVATE_KEY_PATH=~/.config/kalshi/key.pem
# Optional: hard-block writes client-side
export KALSHI_READ_ONLY=1

Setup docs →

Estimated time to first success: ~15 min

Dependencies

Minimum runtime: Node.js 18+ (via npx) or Go 1.26.3+ for source install — pre-built macOS/Unix binaries available

Distribution

Repository
https://github.com/mvanhorn/printing-press-library
License
MIT