limitless-mcp

limitless-mcp

Enables AI agents to trade on Limitless prediction markets on Base via MCP, with tools for wallet management, market discovery, order placement, and portfolio tracking.

Category
Visit Server

README

Limitless MCP Server

<div align="center"> <h3>Prediction Market Trading on Base via Limitless Exchange</h3> <p>Build AI-powered trading agents for Limitless prediction markets using the Model Context Protocol (MCP)</p>

License: PolyForm Noncommercial Node.js Base Chain </div>


⚠️ Notice: Quantish is winding down. The Quantish platform (quantish.live) is shutting down. This MCP server is self-hosted and will continue to work independently, but the Quantish team will no longer be maintaining or updating this project. If you're building in the prediction market space and need real-time data infrastructure, check out polynode.dev.


Features

  • Secure Wallet Management

    • Generate new Base wallets with encrypted private key storage
    • Bring Your Own Wallet (BYOW) - Import existing wallets with client-side encryption
    • Private keys are encrypted with AES-256-GCM before storage
  • Full Limitless Market Access

    • Real-time market discovery via Limitless Exchange API
    • Access to all prediction markets: Politics, Sports, Crypto, and more
    • Live orderbook data and price history
    • Semantic search for market discovery
  • Trading Operations

    • Place limit orders with EIP-712 signed authentication
    • Cancel orders (single, batch, or all)
    • Check and set token approvals (USDC, CTF)
    • Position tracking with P&L calculations
  • AI Agent Integration

    • Full MCP (Model Context Protocol) support
    • Works with Claude, Cursor IDE, and other MCP-compatible AI tools
    • 34 pre-built trading tools organized by category
  • Enterprise Security

    • AES-256-GCM encryption for all sensitive data
    • API key authentication with SHA-256 hashing
    • Platform partner system for B2B integrations
    • Rate limiting and request logging

Quick Start

1. Configure MCP (Cursor IDE)

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "limitless": {
      "url": "https://limitless-mcp-server-production.up.railway.app/mcp",
      "headers": {
        "x-api-key": "YOUR_API_KEY"
      }
    }
  }
}

2. Get Your API Key

Via MCP tool:

{
  "tool": "limitless_signup",
  "args": {
    "externalId": "your-unique-id"
  }
}

3. Start Trading

"Search for bitcoin prediction markets"
"Buy 10 YES shares at $0.60 on the BTC market"
"Show my current positions"
"Cancel my open orders"

Available MCP Tools (34 Total)

Note: All tool names are prefixed with limitless_ to avoid collisions with other MCPs.

Authentication & Setup (6 tools)

Tool Description
limitless_signup Create a new account with a fresh Base wallet
limitless_request_api_key Get new API key (requires HMAC signature)
limitless_setup_wallet Generate a new Base wallet
limitless_import_wallet Import existing wallet (encrypted)
limitless_get_wallet_import_instructions Instructions for secure wallet export
limitless_import_private_key Direct private key import

Wallet Information (4 tools)

Tool Description
limitless_get_wallet_info Get wallet address and type
limitless_get_wallet_status Full wallet status with balances
limitless_get_balances Check ETH and USDC balances
limitless_get_deposit_address Get address for funding

Market Discovery (6 tools)

Tool Description
limitless_get_markets List active markets with pagination
limitless_search_markets Semantic search for markets
limitless_get_market Get market details including venue
limitless_get_orderbook Get order book with bids/asks
limitless_get_price_history Historical price data
limitless_get_categories List market categories

Trading (8 tools)

Tool Description
limitless_place_order Place a limit order
limitless_cancel_order Cancel a single order
limitless_cancel_all_orders Cancel all orders in a market
limitless_get_orders List your orders
limitless_check_approvals Check token approvals
limitless_set_approvals Set token approvals
limitless_get_locked_balance Get USDC locked in orders
limitless_get_quote Estimate fill price

Positions (4 tools)

Tool Description
limitless_get_positions Get active positions with P&L
limitless_get_trades Get trade history
limitless_get_portfolio_history Full portfolio history
limitless_sync_positions Sync positions from API

Transfers (3 tools)

Tool Description
limitless_send_eth Send ETH to another address
limitless_send_usdc Send USDC to another address
limitless_export_private_key Export wallet private key

API Key Management (3 tools)

Tool Description
limitless_list_api_keys List your API keys
limitless_create_api_key Create a new API key
limitless_revoke_api_key Revoke an API key

Self-Hosting

Prerequisites

  • Node.js 20+
  • PostgreSQL 15+
  • Base RPC access (mainnet.base.org)

Installation

# Clone the repository
git clone https://github.com/joinQuantish/limitless-mcp.git
cd limitless-mcp

# Install dependencies
npm install

# Copy environment template
cp .env.example .env

# Edit .env with your values (see Environment Variables below)

# Generate Prisma client
npx prisma generate

# Push database schema
npx prisma db push

# Build and start
npm run build
npm start

Environment Variables

Create a .env file with:

# Database (PostgreSQL)
DATABASE_URL="postgresql://user:password@host:5432/limitless_mcp?schema=public"

# Encryption (generate with: openssl rand -hex 32)
ENCRYPTION_KEY="your-64-character-hex-encryption-key-here"

# Blockchain - Base L2
BASE_RPC_URL="https://mainnet.base.org"

