Build on TokenIntel

Access crypto signals, market regime, chain health, and thesis evaluation via REST API or MCP for AI agents.

REST API v1 MCP Server API Key Auth Rate Limited

Authentication

TokenIntel uses API keys for authentication. Keys are prefixed with ti_live_ and passed via the Authorization header.

Getting an API Key

  1. Sign in to your account
  2. Go to the API Keys section
  3. Click "Generate API Key"
  4. Copy and save your key immediately (it's only shown once)

Using Your Key

HTTP Header Authorization: Bearer ti_live_a1b2c3d4e5f6...

Public endpoints (signals, regime, chain health, assets) work without authentication but are rate-limited to 10 requests/day. Authenticated requests get higher limits based on your tier.

Response Format

All v1 endpoints return a consistent JSON envelope:

{
  "status": "ok",
  "data": { /* endpoint-specific data */ },
  "meta": {
    "timestamp": "2026-02-25T12:00:00.000Z",
    "version": "v1",
    "cached": false
  }
}

Error responses follow the same shape:

{
  "status": "error",
  "data": null,
  "error": {
    "code": "NOT_FOUND",
    "message": "Asset 'doge' not found"
  }
}

API Endpoints

Base URL: https://tokenintel.org/api/v1

GET /signals Public
Get current trading signals for all assets or a specific asset.
/signals/:asset — Single asset (e.g., /signals/ethereum)
?include_factors=true — Include factor breakdown
GET /regime Public
Current BTC market regime with conditions (RSI, Fear & Greed, momentum, funding rate) and all asset signals.
GET /chain-health Public
Fundamental on-chain health scores for ETH, SOL, and HYPE. Z-score normalized with regime-adjusted sensitivity.
/chain-health/:asset — Single asset (eth, sol, hype)
GET /chain-metrics/:asset Public
Raw chain metrics with 7-day deltas (revenue, users, TVL, DEX volume, etc.).
Required: eth, sol, or hype
GET /assets Public
List all supported assets with current signals and capability flags.
GET /signal-history/:asset Pro / API
Historical signal changes with factor snapshots. Shows when signals changed and what drove the change.
?days=30 — History period (1-365, default 30)
?limit=50 — Max entries (1-200, default 50)
GET /thesis/:id/health Auth Required
Evaluate a thesis against current market data. Returns health score, triggered conditions, and action-required flag. Only accessible by the thesis owner.

Key Management

POST /keys/create JWT
Generate a new API key. Requires Supabase JWT (logged-in user). Max 5 keys per account.
GET /keys JWT
List your API keys (prefix, name, tier, usage). Never returns the full key.
POST /keys/revoke JWT
Revoke an API key. Body: { "key_id": "uuid" }

MCP Server for AI Agents

TokenIntel provides an MCP (Model Context Protocol) server that lets AI agents like Claude access crypto intelligence directly. 6 read-only tools are available.

Claude Desktop Configuration

Add this to your Claude Desktop MCP settings:

JSON
{
  "mcpServers": {
    "tokenintel": {
      "url": "https://tokenintel.org/mcp",
      "headers": {
        "Authorization": "Bearer ti_live_your_key_here"
      }
    }
  }
}

Available Tools

Tool Description Auth
get_signalsCurrent signals for one/all assets + optional factorsOptional
get_market_regimeBTC market regime with conditionsOptional
get_chain_healthFundamental health scores (ETH/SOL/HYPE)Optional
get_thesis_healthEvaluate a specific thesisRequired
get_assetsSupported asset list with signalsOptional
get_signal_historyHistorical signal changesPro/API

Rate Limits

Rate limits are applied per API key. Headers included in every response:

X-RateLimit-Limit: 50
X-RateLimit-Remaining: 47
X-RateLimit-Reset: 2026-02-26T00:00:00.000Z
X-TokenIntel-Tier: free
Tier Daily Limit Per-Minute Price
Unauthenticated105Free
Free5010$0
Pro5,000100$29/mo
APIUnlimited500$99/mo

Code Examples

JavaScript (fetch)

JavaScript
const response = await fetch('https://tokenintel.org/api/v1/signals', {
  headers: { 'Authorization': `Bearer ${API_KEY}` }
});
const { data } = await response.json();
console.log(data.signals); // Array of asset signals

Python (requests)

Python
import requests

response = requests.get(
    "https://tokenintel.org/api/v1/signals/ethereum",
    headers={"Authorization": f"Bearer {API_KEY}"}
)
data = response.json()["data"]
print(f"ETH signal: {data['signal']}")

curl

Shell
# Get all signals
curl -H "Authorization: Bearer ti_live_your_key" \
  https://tokenintel.org/api/v1/signals

# Get ETH chain health
curl https://tokenintel.org/api/v1/chain-health/eth

# Get current regime (no auth needed)
curl https://tokenintel.org/api/v1/regime