An MCP server that gives AI agents direct access to Polymarket Crypto prediction markets, enriched with live spot prices. Discover markets, analyze order books, paper trade strategies, track activity, and execute live trades — all through natural language.
CryptoConduit MCP
An MCP server that gives AI agents direct access to Polymarket Crypto prediction markets, enriched with live spot prices. Discover markets, analyze order books, paper trade strategies, track activity, and execute live trades — all through natural language.
Built in Rust. 22 tools. Mainnet-tested.
Use it as an MCP server with any MCP-compatible client, or import the core/ library directly into your own Rust bots and pipelines — zero MCP dependency.
What it does
Market Intelligence — Discover and monitor prediction markets across 6 assets (BTC, ETH, SOL, XRP, DOGE, BNB) and 8 market types (5m to monthly). Real-time Binance spot prices overlaid on Polymarket order books with tradeability scoring, spread analysis, and depth profiling.
Quantitative Analysis — Spot momentum, order book dynamics (spread trends, depth shifts, imbalance), probability-spot divergence detection, and whale flow analysis — combined into a single briefing per market.
Paper Trading — Fee-adjusted P&L simulation using Polymarket's fee model. Paper trading with full portfolio tracking, autonomous auto-trade execution, early exit, and position management. Test strategies risk-free before committing real capital.
Live Trading — Place and manage real orders on Polymarket via the official SDK. Triple safety gate: dry run by default, explicit confirmation required, and a risk manager with daily loss limits, drawdown tracking, and consecutive loss halts.
Monitoring — Always-on background system: whale detection on the live Polymarket trade stream, spread narrowing alerts, depth spike detection, and approaching window notifications. No manual setup required.
Tools
Discovery & Data
| Tool | What it does |
|------|-------------|
| search_crypto_markets | Search Polymarket for crypto prediction markets. Filter by asset, market type (5m, daily, monthly, etc.), and sort by spread or volume. Returns active markets with current prices, spreads, and liquidity. |
| get_active_window | Snapshot of the current 5m or 15m prediction window — time remaining, spot price, both UP/DOWN sides with best bid/ask, spread, and depth. |
| get_window_briefing | Richer version of active window — adds spot move since open, 1-hour volatility profile, fee breakeven calculations, and tradeability scoring per side. |
| get_spot_price | Current Binance spot price for any supported asset, with data age indicator. |
| get_order_book | Full order book for a specific market token — all bid/ask levels, total depth, concentration analysis, and slippage estimates at various trade sizes. |
| get_market_analysis | The main analysis tool. Combines 5 dimensions: spot momentum (1m/5m/15m trends, acceleration, volatility), order book dynamics (spread trends, depth asymmetry, historical stats), probability divergence (empirical model vs market price), whale flow, and recent alerts. Works across 5m, 15m, daily, and monthly markets. |
| get_whale_activity | Recent large trades ($5k+) on daily and monthly markets from the live Polymarket trade stream. Filters out micro-market noise and post-settlement redemptions. |
| get_alerts | Alerts generated by the background monitor: spread narrowing, depth spikes, whale trades, and windows approaching expiry. |
Simulation & Paper Trading
| Tool | What it does |
|------|-------------|
| simulate_trade | Fee-adjusted P&L calculator. Enter a position size and price, see exact profit/loss for win and loss scenarios, with Polymarket's taker fees, maker rebates, and settlement math. Shows breakeven win rate. |
| paper_trade | Open a simulated position at current market prices. Tracks entry price, fees, and timestamps. Positions auto-settle when the market resolves on Polymarket. |
| get_paper_portfolio | Full portfolio view — open positions with live countdown, settled results, win rate by asset and entry price bucket, total P&L, and fee tracking. |
| paper_close | Exit a paper position early at the current bid price, paying taker fee on exit. Shows realized P&L including entry and exit fees. |
| set_auto_paper_trade | Configure autonomous paper trading. Set an asset, position size, and entry conditions — the server monitors markets and opens positions automatically when conditions are met. |
| get_auto_paper_trade_status | Check which auto-traders are running, their recent trades, and aggregate stats. |
Live Trading
Requires wallet configuration. See Wallet Setup below.
| Tool | What it does |
|------|-------------|
| approve_exchange | One-time on-chain setup. Approves USDC and CTF token transfers for Polymarket's 3 exchange contracts. Costs ~$0.001 in POL gas. Must run before placing any orders. |
| get_balance | Wallet USDC.e balance on Polygon, plus risk manager status (daily loss remaining, consecutive losses, drawdown). |
| place_order | Place a buy or sell order. Dry run by default — shows what would happen without submitting. Requires explicit confirm=true to execute. Risk manager enforced. |
| cancel_order | Cancel a specific order by ID, or cancel all open orders at once. |
| get_positions | Current live positions in your wallet. |
| redeem_winnings | Redeem winning CTF tokens on-chain after a market settles. Works with both standard and NegRisk markets. |
System
| Tool | What it does |
|------|-------------|
| set_data_logging | Toggle background JSONL logging of spot prices, order books, and market snapshots. Useful for building datasets or debugging. |
| get_data_logging_status | Check if logging is active, where files are saved, and current disk usage. |
Sample output
Window briefing
## BTC 5m Briefing (2:25 AM ET)
Time: 9% elapsed (26s / 300s), 274s remaining
Spot: $70822 -> $70843 (+0.03%)
Volatility (1h): avg 5m move: 0.051% | max: 0.146% | moves >0.05%: 5/12
UP: ask=0.660 bid=0.650 spread=1.5% | good (depth: $755, slippage $100: 2.0%)
DOWN: ask=0.350 bid=0.340 spread=2.9% | good (depth: $127, slippage $100: 2.3%)
Fees (taker): UP at 0.660: fee=1.3%, breakeven WR=67.3%
DOWN at 0.350: fee=1.3%, breakeven WR=36.3%
Market analysis (daily)
## BTC Market Analysis (daily)
### Spot Momentum
Price $70795 Trend Down
1m move -0.085% 5m vol 0.055%
5m move -0.039% Accel decel (-0.078)
15m move -0.167%
$70795 — downtrend, decelerating. High volatility.
### Order Book Dynamics
ATM strike: $70000 (spot: $70795)
Side Spread Median Trend BidDep$ AskDep$ Imbalance
------------------------------------------------------------------------
YES 1.3% 1.3% stable $169 $221 Mild ask pressure
NO 3.9% 3.9% stable $74 $59 Mild bid pressure
YES side has better liquidity (tighter spread, deeper book).
### Probability Divergence
Side Market Fair Est. Divergence Method Conf
--------------------------------------------------------------------
YES 0.750 0.842 +0.092 (underpriced) vol-CDF high
NO 0.260 0.158 -0.102 (overpriced) vol-CDF high
YES looks underpriced (+9.2%). NO looks overpriced (-10.2%).
Paper portfolio
## Paper Portfolio
Trades: 9 | Wins: 5 | Win rate: 55.6%
Total P&L: $11.66 | Avg P&L: $1.30
Volume: $55.00 | Fees paid: $1.69
By Asset:
BTC: 4 trades, 50.0% WR, $3.71 P&L
ETH: 2 trades, 50.0% WR, $3.40 P&L
SOL: 1 trades, 100.0% WR, $5.04 P&L
XRP: 1 trades, 100.0% WR, $4.65 P&L
By Entry Price:
0.30-0.50: 3 trades, 66.7% WR, $9.86 P&L
0.50-0.70: 6 trades, 50.0% WR, $1.80 P&L
Requirements
- Platform: Windows, macOS, Linux
- Network: Polymarket and Binance API access required.
No API keys required. Polymarket and Binance market data APIs are public. The server works immediately — no accounts, no signup, no tokens. API keys are only needed if you enable live trading (see Wallet Setup).
Quick start
Option A: Download prebuilt binary
Grab the latest binary for your platform from Releases and place it somewhere on your PATH (or note the full path for the config below).
Option B: Install from crates.io
Requires Rust 1.85+.
cargo install crypto-conduit-mcp
Connect to your MCP client
Add to your MCP client config:
{
"mcpServers": {
"crypto-predict": {
"command": "crypto-conduit-mcp"
}
}
}
If the binary isn't on your PATH, use the full path instead (e.g.
"/path/to/crypto-conduit-mcp"or"C:\\Users\\you\\crypto-conduit-mcp.exe").
The server communicates over stdio using the Model Context Protocol.
First startup: The server needs ~30-45 seconds to discover all active markets from Polymarket. During this window, some tools may show limited data. After the initial discovery cycle, everything updates continuously.
Once running, the server automatically:
- Discovers new markets every 4 minutes
- Polls order books (every 5s for short-term, 30s for daily/monthly)
- Streams Binance spot prices every 3s
- Monitors the live Polymarket trade stream for whale activity
- Generates alerts (spread narrowing, depth spikes, approaching windows)
All of this runs in the background — tools read from this cached state so responses are instant.
Configure (optional)
The server works without any config file. To customize, create a config at the platform-appropriate location:
- Windows:
%APPDATA%\crypto-conduit\config.toml - macOS:
~/Library/Application Support/crypto-conduit/config.toml - Linux:
~/.config/crypto-conduit/config.toml
[logging]
enabled = false # background data logging (JSONL files)
# [trading] # uncomment for live trading — see Wallet Setup below
# private_key = "..."
# max_order_size_usd = 100
Wallet setup (live trading)
Live trading requires a configured wallet. Paper trading works without any of this.
1. Create or use an EOA wallet
You need an externally owned account (EOA) on Polygon. This can be a MetaMask wallet, a dedicated trading wallet, or any Ethereum-compatible wallet. Do not use your main wallet — create a dedicated one for trading.
2. Fund the wallet
- USDC.e (bridged USDC) on Polygon — this is the collateral token Polymarket uses. Contract:
0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174. Not native USDC (0x3c499...). - A small amount of POL for gas fees (on-chain approvals cost ~$0.001).
3. Add your private key to config
[trading]
private_key = "abc123..." # 64 hex characters, no 0x prefix
wallet_type = "eoa"
max_order_size_usd = 100 # safety cap per order
daily_loss_limit_usd = 50 # risk manager halts trading if exceeded
Security: Your private key is never logged — the server uses a redacted Debug implementation. Still, keep this config file permissions-restricted.
4. Approve the exchange contracts
Before placing your first order, run the approve_exchange tool. This is a one-time on-chain transaction that approves USDC and CTF token transfers for Polymarket's 3 exchange contracts (CTF Exchange, Neg Risk CTF Exchange, Neg Risk Adapter).
5. Place orders
All orders default to dry run mode — they show what would happen without submitting anything. To execute a real order, set confirm=true. The risk manager checks daily loss limits, consecutive losses, and drawdown before every order.
Example prompts
Once connected via MCP, try these with your AI agent:
Discovery & analysis
- "What BTC daily markets are active? Sort by tightest spread"
- "Give me a briefing on the current ETH 5m window"
- "Run a full market analysis on BTC daily"
- "Show me the order book for the BTC $70k strike"
Simulation
- "If I buy BTC daily YES at 0.75 with $50, what's my P&L on win vs loss?"
- "What win rate do I need to break even entering at 0.65?"
Paper trading
- "Paper trade $10 on BTC 5m UP"
- "Show my paper portfolio — any settled positions?"
- "Close position #3"
- "Set up auto paper trading on ETH 5m: $5 size, enter below 0.45, only when spot moved 0.1%+"
Live trading
- "Check my wallet balance and risk status"
- "Dry run: buy $10 of ETH daily YES at 0.52"
- "Cancel all my open orders"
Monitoring
- "Any whale trades or alerts in the last 30 minutes?"
- "Show recent whale activity across all assets"
Use as a Rust library
The core/ module has zero dependency on MCP — it's a standalone library. Import it directly for custom bots, data pipelines, or alternative interfaces:
use crypto_conduit::core::providers::binance;
use crypto_conduit::core::analysis::fees;
use crypto_conduit::core::paper::portfolio;
Supported assets
| Asset | Binance Pair | 5m | 15m | Hourly | Daily | Monthly | |-------|-------------|:--:|:---:|:------:|:-----:|:-------:| | BTC | BTCUSDT | Yes | Yes | Yes | Yes | Yes | | ETH | ETHUSDT | Yes | Yes | Yes | Yes | Yes | | SOL | SOLUSDT | Yes | Yes | Yes | Yes | Yes | | XRP | XRPUSDT | Yes | Yes | Yes | Yes | Yes | | DOGE | DOGEUSDT | Yes | Yes | Yes | Yes | Yes | | BNB | BNBUSDT | Yes | Yes | Yes | Yes | No |
Architecture
src/
├── main.rs ← MCP server entry point
├── mcp/ ← MCP tool layer (thin wrappers)
│ ├── mod.rs ← Tool registration
│ ├── tools_*.rs ← Tool handlers by category
│ └── formatter.rs ← Response formatting
└── core/ ← Standalone library (no MCP dependency)
├── types.rs ← Shared types
├── providers/ ← API clients (Polymarket, Binance, Chainlink)
├── analysis/ ← Fee model, momentum, book dynamics, divergence
├── paper/ ← Paper trading engine
├── execution/ ← Live trading (Polymarket SDK, risk manager)
└── monitor/ ← Background polling, alerts, whale tracking, auto-trade
License
AGPL-3.0 — see LICENSE for details.