Dashboard
// Welcome back
Endpoints
Quick start
$KEY with your token above. Model IDs are on the Models page.My tokens
// These tokens are yours only · keep them secret
New token
Token list
| id | Name | Token | On | Usage | Rate limit | Expires | Created | |
|---|---|---|---|---|---|---|---|---|
| Loading… | ||||||||
Models
// Models currently routable
Shows models with at least one active key and not marked unavailable. Reference pricing and context from models.dev(USD / 1M tokens); not necessarily what you pay here.
Available models
| Model ID | Provider | Context | Max output | Ref. price $/1M in/out |
|---|---|---|---|---|
| Loading… | ||||
Model leaderboard
// Compare real usage to pick the right model
Last 7 days of real requests. Latency and avg output use successful calls only; price is what you pay (discount included). Click headers to sort: lower latency = faster, lower price = cheaper.
Model comparison
| Models | Provider | Latency ▲ | Success rate | Price $/1M in/out | Avg output | Calls (7d) |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Docs
// OpenAI / Anthropic compatible · use the same SDKs
API & auth
curl
OpenAI SDK
Anthropic compatible (Claude SDK)
x-api-key: <your token> or Authorization: Bearer <your token>. Use the Base URL above for base_url; model IDs are the same as the OpenAI API.messages + max_tokens (required). Responses include X-KeyPool-Provider / X-KeyPool-Model (the upstream model that answered) / X-KeyPool-Requested-Model / X-KeyPool-Fallback (model may differ after fallback).Model ID
| Model ID | Provider | Context | Max output | Ref. price $/1M in/out |
|---|---|---|---|---|
| Loading… | ||||
POST /v1/chat/completions
baseURL):stream:true SSE):"fallback": false to disable fallback and fail if the model is unavailable.Response headers
| Response headers | Meaning |
|---|---|
| X-KeyPool-Provider | Provider actually used (e.g. gemini) |
| X-KeyPool-Model | Upstream model ID that actually answered (for free or value, the real model, not the alias; may differ after fallback) |
| X-KeyPool-Requested-Model | Model ID the request asked for (e.g. free or value) |
| X-KeyPool-Fallback | Present (1) when a hop or provider after the first choice answered |
Other endpoints
GET /v1/models — lists routable models (active keys, not marked unavailable). When models.dev data is present, each entry includes pricing (prompt / completion / cache_read / cache_write, USD / 1M tokens; see pricing_unit), context_window, max_output, modalities./gemini/v1beta/models/...:generateContent. Auth: Authorization: Bearer <your token>.Error codes
body.error.message:| Status | Meaning / what to do |
|---|---|
| 402 | Insufficient balance — top up and retry |
| 429 | Rate limited / quota — back off and retry |
| 4xx | Client error (params / model id / auth) |
| 5xx | Upstream error — retry later |
Billing
Overview
// Key pool health
Pool status
| Provider | Active | Cooldown | Disable |
|---|---|---|---|
| Loading… | |||
Console access
Devin quota
Bifrost migration
bifrost.rowe.lol is mounted on this Worker (custom-domain route in wrangler.toml). It is served by the same Worker and binds the same D1 store as ai.rowe.lol, so its usage, log and alias counts show up in this console.Key pool
// Import to enable · bad keys auto-disabled
Import keys
gemini openai mistral openrouter deepseek groq moonshot glm qwen deepinfra fireworks cerebras ai21 cohere elevenlabs stability. Duplicates are skipped; bad keys are disabled on first failed use.Status by provider
| Provider | Active | Cooldown | Disable |
|---|---|---|---|
| Loading… | |||
Model availability
/v1/models.Check all keys · one batch
POST /admin/check-all-keys: live probes of up to 48 due keys, with the same revive and disable rules as the health check. To sweep the whole pool, use Key list → Check all.Key list
// Per-key view · probe / balance (OpenRouter)
All keys
| Provider | key | Req / fail | Last error | Probe / balance | Added | Actions |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Bulk rotate · one provider
Users
// Approval workflow · pending users first
User list
| Role | Status | Created | ||
|---|---|---|---|---|
| Loading… | ||||
Token
// Global tokens · including admin-issued
Issue token
Shown once — copy and store it now
Token list
| id | Name | Role | Owner | Usage | RPM | Expires | On | Created | Actions |
|---|---|---|---|---|---|---|---|---|---|
| Loading… | |||||||||
Model manager
// Visibility overrides · value and free are locked
Models
| Model id | Provider | Visible | Source | Reason | Action |
|---|---|---|---|---|---|
| Loading… | |||||
PUT /admin/models/:id/visibility). Clear sends null and returns the model to its rule or default. value and free cannot be hidden.Free order
// Drag to pin the failover order · Save applies it
Pinned order
Alt+↑ / ↓. Pinned hops run first, in this order. Hops that are not pinned follow below in their Terminal-Bench order.Free lineup (daily)
free_lineup_mode is daily, a scheduled job reorders only unpinned hops by Terminal-Bench. The pinned prefix in free_pinned_order is never moved.Value order
// Drag to reorder the value fallback steps · Save applies it
Fallback steps
value alias always tries OpenCode Go first, with the value_model target below. That step is not reorderable.Alt+↑ / ↓. Each step runs only when the steps before it failed.Settings
// Stored in D1 · the server validates every save
Trusted IPv4
· Trusted IPv6 /64 prefixes
· Value model
· Hidden name needles
Chat
// Chat with any model · billed per token
Debug chat
// Chat through one key · no pool · not billed
Usage
// Last 30 days · your traffic
Requests (14 days) OK Failed
By provider
| Provider | Requests | OK | Avg latency | token |
|---|---|---|---|---|
| Loading… | ||||
Recent requests
| Time | Provider | Models | Status | Latency | token | session |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Logs
// Last 30 days · all traffic
Requests (14 days) OK Failed
By provider
| Provider | Requests | OK | Avg latency | token |
|---|---|---|---|---|
| Loading… | ||||
Top users · 30 days
| # | Users | Requests | Success rate | token | Last |
|---|---|---|---|---|---|
| Loading… | |||||
Recent requests Page 1
| Time | Users | Provider | Models | Status | Latency | token | session |
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
Billing
// Balances · top-ups · ledger · pricing
Top up
Balance overview
| sub | Balance USD | ||
|---|---|---|---|
| Loading… | |||
Recent transactions Up to 100 most recent
| Time | Users | Type | Amount USD | Balance USD | Models | token | Note |
|---|---|---|---|---|---|---|---|
| Loading… | |||||||
Model prices
| Models | Input $/Mtok | Output $/Mtok | |
|---|---|---|---|
| Loading… | |||
Balance
// Your balance and ledger
Current balance
Top up
Recent transactions
| Time | Type | Amount USD | Balance USD | Models | token | Note |
|---|---|---|---|---|---|---|
| Loading… | ||||||