Skip to main content
One endpoint. Stateless. Ask anything in plain English, get back trade-ready analysis. No sessions to manage, no state to track.
POST /v1/chat
Rate limit: 60 requests per minute. Set your HTTP client timeout to at least 600 seconds. See Auth & Basics for full details.

Get a Trade Setup

Ask The Brain for a trade and get back entry, stop-loss, and targets you can feed straight into your execution logic.
import requests, json

response = requests.post(
    "https://api.gigabrain.gg/v1/chat",
    headers={"Authorization": "Bearer gb_sk_..."},
    json={
        "message": "Should I long or short ETH right now? Check technicals, funding rates, and macro. Respond as JSON with: direction, entry_price, stop_loss, take_profit_1, take_profit_2, risk_reward_ratio, confidence, reasoning"
    },
    timeout=600
)

setup = json.loads(response.json()["content"])
print(f"{setup['direction']} ETH @ {setup['entry_price']}")
print(f"Stop: {setup['stop_loss']} | TP1: {setup['take_profit_1']} | TP2: {setup['take_profit_2']}")
print(f"R:R {setup['risk_reward_ratio']} | Confidence: {setup['confidence']}/10")
The response comes back in the content field (not message). Add “Respond as JSON with:” to any query and specify the fields you want - the content field will contain parseable JSON instead of markdown.

Find Squeeze Setups

Scan for tokens where positioning is extreme and a liquidation cascade could trigger a move.
response = requests.post(
    "https://api.gigabrain.gg/v1/chat",
    headers={"Authorization": "Bearer gb_sk_..."},
    json={
        "message": "Find tokens with extreme funding rates and crowded positioning that could squeeze. Respond as JSON array with: symbol, funding_rate, open_interest, long_short_ratio, squeeze_direction, liquidation_risk, catalyst"
    },
    timeout=600
)

squeezes = json.loads(response.json()["content"])
for s in squeezes:
    print(f"{s['symbol']}: {s['squeeze_direction']} squeeze, funding {s['funding_rate']}")

Screen for Macro Risk

Check if macro conditions support risk-on or if you should be reducing exposure.
response = requests.post(
    "https://api.gigabrain.gg/v1/chat",
    headers={"Authorization": "Bearer gb_sk_..."},
    json={
        "message": "What's the current macro risk regime for crypto? Factor in DXY, yields, VIX, and equities. Respond as JSON with: risk_regime, dxy_trend, vix_level, yield_curve_signal, equity_correlation, recommended_exposure, reasoning"
    },
    timeout=600
)

macro = json.loads(response.json()["content"])
print(f"Regime: {macro['risk_regime']} | Exposure: {macro['recommended_exposure']}")

Spot Early Narratives

Find narratives gaining momentum before they go mainstream.
response = requests.post(
    "https://api.gigabrain.gg/v1/chat",
    headers={"Authorization": "Bearer gb_sk_..."},
    json={
        "message": "What crypto narratives are gaining momentum right now? Rank by strength. Respond as JSON array with: narrative, momentum_score, top_tokens, sentiment, key_catalyst, risk_level"
    },
    timeout=600
)

narratives = json.loads(response.json()["content"])
for n in narratives[:5]:
    print(f"{n['narrative']} (momentum: {n['momentum_score']}/100) - {', '.join(n['top_tokens'])}")

SuperAgents API

Want always-on agents instead? Launch, manage, and chat with autonomous trading agents programmatically.
Gigabrain provides market intelligence tools, not financial advice. Always do your own research before trading. See the Risk Disclosure.