API keys
Create, list and revoke keys. Each key has its own requests-per-minute limit and an optional daily RWF spend cap.
Authentication →CircuitNotion developer platform
Create API keys, track usage and fund a prepaid wallet in RWF. Point any OpenAI-compatible client at https://api.circuitnotion.com/v1 and keep the rest of your integration unchanged. The same key works with Anthropic Messages clients such as Claude Code.
https://api.circuitnotion.com/v1Authorization: Bearer cn_…Quickstart
cn_ and is shown once.https://api.circuitnotion.com/v1.curl https://api.circuitnotion.com/v1/chat/completions \
-H "Authorization: Bearer $CIRCUITNOTION_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "circuit-2-turbo",
"messages": [{"role": "user", "content": "Hello!"}]
}'import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.circuitnotion.com/v1",
api_key=os.environ["CIRCUITNOTION_API_KEY"],
)
response = client.chat.completions.create(
model="circuit-2-turbo",
messages=[{"role": "user", "content": "Hello!"}],
)
print(response.choices[0].message.content)In the workspace
Create, list and revoke keys. Each key has its own requests-per-minute limit and an optional daily RWF spend cap.
Authentication →Fund a wallet and pay per request. Each generation reserves its estimated maximum cost, then settles on the tokens it actually used.
Billing and limits →See the live model catalogue and per-model rates, or query GET /v1/models from your own code.
Models →OpenAI-compatible chat completions, responses, image generation and embeddings, with server-sent-event streaming.
Chat completions →Request JSON that matches a schema, and let models call your functions with OpenAI-style tool calling.
Function calling →Claude Code, Cline, Roo Code and other terminal agents run on the same key and wallet, over the OpenAI or Anthropic Messages protocol.
Coding agents →