# Limitless Exchange API
LIMITLESS_API_URL="https://api.limitless.exchange"

# Server
PORT=3003
NODE_ENV=production

# Admin API Key (generate with: openssl rand -hex 32)
ADMIN_API_KEY="your-admin-api-key-here"

# Optional: Bot signing secret for returning user verification
BOT_SIGNING_SECRET=""

Docker Deployment

# Build the image
docker build -t limitless-mcp .

# Run the container
docker run -d \
  -p 3003:3003 \
  -e DATABASE_URL="postgresql://..." \
  -e ENCRYPTION_KEY="..." \
  -e ADMIN_API_KEY="..." \
  -e BASE_RPC_URL="https://mainnet.base.org" \
  -e LIMITLESS_API_URL="https://api.limitless.exchange" \
  -e NODE_ENV=production \
  limitless-mcp

Railway Deployment

# Install Railway CLI
npm install -g @railway/cli

# Login and initialize
railway login
railway init

# Add PostgreSQL via Railway dashboard

# Set environment variables
railway variables set DATABASE_URL="postgresql://..."
railway variables set ENCRYPTION_KEY="$(openssl rand -hex 32)"
railway variables set ADMIN_API_KEY="$(openssl rand -hex 32)"
railway variables set BASE_RPC_URL="https://mainnet.base.org"
railway variables set LIMITLESS_API_URL="https://api.limitless.exchange"
railway variables set NODE_ENV="production"

# Deploy
railway up

API Reference

Health Check

curl https://your-server/health

Response:

{
  "status": "healthy",
  "timestamp": "2026-01-17T12:00:00.000Z",
  "version": "1.0.0",
  "service": "limitless-mcp",
  "database": "connected",
  "environment": "production"
}

MCP Endpoint

# List available tools
curl -X POST https://your-server/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

# Call a tool (authenticated)
curl -X POST https://your-server/mcp \
  -H "Content-Type: application/json" \
  -H "x-api-key: pk_limitless_..." \
  -d '{
    "jsonrpc":"2.0",
    "id":1,
    "method":"tools/call",
    "params":{
      "name":"limitless_get_balances",
      "arguments":{}
    }
  }'

Market Data API

# Get active markets
curl "https://your-server/api/markets?limit=10&page=1"

# Search markets
curl "https://your-server/api/markets/search?query=bitcoin&limit=5"

# Get market details
curl "https://your-server/api/markets/your-market-slug"

# Get orderbook
curl "https://your-server/api/markets/your-market-slug/orderbook"

Security Architecture

<details> <summary>Click to expand security details</summary>

Encryption at Rest

All sensitive data is encrypted using AES-256-GCM:

  • Private keys encrypted before database storage
  • Session tokens encrypted with unique IVs
  • API secrets encrypted (only SHA-256 hash stored for lookup)

API Key Security

API Key Format: pk_limitless_<32 base64url chars>
API Secret Format: sk_limitless_<43 base64url chars>
  • Keys are hashed with SHA-256 before storage (never stored in plaintext)
  • Secrets are encrypted with AES-256-GCM
  • Timing-safe comparison using crypto.timingSafeEqual

Platform Isolation (B2B)

For platform partners:

  • Platform admin keys: plt_limitless_* / psk_limitless_*
  • All queries scoped by platformId at database level
  • Activity logging for audit trail
  • User limits enforced per platform

Rate Limiting

  • 60 requests/minute per API key (general)
  • 30 requests/minute for user listing (platform admin)
  • 5 requests/hour for platform registration

</details>


Secure Wallet Import (BYOW)

Import your existing MetaMask/hardware wallet securely:

Step 1: Export Your Private Key

In MetaMask: Settings > Security > Export Private Key

Step 2: Encrypt Locally

const crypto = require('crypto');

const privateKey = 'YOUR_PRIVATE_KEY_WITHOUT_0x_PREFIX';
const password = 'YourSecurePassword123!'; // min 12 chars

const salt = crypto.randomBytes(32);
const iv = crypto.randomBytes(16);
const derivedKey = crypto.scryptSync(password, salt, 32, { N: 16384, r: 8, p: 1 });

const cipher = crypto.createCipheriv('aes-256-gcm', derivedKey, iv);
let encrypted = cipher.update(privateKey, 'utf8', 'hex');
encrypted += cipher.final('hex');
const authTag = cipher.getAuthTag().toString('hex');

console.log({
  encryptedKey: `${encrypted}:${authTag}`,
  salt: salt.toString('hex'),
  iv: iv.toString('hex'),
  publicKey: 'YOUR_WALLET_ADDRESS'
});

Step 3: Import to SDK

{
  "tool": "limitless_import_wallet",
  "args": {
    "encryptedKey": "...",
    "salt": "...",
    "iv": "...",
    "publicKey": "0x...",
    "password": "YourSecurePassword123!"
  }
}

Security Note: Your raw private key NEVER leaves your machine. Only the encrypted bundle is sent to our servers, and we cannot decrypt it without your password.


Related Resources

Resource URL
Limitless Exchange https://limitless.exchange
Limitless API Docs https://api.limitless.exchange/api-v1
Base Chain Explorer https://basescan.org
Base USDC Contract 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

License

PolyForm Noncommercial 1.0.0 © Quantish


Support


<div align="center"> <sub>Built with precision by <a href="https://quantish.live">Quantish</a></sub> </div>

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured