预测市场交易服务器

基于Limitless交易所的预测市场交易服务器,支持AI代理集成和安全的钱包管理。

  • by joinQuantish
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 joinQuantish/limitless-mcp

使用说明

无限MCP服务器

Prediction Market Trading on Base via Limitless Exchange

Build AI-powered trading agents for Limitless prediction markets using the Model Context Protocol (MCP)


⚠️ 注意:Quantish即将结束。 Quantish平台(Quantish.live)正在关闭。此MCP服务器是自托管的,将继续独立工作,但Quantish团队将不再维护或更新此项目。如果您正在构建预测市场空间并需要实时数据基础设施,请查看 polynode.dev.


特性

  • 安全钱包管理

    • 使用加密私钥存储生成新的Base钱包
    • 自带钱包(BYOW) -使用客户端加密导入现有钱包
    • 私钥在存储前用AES-256-GCM加密
  • 完全无限制的市场准入

    • 通过Limitless Exchange API实时发现市场
    • 访问所有预测市场:政治、体育、加密货币等
    • 实时订单数据和价格历史
    • 市场发现的语义搜索
  • 交易操作

    • 使用EIP-712签名身份验证下限价订单
    • 取消订单(单笔、批量或全部)
    • 检查并设置令牌审批(USDC、CTF)
    • 通过损益计算进行位置跟踪
  • AI代理集成

    • 完全支持MCP(模型上下文协议)
    • 与Claude、Cursor IDE和其他MCP兼容的AI工具配合使用
    • 按类别组织的34个预构建交易工具
  • 企业安全

    • 所有敏感数据的AES-256-GCM加密
    • 使用SHA-256哈希的API密钥身份验证
    • B2B集成平台合作伙伴系统
    • 速率限制和请求日志记录

快速开始

1.配置MCP(光标IDE)

添加 ~/.cursor/mcp.json:

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

2.获取API密钥

通过MCP工具:

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

3.开始交易

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

可用MCP工具(共34个)

注: 所有工具名称前面都有前缀 limitless_ 以避免与其他MCP发生冲突。

身份验证和设置(6个工具)

工具 说明
limitless_signup 使用新的Base钱包创建新帐户
limitless_request_api_key 获取新的API密钥(需要HMAC签名)
limitless_setup_wallet 生成新的Base钱包
limitless_import_wallet 导入现有钱包(加密)
limitless_get_wallet_import_instructions 安全钱包导出说明
limitless_import_private_key 直接私钥导入

钱包信息(4个工具)

工具 说明
limitless_get_wallet_info 获取钱包地址和类型
limitless_get_wallet_status 带有余额的完整钱包状态
limitless_get_balances 检查ETH和USDC余额
limitless_get_deposit_address 获取资金地址

市场发现(6个工具)

工具 说明
limitless_get_markets 按页码列出活跃市场
limitless_search_markets 市场语义搜索
limitless_get_market 获取包括场地在内的市场详细信息
limitless_get_orderbook 获取包含出价/要价的订单簿
limitless_get_price_history 历史价格数据
limitless_get_categories 列出市场类别

交易(8种工具)

工具 说明
limitless_place_order 下达限价订单
limitless_cancel_order 取消单个订单
limitless_cancel_all_orders 取消市场中的所有订单
limitless_get_orders 列出您的订单
limitless_check_approvals 检查令牌审批
limitless_set_approvals 设置令牌审批
limitless_get_locked_balance 在订单中锁定USDC
limitless_get_quote 估算填充价格

职位(4个工具)

工具 说明
limitless_get_positions 在损益表中获得活跃头寸
limitless_get_trades 获取交易历史记录
limitless_get_portfolio_history 完整的投资组合历史
limitless_sync_positions 从API同步位置

转账(3个工具)

工具 说明
limitless_send_eth 将ETH发送到其他地址
limitless_send_usdc 将USDC发送到其他地址
limitless_export_private_key 导出钱包私钥

API密钥管理(3个工具)

工具 说明
limitless_list_api_keys 列出您的API密钥
limitless_create_api_key 创建新的API密钥
limitless_revoke_api_key 吊销API密钥

自我寄宿

先决条件

  • Node.js 20+
  • PostgreSQL 15+
  • 基本RPC访问(mainnet.Base.org)

安装

# 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

环境变量

创建一个 .env 文件包含:

# 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部署

# 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

铁路部署

# 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 参考

健康检查

curl https://your-server/health

答复:

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

MCP端点

# 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":{}
    }
  }'

市场数据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"

安全架构

Click to expand security details

静态加密

所有敏感数据均使用AES-256-GCM加密:

  • 在数据库存储之前加密的私钥
  • 使用唯一IV加密的会话令牌
  • 加密的API机密(仅存储SHA-256哈希用于查找)

API密钥安全

API Key Format: pk_limitless_<32 base64url chars>
API Secret Format: sk_limitless_<43 base64url chars>
  • 密钥在存储之前用SHA-256进行散列(从不以明文存储)
  • 秘密用AES-256-GCM加密
  • 使用定时安全比较 crypto.timingSafeEqual

平台隔离(B2B)

对于平台合作伙伴:

  • 平台管理密钥: plt_limitless_* / psk_limitless_*
  • 数据库级别由platformId限定范围的所有查询
  • 用于审计跟踪的活动日志记录
  • 每个平台实施的用户限制

速率限制

  • 每个API密钥每分钟60个请求(常规)
  • 30个请求/分钟用于用户列表(平台管理员)
  • 每小时5次平台注册请求

安全钱包导入(BYOW)

安全导入您现有的MetaMask/硬件钱包:

第一步:导出您的私钥

在MetaMask中:设置>安全>导出私钥

步骤2:本地加密

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'
});

步骤3:导入到SDK

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

安全说明:您的原始私钥永远不会离开您的机器。只有加密的捆绑包被发送到我们的服务器,没有您的密码,我们无法解密它。


相关资源

资源 URL
无限交换 https://limitless.exchange
无限API文件 https://api.limitless.exchange/api-v1
基础链浏览器 https://basescan.org
基础USDC合同 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

许可证

PolyForm非商业版1.0.0 © Quantish


支持


Built with precision by Quantish