Technical

How to Use a Crypto Intelligence API: A Developer's Guide to AIOKA

Build AI-powered crypto trading tools with AIOKA's REST API. From authentication to real-time council verdicts, this guide covers everything developers need to integrate AIOKA's 6-agent AI council.

AIOKA TeamCore Contributors
April 10, 2026
10 min read

Why Developers Use Crypto Intelligence APIs

Building a crypto trading tool from scratch is hard. You need data providers for on-chain metrics, macro indicators, sentiment data, and price feeds. You need models to analyze the data. You need a system to synthesize multiple signals into actionable verdicts.

Or you can use AIOKA's API — and get all of that in a single REST endpoint.

AIOKA's API gives developers access to:

Real-time council verdicts from 6 specialized AI agents

27 live market signals across 5 categories

Ghost Trader signals and trade history

Historical data for backtesting

Market regime detection

Here's everything you need to get started.

Authentication

AIOKA uses API key authentication via the X-API-Key header.

Getting your key:

1.

Visit aioka.io

2.

Click "Start Free" — no credit card required

3.

Your API key is generated instantly (format: aik_free_xxxxxxxx)

Making your first request:

`bash

curl https://api.aioka.io/v1/verdict/latest \

-H "X-API-Key: aik_free_your_key_here"

`

Python example:

`python

import requests

API_KEY = "aik_free_your_key_here"

BASE_URL = "https://api.aioka.io"

headers = {"X-API-Key": API_KEY}

response = requests.get(

f"{BASE_URL}/v1/verdict/latest",

headers=headers

)

verdict = response.json()

print(f"Verdict: {verdict['ruling']} ({verdict['confidence']*100:.0f}% confidence)")

`

Core Endpoints

GET /v1/verdict/latest

Returns the most recent AI Council verdict. Available on all tiers including Free.

Response:

`json

{

"ruling": "ACCUMULATE",

"confidence": 0.76,

"score": 0.62,

"btc_price": 71771.0,

"timestamp": "2026-04-10T09:15:00Z",

"council_ruling": "BUY",

"council_confidence": 0.76,

"council_consensus": "STRONG",

"council_mode": "council",

"agents": [

{"name": "CHAIN ORACLE", "vote": "BUY", "confidence": 0.82},

{"name": "MACRO SAGE", "vote": "BUY", "confidence": 0.78},

{"name": "SENTIMENT MONK", "vote": "BUY", "confidence": 0.78},

{"name": "TECH HAWK", "vote": "BUY", "confidence": 0.72},

{"name": "LIQUIDITY GUARDIAN", "vote": "BUY", "confidence": 0.78},

{"name": "RISK SHIELD", "vote": "REDUCE", "confidence": 0.78}

],

"cached": false,

"cache_ttl_seconds": 60

}

`

Key fields:

ruling — Judiciary Engine verdict (rule-based confirmation)

council_ruling — AI Council verdict (6-agent deliberation)

council_confidence — Chief Judge confidence (0.0-1.0)

council_consensus — STRONG, MODERATE, WEAK, or SPLIT

council_mode — "council" (full AI) or "judiciary" (fallback)

agents — Individual agent votes (Pro tier includes full thesis)

GET /v1/regime/current

Returns the current market regime classification.

`json

{

"regime": "WHALE_ACCUMULATION",

"confidence": 0.82,

"timestamp": "2026-04-10T09:00:00Z"

}

`

GET /v1/signals/latest

Returns the current values of all 27 market signals. Requires Basic tier ($49/mo).

`json

{

"signals": {

"MVRV_Z": -2.01,

"SOPR": 1.0000,

"NUPL": 0.2383,

"BTC_EXCHANGE_FLOW": 3029.45,

"FEAR_GREED_INDEX": 14.0,

"BTC_USD": 71771.0,

"EMA_200": 69536.0,

"SSR_INDEX": 5.42,

"BTC_DOMINANCE": 56.99

},

"timestamp": "2026-04-10T09:15:00Z"

}

`

GET /v1/ghost/stats

Returns Ghost Trader's current track record. Public endpoint, no auth required.

`json

{

"validated_trades": 3,

"target": 10,

"total_pnl": 155.77,

"win_rate": 66.7,

"since": "2026-04-07"

}

`

