Documentation

Using the API & MCP

Everything a developer or an AI agent needs to read AlphaBotPro feeds. The live service runs on https://mcp.alphabotpro.cloud.

Overview

Two ways in, same data and same key:

REST

Plain HTTPS + JSON. Best for dashboards, bots and backends. Endpoints under /v1/api/*.

MCP

Model Context Protocol over /v1/mcp. Best for LLM agents that discover and call tools. Manifest at /.well-known/mcp.json.

Authentication

Send your key as a Bearer token (preferred) or the x-mcp-api-key header.

request
Authorization: Bearer abp_live_a1b2c3d4_9f8e7d6c5b4a39281706f5e4d3c2b1a09f8e7d6c5b4a3928
# or
x-mcp-api-key: abp_live_a1b2c3d4_…
Keys are shown once at creation. Only a hash is stored — if you lose a key, issue a new one from your keys page.

Key format

abp_<env>_<publicId>_<secret>
abp_live_a1b2c3d4_9f8e7d6c5b4a39281706f5e4d3c2b1a09f8e7d6c5b4a3928
 │     │        │             └─ 48 hex · secret (hashed server-side, shown once)
 │     │        └─ 8 hex · public id (lookup, safe to log)
 │     └─ env · live | test
 └─ brand prefix
SegmentRule
envlive or test
publicId8 hex — stored in clear, used for lookup
secret48 hex — only its SHA-256 is stored

Your tier and entitlements live on the server, not in the key — so upgrades never require a new key.

Signals

GET /v1/api/signals

Latest 50 signals (XAUUSD, BTCUSD). Requires the signals entitlement.

curl
curl https://mcp.alphabotpro.cloud/v1/api/signals \
  -H "Authorization: Bearer abp_live_…"
200 · response
{ "status":"success",
  "signals":[
    { "symbol":"XAUUSD", "signal_type":"BUY",
      "entry_price":2382.50, "take_profit":2395.00,
      "stop_loss":2375.00, "status":"ACTIVE" }
  ] }

War Room

GET /v1/api/warroom

Latest 20 published market briefings. Requires the warroom entitlement.

javascript · fetch
const r = await fetch("https://mcp.alphabotpro.cloud/v1/api/warroom", {
  headers:{ Authorization:`Bearer ${API_KEY}` }
});
const { analyses } = await r.json();

Expert Advisors

GET /v1/api/expert-advisors · public metadata
GET /v1/api/ea/<slug>/download · agent tier

EA names, prices and features are public. The download route returns a single-use link valid for 15 minutes and requires the ea_download entitlement.

200 · download
{ "download_url":"https://mcp.alphabotpro.cloud/v1/api/ea/download?t=…",
  "expires_in":900 }

Stocks

GET /v1/api/stocks

AI Council stock detections with action + confidence. Requires the stocks entitlement.

Catalog

GET /v1/mcp/catalog · public, no key

Lists every public offering with a sample payload and the tier required. This is the discovery surface for agents and crawlers.

MCP server

Point any MCP client at the endpoint below. The manifest advertises the server, auth method and tool list.

endpoint · POST https://mcp.alphabotpro.cloud/v1/mcp manifest · /.well-known/mcp.json auth · Bearer abp_live_…
mcp · tools/list
POST /v1/mcp
{ "jsonrpc":"2.0", "id":1, "method":"tools/list" }

Tools

ToolTierReturns
get_catalogpublicofferings + samples
get_signalssignalslive signals
get_signal_performancesignalswin rate by symbol
get_warroom_analysissignalsmarket briefings
list_expert_advisorspublicEA catalog
get_ea_downloadagentsingle-use link
get_stock_catalogagentstock detections
purchase_accesspubliccrypto invoice
check_paymentpublicprovisioned key

Agent quickstart

A fully autonomous flow — discover, hit the paywall, pay, call:

python · requests
import requests
B = "https://mcp.alphabotpro.cloud"

# discover
cat = requests.get(f"{B}/v1/mcp/catalog").json()

# request access (agent buys its own key)
inv = requests.post(f"{B}/v1/api/checkout/crypto",
    json={"robot_id":"agent-01","tier":"mcp_signals"}).json()
# … send USDT to inv["destination_wallet"] …

# verify on-chain → receive key
key = requests.post(f"{B}/v1/api/checkout/verify",
    json={"payment_reference_id":inv["payment_reference_id"],
          "tx_hash":"0x…"}).json()["api_key"]

# call
sig = requests.get(f"{B}/v1/api/signals",
    headers={"Authorization":f"Bearer {key}"}).json()

Crypto & x402

Calling a paid resource without entitlement returns HTTP 402 with machine-readable payment instructions, so agents can pay and retry automatically.

402 · payment required
HTTP 402 Payment Required
{ "error":"payment_required", "resource":"signals",
  "price_usd":49.00,
  "checkout":"https://mcp.alphabotpro.cloud/v1/api/checkout/crypto",
  "accepts":["USDT-TRON","USDT-Polygon","USDC-Base"] }

Humans can pay the same invoices by card or wallet from the checkout page.

Rate limits

Default 60 requests/min per key (600/min on Enterprise). Poll signals every 30–60s rather than per-second. Limit responses return 429 with a Retry-After header.

Errors

CodeMeaning
401missing or invalid key
402valid key, no entitlement — pay to unlock
404unknown route or EA slug
429rate limited — back off