loading…
Search for a command to run...
loading…
MCP server for Alpha Arcade prediction markets on Algorand. Enables AI agents to browse markets, fetch orderbooks, place orders, manage positions, and trade on-
MCP server for Alpha Arcade prediction markets on Algorand. Enables AI agents to browse markets, fetch orderbooks, place orders, manage positions, and trade on-chain prediction markets.
MCP (Model Context Protocol) server for Alpha Arcade prediction markets on Algorand.
Lets AI agents (Claude, Cursor, Copilot, etc.) browse markets, fetch full API-backed orderbooks, place orders, manage positions, and trade on-chain prediction markets.
@alpha-arcade/sdk): low-level TypeScript primitives for bots, backends, and apps.@alpha-arcade/mcp): exposes the same capabilities as MCP tools for AI agents.@alpha-arcade/cli): human terminal UX with table/json output, prompts, and --dry-run/--yes safety rails.The CLI and MCP both use the same runtime/client setup logic so behavior stays aligned.
The CLI package lives in alpha-cli/ in this repo and can be published independently as @alpha-arcade/cli.
cd alpha-cli
npm install
npm run build
node dist/index.js markets list --limit 5
# Read-only
node dist/index.js markets list --limit 5
node dist/index.js markets get <marketId>
node dist/index.js orderbook <marketAppId>
node dist/index.js positions --wallet-address <addr>
# Trading (requires ALPHA_MNEMONIC)
node dist/index.js trade limit --market <id> --position yes --side buy --price 0.52 --quantity 10
node dist/index.js trade market --market <id> --position no --side buy --price 0.45 --quantity 20 --slippage 0.05
node dist/index.js orders amend --market <id> --escrow-app-id <escrow> --price 0.60 --quantity 3
node dist/index.js orders cancel --market <id> --escrow-app-id <escrow> --order-owner <addr>
--dry-run prints payloads (and market-order matching estimate) without submitting.--yes bypasses prompts for non-interactive automation.(0,1) dollars and caps unusually high slippage.| Tool | Description | Requires Wallet |
|---|---|---|
get_agent_guide |
Returns the agent guide — data model, units, mechanics, workflows, pitfalls | No |
get_live_markets |
Fetch all live tradeable markets | No |
get_market |
Fetch a single market by ID | No |
get_orderbook |
Get the unified on-chain orderbook for a market app | No |
get_full_orderbook |
Get the full processed orderbook snapshot from the Alpha REST API for a market | No |
get_open_orders |
Get open orders for a wallet on a market | No |
get_positions |
Get YES/NO token positions for a wallet | No |
create_limit_order |
Place a limit order on a market | Yes |
create_market_order |
Place a market order with auto-matching | Yes |
cancel_order |
Cancel an open order | Yes |
amend_order |
Edit an existing unfilled order (price, quantity, slippage) | Yes |
propose_match |
Match two existing orders | Yes |
split_shares |
Split USDC into YES + NO tokens | Yes |
merge_shares |
Merge YES + NO tokens back into USDC | Yes |
claim |
Redeem outcome tokens from a resolved market | Yes |
stream_orderbook |
Get a real-time orderbook snapshot via WebSocket (faster than on-chain) | No |
stream_live_markets |
Collect live market probability changes for a duration | No |
stream_market |
Watch a single market for the first change event | No |
stream_wallet_orders |
Watch a wallet for order changes | No |
get_full_orderbookFetches the full processed orderbook snapshot from the Alpha REST API for a market ID. Requires ALPHA_API_KEY.
marketAppIdReturns the same app-keyed snapshot shape as websocket orderbook_changed.orderbook:
bids, asks, and spreadyes and no bid/ask orders with escrowAppId and owner| Resource | URI | Description |
|---|---|---|
agent-guide |
alpha-arcade://agent-guide |
Agent guide for Alpha Arcade prediction markets — data model, units, mechanics, workflows, and common pitfalls |
The stream_* tools connect to the Alpha Arcade WebSocket API (wss://platform-wss.alphaarcade.com) for real-time data. No API key required. Each tool opens a connection, collects data, then closes — no persistent subscriptions to manage.
stream_orderbookGets a real-time orderbook snapshot for a market. Faster than the on-chain get_orderbook tool (~5s vs ~10s). Returns the same full processed snapshot shape as get_full_orderbook, with bids, asks, spread, and per-side YES/NO detail.
"will-btc-hit-100k")stream_live_marketsCollects market probability changes over a time window. Returns all accumulated changes with market IDs, probability patches, and spread/midpoint updates. Useful for seeing which markets are currently active.
stream_marketWatches a single market by slug and returns the first change event. Times out if nothing changes.
stream_wallet_ordersWatches a wallet for order changes (new, updated, or filled orders) and returns the first event. Uses the configured ALPHA_MNEMONIC wallet if no address is provided.
| Variable | Required | Description |
|---|---|---|
ALPHA_MNEMONIC |
For trading | 25-word Algorand mnemonic |
ALPHA_API_KEY |
No | Alpha partners API key. If set, markets can be fetched via API and get_full_orderbook becomes available. If omitted, markets are discovered on-chain. |
ALPHA_ALGOD_SERVER |
No | Algod URL (default: mainnet Algonode) |
ALPHA_INDEXER_SERVER |
No | Indexer URL (default: mainnet Algonode) |
ALPHA_MATCHER_APP_ID |
No | Matcher app ID (default: 3078581851) |
ALPHA_USDC_ASSET_ID |
No | USDC ASA ID (default: 31566704) |
An API key is optional. Without it, you can still fetch markets on-chain, place orders, and use most SDK features. With an API key, you get richer market data, full API-backed orderbooks, liquidity rewards information, wallet order lookups, and more.
To get an API key:
.env file in the project root):Add to your .cursor/mcp.json (project-level) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"alpha-arcade": {
"command": "npx",
"args": ["-y", "@alpha-arcade/mcp"]
}
}
}
That's it -- no API key needed. Your AI can browse markets, view orderbooks, and check positions.
To enable trading, add your mnemonic:
{
"mcpServers": {
"alpha-arcade": {
"command": "npx",
"args": ["-y", "@alpha-arcade/mcp"],
"env": {
"ALPHA_MNEMONIC": "your twenty five word mnemonic here"
}
}
}
}
Same config works for both Claude Desktop (GUI app) and Claude Code (terminal CLI).
Add to ~/Library/Application Support/Claude/claude_desktop_config.json on macOS (or %APPDATA%\Claude\claude_desktop_config.json on Windows):
{
"mcpServers": {
"alpha-arcade": {
"command": "npx",
"args": ["-y", "@alpha-arcade/mcp"],
"env": {
"ALPHA_MNEMONIC": "your twenty five word mnemonic here"
}
}
}
}
For Claude Code specifically, you can also add it via the CLI:
claude mcp add alpha-arcade -- npx -y @alpha-arcade/mcp
Add to .vscode/mcp.json:
{
"servers": {
"alpha-arcade": {
"command": "npx",
"args": ["-y", "@alpha-arcade/mcp"],
"env": {
"ALPHA_MNEMONIC": "your twenty five word mnemonic here"
}
}
}
}
With no environment variables at all, the server works in read-only mode. Markets are discovered directly from the Algorand blockchain -- no API key needed. You can browse markets, view orderbooks, and check positions. Trading tools will return an error explaining that a mnemonic is required.
All prices and quantities use microunits (1,000,000 = $1.00 or 1 share):
500000 = $0.501000000 = 1 share50000 = $0.05Run in your terminal:
claude mcp add alpha-arcade-mcp -- npx Security
Low riskAutomated heuristic from public metadata — not a security guarantee.