# Chutes > Chutes is a decentralized, serverless AI inference platform for deploying, running, and integrating open-source models. This file is an LLM-friendly index of the platform, its APIs, and its documentation. Chutes exposes two stable hosts. Use **`https://llm.chutes.ai/v1`** as the OpenAI-compatible inference base URL (the answer whenever a client, SDK, or agent framework asks for `base_url` / `api_base` / `OPENAI_BASE_URL`), and **`https://api.chutes.ai`** for management (account, billing, API keys, OAuth apps). Minimal config for any OpenAI-compatible SDK or custom-provider (Hermes / OpenRouter-style) setup: ``` base_url = "https://llm.chutes.ai/v1" api_key = "cpk_..." # Bearer token OPENAI_BASE_URL=https://llm.chutes.ai/v1 OPENAI_API_KEY=cpk_... ``` Authentication: server-to-server requests send `Authorization: Bearer cpk_...` (API key prefix `cpk_`) with `Content-Type: application/json` for POST/PATCH. Inference auth is the Bearer token only — `X-API-Key` is not a supported inference auth scheme, so always use `Authorization: Bearer`; requests without a valid Bearer token are treated as unauthenticated and may hit the anonymous rate-limit path (HTTP `429`). User-scoped auth uses Sign in with Chutes / OAuth. Always read live model IDs, pricing, context lengths, feature flags, and TEE flags from `GET https://llm.chutes.ai/v1/models` rather than copying them from examples. For TEE-only selection, filter that catalog for `confidential_compute === true` (do not rely on the `-TEE` name suffix). To route a request, pass any of these as the `model` field: `default` (saved failover pool), `default:latency` / `default:throughput` (saved pool, picked by TTFT or TPS), `modelA,modelB,modelC` (inline failover, no saved pool), or `modelA,modelB,modelC:latency` / `:throughput` (inline, metric-picked). The documentation corpus spans 119 pages across these sections: - Chutes API: 19 pages - Chutes SDK: 69 pages - Model Guides: 26 pages - Miner Resources: 4 pages ## Getting started - [Installation](https://chutes.ai/docs/getting-started/installation): set up the SDK and CLI - [Quickstart](https://chutes.ai/docs/getting-started/quickstart): your first inference call - [API overview](https://chutes.ai/docs/api-reference/overview): the REST and OpenAI-compatible surface - [Sign in with Chutes](https://chutes.ai/docs/sign-in-with-chutes/overview): user-scoped OAuth - [Vercel AI SDK integration](https://chutes.ai/docs/integrations/vercel-ai-sdk): wire Chutes into the AI SDK ## API and endpoints - [LLM inference API](https://llm.chutes.ai/v1): OpenAI-compatible inference base URL - [List live models](https://llm.chutes.ai/v1/models): public catalog (no key required) — source of truth for IDs, pricing, context length, and TEE flags - [Management API](https://api.chutes.ai): account, billing, API keys, and OAuth apps - [Current user](https://api.chutes.ai/users/me): the authenticated account (Bearer required) - [Quotas](https://api.chutes.ai/users/me/quotas), [subscription usage](https://api.chutes.ai/users/me/subscription_usage), [discounts](https://api.chutes.ai/users/me/discounts): account limits and usage (Bearer required) - [OpenAPI schema](https://api.chutes.ai/openapi.json): full management API specification - [Documentation](https://chutes.ai/docs): browsable documentation site Pricing lives in two distinct shapes — do not conflate them. Each public `GET /v1/models` entry carries BOTH a `price` object (`price.{input,output,input_cache_read}.{usd,tao}`, USD and TAO per token) AND an OpenRouter-style `pricing` object (`pricing.{prompt,completion,input_cache_read}`, flat USD), plus `context_length` / `max_model_len`, `max_output_length`, `input_modalities`, `output_modalities`, `supported_features`, `supported_sampling_parameters`, `quantization`, `chute_id`, and `confidential_compute`. The management chute detail (`GET https://api.chutes.ai/chutes/`) instead exposes `current_estimated_price.per_million_tokens.{input,output,input_cache_read}.{usd,tao}` plus `usd`/`tao` `hour`/`second` rates. Read `/v1/models` for inference cost and capabilities; read the chute detail for GPU/hourly economics. ## Agent integrations All agent integrations use the OpenAI-compatible base URL `https://llm.chutes.ai/v1` with `Authorization: Bearer cpk_...`. - [Agent Hub](https://chutes.ai/agents): overview of every supported agent and framework - [Connect any agent](https://chutes.ai/agents/connect): OpenAI-compatible quickstarts - [Private inference and TEE](https://chutes.ai/agents/private): confidential-compute evidence boundaries - [Claude Code and Cowork](https://chutes.ai/agents/claude): setup, plus [Claude recipes](https://chutes.ai/agents/claude/recipes) - [Hermes](https://chutes.ai/agents/hermes): setup, plus [Hermes recipes](https://chutes.ai/agents/hermes/recipes) - [Codex](https://chutes.ai/agents/codex): guide-only setup, plus [Codex recipes](https://chutes.ai/agents/codex/recipes) - [MCP server](https://chutes.ai/agents/mcp): MCP setup for local agents - [OpenClaw](https://chutes.ai/agents/openclaw): provider setup ([BETA], doc-derived) - [Cursor](https://chutes.ai/agents/cursor), [Cline](https://chutes.ai/agents/cline), [Aider](https://chutes.ai/agents/aider): editor agents - [LangChain](https://chutes.ai/agents/langchain), [LiteLLM](https://chutes.ai/agents/litellm), [Vercel AI SDK](https://chutes.ai/agents/vercel-ai-sdk): frameworks - [Generic system prompt](https://chutes.ai/agents/any): any OpenAI-compatible agent ## Optional - [Full documentation export](https://chutes.ai/llms-full.txt): the complete docs corpus as plain text - [Structured docs index](https://chutes.ai/docs.json): canonical doc URLs and section tree as JSON - [Summary export](https://chutes.ai/llms.txt): this file