Bloom Intelligence API
Overview
The Bloom Intelligence API gives partners read-only access to Bloom's on-chain intelligence for Base: Oracle (token recommendation), Security (token risk), and Copilot (analyst reasoning). Everything is read-only — no signing, swaps, or fund movement. Base URL: https://www.bloomterminal.io. OpenAPI spec: /openapi/bloom-intelligence-v1.json.
Authentication
Send your API key as a bearer token (the x-api-key header is also accepted). Keys look like bloom_pk_live_<id>.<secret> and are secrets — use them server-side.
Authorization: Bearer bloom_pk_live_<id>.<secret>
Scopes
Each key is granted one or more scopes; a request needs the scope matching its endpoint.
oracle → POST /api/partner/v1/oracle security → POST /api/partner/v1/security copilot → POST /api/partner/v1/copilot
Response envelope
Every endpoint returns the same envelope:
{
"ok": true,
"requestId": "uuid",
"data": { /* endpoint payload */ },
"usage": { "model": "anthropic", "rateLimit": { "limit": 60, "remaining": 59, "resetAt": 1700000000000 } },
"latencyMs": 842
}Rate limits
Limits are per API key: a per-minute rate limit and an optional daily quota. Responses include X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset; exceeding a limit returns 429 with Retry-After.
Endpoints & examples (cURL)
Oracle — recommendation (BUY/WATCH/REJECT), confidence, conviction, risk, forecast, reasoning.
curl -X POST https://www.bloomterminal.io/api/partner/v1/oracle \
-H "authorization: Bearer $BLOOM_API_KEY" \
-H "content-type: application/json" \
-d '{"token":"0x4200000000000000000000000000000000000006"}'Security — securityScore (0–100, higher = safer), riskLevel, holderConcentration, checks, summary.
curl -X POST https://www.bloomterminal.io/api/partner/v1/security \
-H "authorization: Bearer $BLOOM_API_KEY" \
-H "content-type: application/json" \
-d '{"token":"0x...","summary":true}'Copilot — analyst reasoning; select the model.
curl -X POST https://www.bloomterminal.io/api/partner/v1/copilot \
-H "authorization: Bearer $BLOOM_API_KEY" \
-H "content-type: application/json" \
-d '{"query":"Summarize risk for this token","model":"anthropic"}'Model selection
Copilot accepts model: mimo (Fast Reasoning) or anthropic (Claude Fable 5 · Deep Reasoning). If a model is unavailable, the request falls back gracefully through the provider chain; the model actually used is reported in usage.model.
TypeScript SDK
Package: @bloom/intelligence — client.oracle.analyze(), client.security.assess(), client.copilot.ask().
import { createClient } from "@bloom/intelligence";
const bloom = createClient({ apiKey: process.env.BLOOM_API_KEY! });
const oracle = await bloom.oracle.analyze({ token: "0x..." });
const sec = await bloom.security.assess({ token: "0x..." });
const answer = await bloom.copilot.ask({ query: "Risk?", model: "anthropic" });In the browser, use a publishable, origin-restricted key — never embed a privileged secret key in client code. Embeddable card widgets are also available (Oracle / Security / Copilot).
Error codes
Plans & access tiers
Rate limit: 10/min
Models: deterministic
Support: No guaranteed support (community).
Rate limit: 60/min
Models: deterministic, mimo
Support: Priority support.
Rate limit: 600/min
Models: deterministic, mimo, anthropic
Support: Dedicated support · SLA / white-label options.
Plans are display/CTA only — payment processing is not yet enabled. Manage your key and usage at /partner.
Contact
Bloom Intelligence is read-only and provides signals/analysis only. Not financial advice; no guaranteed outcome.
