agentrose

Docs

one key, every model_
OpenAI-compatible.

Get a key

Quickstart

01

Make a key on the Account page, add balance with CREDIT, then call the API like OpenAI. Only the base URL and key change.

curl
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"}]}'
python
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)
node
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

02

Sign 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

03

Use a full id from the list, or a short name that always points at that family’s current model.

GET /v1/models
curl https://agentrose.net/v1/models
Short nameFamily
claudeAnthropic Claude
gptOpenAI GPT
geminiGoogle Gemini
grokxAI Grok
deepseekDeepSeek
roseRose, our house model (powered by DeepSeek)

Prices per 1M tokens for every model are on the Models page.

Chat completions

04

POST /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

05

Each 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

06
GET /v1/balance
curl https://agentrose.net/v1/balance -H "Authorization: Bearer $AGENTROSE_KEY"

{ "balances": { "general": 9.87 }, "spent_today_on_key": 0.13 }

Errors

07
StatusMeans
401Missing or wrong key.
402Balance too low for this call, or the key hit its daily cap. Top up on the market.
429Rate limit: 120 requests a minute per key, 8 calls at once per wallet.
502 / 503The provider failed or is being topped up. Retry shortly.

Setup prompt

08

Building 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

09

1 CREDIT = $1 of AI. It is a token on Robinhood Chain, paid in ETH.

StepWhereWhat happens
Buy/marketNew CREDIT at $0.60 per $1 ($0.50 with 10,000 $ROSE staked), or cheaper resold CREDIT from the order book.
Activate/marketFree. Burns CREDIT into your API balance; tick “activate” to do it in the same transaction as the buy.
Sell/marketList 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.