Skip to main content

Autonomous Kalshi BTC prediction market trader — MCP server for Claude Code

Project description

sentient-trader-mcp

Autonomous Kalshi BTC prediction market trader — MCP server for Claude Code

Give Claude Code full authority to analyze Kalshi BTC options markets and place real trades on your behalf. The engine uses a Markov chain momentum signal with empirically-tuned gates (timing, vol regime, Hurst exponent, price cap) to identify high-probability entries.

Backtest (30 days, $200 start): +397% return · 82% win rate · 5% max drawdown


Install

pip install sentient-trader-mcp

Configure

Create ~/.sentient-trader/config.env:

KALSHI_API_KEY=your-kalshi-api-key-id
KALSHI_PRIVATE_KEY_PATH=~/.kalshi/private_key.pem

Or set environment variables directly.

You need a Kalshi account with API access and an RSA key pair.
Generate keys in Kalshi → Settings → API.

Register with Claude Code

claude mcp add -s user sentient-trader -- python -m sentient_trader_mcp

Use it

Open Claude Code and type /trade — Claude will:

  1. Check the active KXBTC15M market
  2. Run the full Markov signal
  3. Place a real order if all gates pass
  4. Report balance and P&L

Or ask directly:

  • "What's the current market signal?"
  • "Check my Kalshi balance"
  • "Show my open positions"

Tools

Tool Description
get_market Current active KXBTC15M market — strike, BTC price, minutes left
analyze_signal Full Markov signal — recommendation, position size, all gate results
place_trade Place a real Kalshi limit order ⚠
get_balance Account balance
get_positions Open positions + resting orders
cancel_order Cancel a resting order
kelly_size Calculate Kelly-optimal position size

The Signal

Markov chain momentum — a 9-state model of 5-min BTC price changes. Chapman-Kolmogorov propagation over T steps gives P(BTC above strike at expiry).

Gates (all must pass to trade):

  • Markov gap ≥ 11pp from 50% — model must be ≥61% confident
  • Markov persistence ≥ 82% — momentum state must be self-reinforcing
  • Garman-Klass vol ≤ 1.25× reference — skip chaotic windows
  • Hurst exponent ≥ 0.50 — trending regime only, not mean-reverting
  • Timing: 6–9 min (standard) or 3–12 min (65–73¢ golden zone)
  • Entry price ≤ 72¢ — above this the market is efficiently priced

Kelly sizing (tiered by price zone):

  • 65–73¢: 35% Kelly · 73–79¢: 12% Kelly · 79–85¢: 8% Kelly

Blocked UTC hours: 11:00 and 18:00 (empirically -40pp to -57pp margin)


Overridable Parameters

Set via environment variables:

MARKOV_MIN_GAP=0.11
MIN_PERSIST=0.82
MAX_ENTRY_PRICE=72
MAX_VOL_MULT=1.25
MIN_HURST=0.50

Disclaimer

This places real orders with real money on a regulated prediction market exchange. Use at your own risk. Nothing here is financial advice. Start with analyze_signal in read-only mode before enabling live trading.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sentient_trader_mcp-0.1.3.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sentient_trader_mcp-0.1.3-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file sentient_trader_mcp-0.1.3.tar.gz.

File metadata

  • Download URL: sentient_trader_mcp-0.1.3.tar.gz
  • Upload date:
  • Size: 12.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for sentient_trader_mcp-0.1.3.tar.gz
Algorithm Hash digest
SHA256 21ea4b688464cb8ab162378be24efbad65c0a833144af4f376bc0f0fd3de099b
MD5 bf689e726056a9d5f260251969be94a3
BLAKE2b-256 3842a3e562a5c81b0ba9825dca8c0e5f36933fb4239c443839e97093ed7f6dce

See more details on using hashes here.

File details

Details for the file sentient_trader_mcp-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for sentient_trader_mcp-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 63e0ac05e27b990cf0aa1f6799581cae757fe637efb680ee9d9c91da2cbf20dd
MD5 65949397e475f83c8073e078baf063f1
BLAKE2b-256 67d4184f287cd59745c41c97a625eb7cc4ffdb6def2f2ef2651d66a87e55dde0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page