Setup
Usage
Custom OpenAI-compatible APIs
The same approach works for any OpenAI-compatible API:If the SDK does not recognize a client type, it returns the client unwrapped with a warning. LLM calls will still work but won’t be traced.
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Trace OpenRouter LLM calls with Cascade
from cascade import init_tracing, wrap_llm_client
from openai import OpenAI
init_tracing(project="my_agent")
client = wrap_llm_client(OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key="sk-or-...",
))
response = client.chat.completions.create(
model="anthropic/claude-sonnet-4-20250514",
messages=[{"role": "user", "content": "Hello!"}],
)
# Automatically traced!
from cascade import wrap_llm_client
from openai import OpenAI
client = wrap_llm_client(OpenAI(
base_url="https://my-custom-api.com/v1",
api_key="...",
))