Build with Chikoh
Fantasy sports intelligence, entertainment predictions, and real-time analytics for your AI agents, bots, and applications. REST API, MCP, OpenAPI — pick your protocol.
Choose Your Protocol
Three ways to integrate. All give you access to the same intelligence layer.
MCP (Model Context Protocol)
The gold standard for AI agent integration. 78 tools with full type safety, session management, and interactive UI cards.
Endpoints
/mcp— Streamable HTTP (preferred, MCP 2025-03-26 spec)/sse— Legacy SSE transportstdio— Local dev via Cursor/WindsurfQuick Start
// Connect via Streamable HTTP
const response = await fetch("https://chikoh.com/mcp", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer chk_agent_your_key_here"
},
body: JSON.stringify({
jsonrpc: "2.0",
method: "initialize",
params: {
protocolVersion: "2025-03-26",
capabilities: {},
clientInfo: { name: "my-agent", version: "1.0" }
},
id: 1
})
});OpenAPI / REST
Standard REST API with OpenAPI 3.1 spec. Works with ChatGPT GPT Actions, Gemini Extensions, and any HTTP client.
Endpoints
/.well-known/openapi— Full OpenAPI 3.1 spec (32 tools)/.well-known/openapi?client=chatgpt— ChatGPT-optimized (30 ops)/.well-known/gemini-extension.json— Gemini extension manifestQuick Start
// Fetch the OpenAPI spec
const spec = await fetch(
"https://chikoh.com/.well-known/openapi"
).then(r => r.json());
// Call a tool via REST
const outlook = await fetch(
"https://chikoh.com/api/v1/mcp/player-outlook", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer chk_agent_your_key_here"
},
body: JSON.stringify({
player_name: "Patrick Mahomes",
context: { scoring_format: "ppr", sport: "nfl" }
})
});Agent-to-Agent (A2A)
Machine-to-machine discovery and communication. Google A2A Agent Card, PX-402 commerce protocol, and agent.txt.
Endpoints
/.well-known/agent-card— A2A Agent Card (capabilities, skills, auth)/.well-known/ai-subscribe— PX-402 subscription catalog/.well-known/agent.txt— Agent discovery (like robots.txt for AI)/.well-known/ai-plugin.json— ChatGPT plugin manifestQuick Start
// Discover Chikoh's agent capabilities
const agentCard = await fetch(
"https://chikoh.com/.well-known/agent-card"
).then(r => r.json());
// Check subscription tiers
const catalog = await fetch(
"https://chikoh.com/.well-known/ai-subscribe"
).then(r => r.json());
// Agent self-registration
const reg = await fetch(
"https://chikoh.com/api/v1/agent/register", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
agent_name: "my-fantasy-bot",
contact_email: "[email protected]"
})
});RapidAPI Marketplace
Try 18 free tools instantly on RapidAPI — no account required. Upgrade to native Chikoh for AI-powered intelligence.
Chikoh on RapidAPI
FREE TIER18 billboard tools — player projections, draft rankings, trade values, waiver trends, injury reports, entertainment, and identity resolution. All formula/template-based with <200ms latency.
Free Tools (18)
Player Intel: outlook, compare, performance, devils advocate, roster analysis, trade value
Market Intel: draft rankings, waivers, buy/sell, breakouts, injuries
Entertainment: trade messages, press conference, roast, genre recap
Utility: sport primer, resolve player, batch resolve
Upgrade Path
Hit a gated tool on RapidAPI? You get a 402 response with:
- Browser checkout URL
- Machine-readable subscription catalog
- Agent self-registration endpoint
Paid tiers unlock AI-powered analysis via native Chikoh subscription.
// RapidAPI — call any free tool
const response = await fetch(
"https://chikoh.com/api/rapidapi/get_player_outlook", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-RapidAPI-Key": "your_rapidapi_key",
"X-RapidAPI-Host": "chikoh-fantasy-sports.p.rapidapi.com"
},
body: JSON.stringify({
player_name: "Ja'Marr Chase",
scoring_format: "ppr",
sport: "nfl"
})
});Connect Your Client
Copy-paste configs for popular AI clients. All use MCP Streamable HTTP. Use your chk_user_* key from Settings → API Keys or a chk_agent_* developer key.
Cursor / Windsurf
// .cursor/mcp.json (or .windsurf/mcp.json)
{
"mcpServers": {
"chikoh": {
"url": "https://chikoh.com/mcp",
"headers": {
"Authorization": "Bearer chk_agent_YOUR_KEY"
}
}
}
}Python (httpx)
import httpx
resp = httpx.post(
"https://chikoh.com/api/v1/tools/get_player_outlook",
headers={"Authorization": "Bearer chk_agent_YOUR_KEY"},
json={
"player_name": "Patrick Mahomes",
"scoring_format": "ppr",
"sport": "nfl"
}
)
print(resp.json())curl
curl -X POST https://chikoh.com/api/v1/tools/get_player_outlook \
-H "Content-Type: application/json" \
-H "Authorization: Bearer chk_agent_YOUR_KEY" \
-d '{
"player_name": "Patrick Mahomes",
"scoring_format": "ppr",
"sport": "nfl"
}'OpenClaw Integration
Connect Chikoh as an AgentSkill in your self-hosted OpenClaw instance. Your agents get access to 76 fantasy sports and entertainment intelligence tools.
Subscribe to Chikoh
Pick any tier at chikoh.com/choose-plan. Even the free Bleachers tier works (5 queries/week).
Generate an API Key
Go to Settings → API Keys in your Chikoh dashboard. Create a key and copy it.
Add to OpenClaw Config
Drop the skill manifest into your OpenClaw skills directory, or paste the config below.
Ask Your Agents Anything
"Who should I start this week?" — your agents now have full Chikoh intelligence.
OpenClaw Skills Config
{
"skills": {
"chikoh": {
"type": "mcp",
"url": "https://chikoh.com/mcp",
"auth": {
"type": "bearer",
"token": "${CHIKOH_API_KEY}"
}
}
}
}Set CHIKOH_API_KEY in your environment, or paste the key directly. Download the full skill manifest at /openclaw-skill.json
Which API key do I need?
Personal Key (chk_user_*)
For connecting your own Chikoh account to tools. Included with any subscription. Get it from Settings → API Keys.
Developer Key (chk_agent_*)
For building apps that serve other users. $29+/mo with metered billing. Register at /developers/get-api-key
Set Up as a ChatGPT GPT Action
Turn Chikoh into a custom GPT in ChatGPT. Your users get fantasy intelligence directly in chat.
ChatGPT Custom GPT
30 TOOLSCreate a new GPT
Go to chat.openai.com → Explore GPTs → Create. Name it "Chikoh Fantasy Sports".
Add Actions → Import URL
In the Configure tab, click "Create new action". Under "Import from URL", paste:
Set Authentication
Select "OAuth" as the auth type. Configure with:
Set the Instructions
Paste this system prompt in the GPT Instructions field:
Publish
Save and publish. ChatGPT will auto-discover all 30 tools from the OpenAPI spec.
Step 2: Import URL
https://chikoh.com/.well-known/openapi?client=chatgpt
Trimmed to 30 operations (ChatGPT's limit). Priority tools: player outlook, injury report, show predictions, Kalshi markets.
Step 3: OAuth Configuration
Authorization URL: https://chikoh.com/api/v1/oauth/authorize Token URL: https://chikoh.com/api/v1/oauth/token Scope: read Client ID: (from Chikoh developer dashboard) Client Secret: (from Chikoh developer dashboard)
Step 4: System Prompt
You are Chikoh, an AI fantasy sports co-manager. Use tools for player outlook, injury report, comparisons, waiver trends, trade value, draft rankings, show predictions, and entertainment. Call tools with inferred sport/league defaults — never ask for context first. Default sport: NFL. Default scoring: PPR.
Set Up as a Gemini Extension
Connect Chikoh to Gemini, Google AI Mode, Gems, or Vertex AI Agent Builder.
Gemini Gems
Open gemini.google.com → Gem Manager → New Gem
Add extension → Import from URL → paste manifest URL below
Set auth to API Key, paste your chk_agent_* key
Add instructions: "You are Chikoh, a fantasy sports co-manager..."
Save. Gemini auto-discovers all tools from the spec.
Manifest URL
https://chikoh.com/.well-known/gemini-extension.json
Auth Config
Type: API Key Header: Authorization Value: Bearer chk_agent_YOUR_KEY
Vertex AI Agent Builder
Go to Vertex AI console → Agent Builder → Create Agent
Add Tool → OpenAPI → paste the Gemini-optimized spec URL below
Configure auth: API Key in Authorization header
Set agent instructions and deploy
Tools are auto-mapped from the OpenAPI spec
OpenAPI Spec URL
https://chikoh.com/.well-known/openapi?client=gemini
OAuth Alternative
Auth URL: https://chikoh.com/api/v1/oauth/authorize Token URL: https://chikoh.com/api/v1/oauth/token Scopes: read, syndicate
Authentication
Three auth methods. Anonymous access is free — no signup required.
Agent API Key
Best for bots and automated agents. Register to get a key prefixed with chk_agent_*.
Authorization: Bearer chk_agent_...OAuth 2.1
Best for user-facing applications. Standard OAuth flow with PKCE support. Access tokens last 30 days (plus a 7-day grace window); when a token expires or is invalid, the server replies 401 with a WWW-Authenticate header — re-run the OAuth flow to reconnect. Compliant clients handle this automatically.
Authorization: Bearer <oauth_token>Anonymous (Free Tier)
No auth needed for basic access. 10 calls per hour, limited tool set.
No header requiredRegister your agent to get an API key:
POST https://chikoh.com/api/v1/agent/register
Content-Type: application/json
{
"agent_name": "my-fantasy-bot",
"contact_email": "[email protected]"
}
// Response: { "api_key": "chk_agent_...", "tier": "bleachers" }Commerce Protocols
Three agentic commerce standards — subscribe or pay in-chat on ChatGPT, Gemini, or any agent.
ACP (Agentic Commerce Protocol)
Standard by: OpenAI + Stripe
Enables ChatGPT users to subscribe to Chikoh directly in-chat.
Endpoints: /api/acp/checkout_sessions, /api/acp/products, /.well-known/acp.json
Payment: Stripe Shared Payment Token
agenticcommerce.dev →UCP (Universal Commerce Protocol)
Standard by: Google (with Shopify, Walmart, Visa, Mastercard, Stripe, etc.)
Enables Gemini/AI Mode users to purchase Chikoh subscriptions natively.
Discovery: /.well-known/ucp
Endpoints: /ucp/v1/checkout-sessions/*
Payment: Stripe + PayPal via UCP payment handlers
ucp.dev →PX-402 (Open Source)
Created by: Chikoh
Agent-discoverable API monetization. When agents hit rate limits, they get a 402 response with upgrade options and checkout URLs.
Discovery: /.well-known/ai-subscribe
NPM: px-402 · License: Apache 2.0
Fills the gap ACP and UCP don't cover — subscription-based API access for AI agents.
github.com/chikoh/px-402 →Manual Import Acceptance
Convert staged bookmarklet and URL-sync imports into canonical leagues. Two endpoints: accept to convert, reject to discard.
POST /api/import/accept
Convert staged import data to canonical leagues, teams, rosters
Request
{
"imported_data_id": "uuid",
"overrides": { /* optional */ }
}Response (200 OK)
{
"ok": true,
"league_id": "uuid",
"summary": {
"teams_created": 12,
"rosters_created": 12,
"matchups_created": 0
}
}Auth
Requires authenticated user (cookie or Authorization header). RLS enforces user_id match.
POST /api/import/reject
Soft-delete staged import (preserved for audit, cleaned after 90 days)
Request
{
"imported_data_id": "uuid",
"reason": "optional explanation"
}Response (200 OK)
{
"ok": true,
"message": "Import rejected..."
}Behavior
Sets deleted_at timestamp. Hard-deleted after 90 days. Provenance retained.
Flow: Bookmarklet/URL sync → imported_data staging →/api/import/accept → Canonical leagues/teams/rosters withimport_source provenance marker
78 Tools Across 13 Categories
Every tool works across all 10 supported sports. Data availability varies by season.
| Category | Tools | Examples |
|---|---|---|
| Player Intel | 6 | outlook, compare, performance, trends, injury, matchup |
| Market Intel | 5 | draft rankings, waiver, trade value, roster optimizer, league analysis |
| Entertainment (TV) | 12 | shows, kalshi + polymarket, awards, buzz, contestants, elimination, edit analysis |
| Entertainment (Fun) | 5 | trade messages, press conference, roast, genre recap, sport primer |
| Strategic | 1 | ask_chikoh — natural language meta-router |
| Syndicate | 9 | war room, backtest, portfolio, ledger, CRUD |
| Commerce | 6 | register, subscribe, status, credits, buy, feedback |
| Gambling | 5 | line movement, parlays, props, survivor, DFS (whitelist-gated) |
| Special | 4 | simulation, roster insight, identity conflicts, resolve conflict |
| My Teams | 10 | my leagues, roster, matchup, start/sit, trade targets, waivers, weekly brief, standings, trade history, season outlook |
| Draft Intel | 6 | draft board, draft pick, draft strategy, auction values, dynasty rankings, FPL squad builder |
| Agent Tools | 9 | advanced analysis, game day intel, Monte Carlo, DFS optimizer, survivor picks + pools (create/join/pick/settle), pick'em, sharp money, player deep dive |
| Intelligence & Analytics | 3 | accuracy report, signal report, projection weights (Field Level+) |
| Total | 78 | All available via MCP, REST, and A2A |
Rate Limits & Pricing Tiers
Free anonymous access for evaluation. Upgrade for production usage.
| Tier | Price | Rate Limit | Tools | Auth |
|---|---|---|---|---|
| Anonymous | Free | 10/hour | All free tools | None |
| Bleachers | Free | 5/week/sport | All free tools | OAuth |
| Essentials | $6.99/mo | 25/week/sport | All tools | OAuth or API Key |
| Field Level | $8.99/mo | 50/week/sport | All tools | OAuth or API Key |
| Owner's Suite | $11.99/mo | Unlimited | All tools | OAuth or API Key |
| Front Office | $14.99/mo | Unlimited | All + commissioner | OAuth or API Key |
| Syndicate | $49.99/mo | Unlimited + priority | All + syndicate + data API | OAuth or API Key |
All prices are monthly. Annual and 6-month billing available at checkout with up to 33% savings (billed as a single charge).
Tickets available for premium operations: Simulations (3 tickets), War Room (5 tickets). View full pricing
AI Context Enrichment
Chat responses are enriched with canonical real-time context before the model sees them — weather, odds, advanced stats, coaching tendencies, prediction-market blends, injury detail, and DataGolf fields. Pure composition over existing services; no new API keys, no feature flag. Per-tier input token budget is the only throttle.
Enrichment Blocks
Composed per request based on sport + intent. Failures degrade to empty — never blocks chat.
- weather — NFL game weather, F1 session weather
- odds — sportsbook lines + best-price shopping whitelist
- line-movement — NFL open→current deltas, steam whitelist
- advanced-stats — target share, snap %, YPRR, EPA, xFP (intent-scoped)
- coaching — NFL staff, PROE, pace, archetypes, scenario tendencies
- prediction-market — blended model/book/Kalshi/Polymarket probabilities
- injury-detail — per-sport injury tables (status, body part, practice, notes)
- datagolf — SG:T/APP/PUTT, course fit, form, model edges (Golf only)
Per-Tier Input Token Budget
Budget = 0 short-circuits the dispatcher before any DB or service call. Bleachers (free) pays zero enrichment cost.
| Tier | Enrichment Budget |
|---|---|
| Bleachers | 0 tokens (off) |
| Essentials | 500 tokens |
| Field Level | 1,500 tokens |
| Owner's Suite | 4,000 tokens |
| Front Office | 4,000 tokens |
| Syndicate | 4,000 tokens |
| Agent Developer | 4,000 tokens |
Syndicate's differentiator is synthesis + model routing — not input budget.
Semantics
- No feature flag. Enrichment is always on. The
ENRICHMENT_BUDGETS_BY_TIERconstant inconfig/CENTRAL_FUCKING_CONFIG.tsis the only throttle. - Policy gating. Blocks flagged whitelist are filtered out for users without
sports_whitelist. Entertainment prediction markets stay public. - Intent-aware. The dispatcher derives intent (lineup / trade / waiver / draft / prediction-market / general) from page context and sport, then greedy-fits blocks into the token budget by priority.
- Canonical-only. All reads go through canonical tables (
player_universe,universal_teams) and existing services. Noimported_datareads; no fabricated values. - Never blocks chat. Every enricher is wrapped in try/catch. Failures return an empty block with a reason code and the chat continues without that context.
- Anonymized telemetry. Each enrichment run emits one structured event to
feature_telemetryrecording tier, intent, budget, tokens spent, per-block outcomes, and dropped blocks. No prompt text, no player names, no league content is logged. Telemetry failures are swallowed — they never affect the chat response.
Agent Developer Pricing
Building a bot or agent? Pay per call with split pricing — data calls are near-free, intelligence calls include LLM compute.
Data Calls
$0.0005
per call
Player outlook, draft rankings, trade values, waiver trends, injury reports, identity resolution
DB + formula. No LLM. <200ms.
Intelligence Calls
$0.02
per call
ask_chikoh, roster insight, simulations, show predictions, awards predictions
LLM-backed. 91 agents. 1-5s.
Spend Cap
$20
monthly default
Auto-reload with configurable monthly cap. Full audit trail with IP, user-agent, timestamps.
Adjustable. No surprise bills.
Discovery & Protocol Endpoints
Machine-readable endpoints for agent discovery, commerce, and capability negotiation.
| Protocol | Endpoint | Status | Purpose |
|---|---|---|---|
| MCP Streamable HTTP | POST /mcp | Live | Primary MCP transport (2025-03-26 spec) |
| MCP Legacy SSE | GET /sse | Live | Backward-compatible SSE transport |
| A2A Agent Card | GET /.well-known/agent-card | Live | Agent capabilities, skills, auth |
| ACP Discovery | GET /.well-known/acp.json | Live | ACP discovery — ChatGPT |
| UCP | GET /.well-known/ucp | Live | UCP business profile — Gemini, Google AI Mode |
| PX-402 Catalog | GET /.well-known/ai-subscribe | Live | PX-402 commerce catalog — Any agent |
| OpenAPI | GET /.well-known/openapi | Live | OpenAPI 3.1 spec for GPT Actions / Gemini |
| Agent Discovery | GET /.well-known/agent.txt | Live | Plain-text agent discovery |
| ChatGPT Plugin | GET /.well-known/ai-plugin.json | Live | ChatGPT plugin manifest |
| ACP API | POST /api/acp/checkout_sessions, etc. | Live | ACP checkout, products, webhooks |
| UCP API | POST /ucp/v1/checkout-sessions | Live | UCP checkout sessions, orders, webhooks |
| Intelligence Metrics | GET /api/admin/intelligence-metrics | Live | Admin projection accuracy, signals, weights (admin-only) |
| User Confidence | GET /api/user/confidence | Live | User projection confidence score (Chikoh vs Sleeper) |
| Playbook Execute | POST /api/playbooks/execute | Live | Execute a multi-agent playbook workflow |
| Playbook Templates | GET /api/playbooks/templates | Live | List playbook templates by domain (fantasy, tv, betting) |
| Playbook History | GET /api/playbooks/history | Live | Execution history with artifacts and betting outcomes |
| Custom Playbooks | /api/playbooks/user | Live | CRUD for user-created custom playbooks |
PX-402 Protocol
Unauthenticated agent traffic returns HTTP 402 with a machine-readable subscription catalog. Your agent can programmatically discover tiers, pricing, and upgrade flows.
// HTTP 402 response body
{
"status": 402,
"protocol": "PX-402",
"merchant": "Chikoh",
"catalog_url": "https://chikoh.com/.well-known/ai-subscribe",
"mcp_endpoint": "https://chikoh.com/mcp",
"register": "https://chikoh.com/api/v1/agent/register",
"human_fallback": "https://chikoh.com/choose-plan"
}B2B Headless Fantasy API
Build custom fantasy leagues for any sport on top of Chikoh infrastructure. Bring your own scoring rules, your own data oracle, your own UI.
New B2B Endpoints
| Method | Endpoint | Purpose |
|---|---|---|
| POST | /api/v1/b2b/tenants | Provision tenant + API keys |
| GET | /api/v1/b2b/tenants/me | Tenant info + usage |
| POST | /api/v1/events/ingest | BYOO event ingest |
| POST | /api/v1/leagues | Create league with Game DSL |
| POST | /api/v1/b2b/sandbox/reset | Clear sandbox data |
| POST | /api/v1/b2b/webhooks | Register outbound webhook |
Start Building
Register your agent, get an API key, and make your first call in under a minute.