API DOCS

MarsEdge

Authentication

VIP Pro users can generate an API key on the Account page and send it in a request header.

X-API-Key: pk_live_xxx

Bearer authentication is also supported: Authorization: Bearer pk_live_xxx

Endpoints

These are the three primary endpoints for integrations and automation.

GET /api/keys/verify
Verify an API key and return userId, plan, maskedKey and lastUsedAt.
GET /api/probboard/latest
Get the current probability board, including model probabilities, bid/ask prices, seconds remaining and Polymarket UP/DOWN token IDs. Guest and Free plans poll this endpoint; VIP integrations can use it too.
GET /api/probboard/stream
VIP Pro real-time Server-Sent Events stream for automation and live dashboards.

Request parameters

The core endpoints currently require no query parameters. Authentication is header-based.

GET /api/keys/verify
No query parameters. Send the API key in a header.
GET /api/probboard/latest
No query parameters. The response contains the full board; filter by symbol in your client.
GET /api/probboard/stream
No query parameters. Keep the SSE connection open to receive the full board continuously.

curl examples

curl -H "X-API-Key: pk_live_xxx" \
  https://marsedge.vip/api/keys/verify
curl -H "X-API-Key: pk_live_xxx" \
  https://marsedge.vip/api/probboard/latest
curl -N -H "X-API-Key: pk_live_xxx" \
  https://marsedge.vip/api/probboard/stream

Node.js example

const res = await fetch('https://marsedge.vip/api/probboard/latest', {
  headers: {
    'X-API-Key': 'pk_live_xxx'
  }
});
const data = await res.json();
console.log(data.plan, data.refreshMs, data.items);

Python example

import requests

headers = {
    'X-API-Key': 'pk_live_xxx'
}

res = requests.get('https://marsedge.vip/api/probboard/latest', headers=headers, timeout=10)
res.raise_for_status()
data = res.json()

print(data['plan'], data['refreshMs'])
for item in data['items']:
    if item['symbol'] == 'BTC':
        print('BTC up:', item['p_up_pct'], 'down:', item['p_down_pct'])

SSE example

import requests
import sseclient

headers = {
    'X-API-Key': 'pk_live_xxx',
    'Accept': 'text/event-stream'
}

resp = requests.get('https://marsedge.vip/api/probboard/stream', headers=headers, stream=True, timeout=30)
resp.raise_for_status()
client = sseclient.SSEClient(resp)

for event in client.events():
    if event.event == 'board':
        print(event.data)

Python dependency: pip install requests sseclient-py

Response fields

{
  "ok": true,
  "plan": "vip_pro",
  "refreshMs": 500,
  "updatedAt": "2026-04-27 14:00:00.000",
  "items": [
    {
      "symbol": "BTC",
      "p_up_pct": 74.8,
      "p_down_pct": 25.2,
      "up_bid": 0.71,
      "up_ask": 0.73,
      "down_bid": 0.27,
      "down_ask": 0.29,
      "up_token_id": "112799310392536879678714747558491180025439364374789444912205342876076197927272",
      "down_token_id": "104719069133742642299341118922517353698093833239753088353559201498216640910648",
      "rem_secs": 118
    }
  ]
}