Rate Limits

| Tier | Daily Calls | Rate Limit |

|------|------------|------------|

| Free | 10 | 10/min |

| Basic ($49/mo) | 1,000 | 60/min |

| Pro ($199/mo) | 10,000 | 300/min |

Rate limit headers are included in every response:

`

X-RateLimit-Limit: 10

X-RateLimit-Remaining: 7

X-RateLimit-Reset: 1712749200

`

Building a Simple Trading Bot

Here's a minimal Python example that checks the council verdict and alerts when conditions are favorable:

`python

import requests

import time

API_KEY = "aik_pro_your_key_here"

BASE_URL = "https://api.aioka.io"

headers = {"X-API-Key": API_KEY}

def check_conditions():

# Get latest verdict

verdict_resp = requests.get(

f"{BASE_URL}/v1/verdict/latest",

headers=headers

).json()

# Get current regime

regime_resp = requests.get(

f"{BASE_URL}/v1/regime/current",

headers=headers

).json()

ruling = verdict_resp.get("council_ruling")

confidence = verdict_resp.get("council_confidence", 0)

consensus = verdict_resp.get("council_consensus")

council_mode = verdict_resp.get("council_mode")

regime = regime_resp.get("regime")

# Check AIOKA's entry conditions

conditions = {

"bullish_verdict": ruling in ["BUY", "ACCUMULATE"],

"high_confidence": confidence >= 0.75,

"strong_consensus": consensus in ["STRONG", "MODERATE"],

"full_council": council_mode == "council",

"good_regime": regime in ["WHALE_ACCUMULATION", "ACCUMULATION", "BULL_MARKET"]

}

conditions_met = sum(conditions.values())

print(f"Verdict: {ruling} ({confidence*100:.0f}%)")

print(f"Regime: {regime}")

print(f"Conditions met: {conditions_met}/5")

if conditions_met >= 4:

print("HIGH CONVICTION SETUP — all conditions favorable")

elif conditions_met >= 3:

print("MODERATE SETUP — conditions mostly favorable")

else:

print("WAITING — conditions not yet aligned")

# Check every 5 minutes

while True:

check_conditions()

time.sleep(300)

`

Backtesting With Historical Data

Pro tier subscribers can access 90 days of verdict history for backtesting:

`python

import requests

import pandas as pd

API_KEY = "aik_pro_your_key_here"

headers = {"X-API-Key": API_KEY}

# Get verdict history

history = requests.get(

"https://api.aioka.io/v1/verdict/history",

headers=headers,

params={"days": 90}

).json()

df = pd.DataFrame(history["verdicts"])

df["timestamp"] = pd.to_datetime(df["timestamp"])

df["is_bullish"] = df["council_ruling"].isin(["BUY", "ACCUMULATE", "STRONG_BUY"])

# Analyze: what happened to BTC price after bullish signals?

bullish_signals = df[df["is_bullish"]]

print(f"Total bullish signals in 90 days: {len(bullish_signals)}")

print(f"Average confidence: {bullish_signals['council_confidence'].mean():.2%}")

`

council_mode: The Safety Check You Must Implement

Always check council_mode before acting on a verdict. When the value is "judiciary", the verdict was produced by the rule-based fallback system during an Anthropic API outage — not the full 6-agent council.

Fallback verdicts have materially lower reliability (~47% confidence vs ~76% for full council). AIOKA's Ghost Trader will not trade on them. Your application should handle this case:

`python

verdict = requests.get(

"https://api.aioka.io/v1/verdict/latest",

headers=headers

).json()

if verdict.get("council_mode") == "judiciary":

print("Council in fallback mode — skipping signal")

else:

# Process full council verdict

process_signal(verdict)

`

Getting Started

1.

[Get your free API key →](https://aioka.io) — 10 calls/day, no credit card

2.

[Read the full API docs →](https://docs.aioka.io) — Complete endpoint reference

3.

Upgrade to Basic or Pro for higher rate limits, signal history, and Ghost Trader access

The AIOKA API is designed for developers who want institutional-grade crypto intelligence without building the intelligence layer themselves.

Start building →

Continue Reading