Docs
one key, every model_
OpenAI-compatible.
Quickstart
01Make a key on the Account page, add balance with CREDIT, then call the API like OpenAI. Only the base URL and key change.
curl https://agentrose.net/v1/chat/completions \
-H "Authorization: Bearer $AGENTROSE_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"claude","messages":[{"role":"user","content":"hi"}]}'import os
from openai import OpenAI
client = OpenAI(base_url="https://agentrose.net/v1", api_key=os.environ["AGENTROSE_KEY"])
r = client.chat.completions.create(model="claude", messages=[{"role": "user", "content": "hi"}])
print(r.choices[0].message.content)import OpenAI from 'openai'
const client = new OpenAI({ baseURL: 'https://agentrose.net/v1', apiKey: process.env.AGENTROSE_KEY })
const r = await client.chat.completions.create({ model: 'claude', messages: [{ role: 'user', content: 'hi' }] })
console.log(r.choices[0].message.content)Keys
02Sign in with your wallet on the Account page and create a key. It is shown once; keep it out of code and git. Send it as a bearer token:
Authorization: Bearer sk-rose-…
Every key spends the balance of the wallet that made it. You can give a key a daily spend cap and revoke it any time.
Models
03Use a full id from the list, or a short name that always points at that family’s current model.
curl https://agentrose.net/v1/models
| Short name | Family |
|---|---|
| claude | Anthropic Claude |
| gpt | OpenAI GPT |
| gemini | Google Gemini |
| grok | xAI Grok |
| deepseek | DeepSeek |
| rose | Rose, our house model (powered by DeepSeek) |
Prices per 1M tokens for every model are on the Models page.
Chat completions
04POST /v1/chat/completions takes the OpenAI request body: model, messages, max_tokens, temperature, tools, stream and the rest are passed through.
With stream: true you get server-sent events as usual; the cost arrives in one extra chunk just before [DONE].
Cost per call
05Each response carries an agentrose block with what the call cost and what is left:
"agentrose": {
"used_model": "anthropic/claude-sonnet-5.5",
"cost_usd": 0.000412,
"saved_usd": 0,
"balance_left": 9.87
}Calls are billed at list price from your balance. The discount comes when you buy that balance: $1 of it costs $0.60 in CREDIT.
Balance
06curl https://agentrose.net/v1/balance -H "Authorization: Bearer $AGENTROSE_KEY"
{ "balances": { "general": 9.87 }, "spent_today_on_key": 0.13 }Errors
07| Status | Means |
|---|---|
| 401 | Missing or wrong key. |
| 402 | Balance too low for this call, or the key hit its daily cap. Top up on the market. |
| 429 | Rate limit: 120 requests a minute per key, 8 calls at once per wallet. |
| 502 / 503 | The provider failed or is being topped up. Retry shortly. |
Setup prompt
08Building with Claude Code, Codex or another coding agent? Copy the setup prompt and paste it in. It tells the agent where your project calls an LLM, to switch the base URL and key, and to send one test call.
Paying with CREDIT
091 CREDIT = $1 of AI. It is a token on Robinhood Chain, paid in ETH.
| Step | Where | What happens |
|---|---|---|
| Buy | /market | New CREDIT at $0.60 per $1 ($0.50 with 10,000 $ROSE staked), or cheaper resold CREDIT from the order book. |
| Activate | /market | Free. Burns CREDIT into your API balance; tick “activate” to do it in the same transaction as the buy. |
| Sell | /market | List CREDIT you don’t need at 0–90% off. 2% fee when it fills. |
Contract addresses and how the money splits are on the Protocol page.