> ## Documentation Index
> Fetch the complete documentation index at: https://docs.selfbench.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Credentials

> Which model access and sandboxes each kind runs, and how custom routers are configured.

Workspace admins connect credentials; every run in the workspace uses them. Evaluations need a model credential and a sandbox credential. Claude and Meta sign-ins can't generate tasks, so connect a model API key or a ChatGPT sign-in for generation.

| Kind | Runs |
| - | - |
| ChatGPT sign-in (`--sign-in chatgpt`) | Codex evaluations |
| Claude sign-in (`--sign-in claude`) | Claude Code evaluations |
| Meta sign-in (`--sign-in meta`) | Muse Code evaluations |
| `openai`, `anthropic`, `meta`, `openrouter`, `vercel-ai-gateway`, `dari` | Model API keys: evaluations on any harness the model supports, and generation |
| `custom` (`--endpoint`) | A router or endpoint you name; see below |
| `e2b`, `modal`, `daytona` | Sandboxes for evaluations |
| `vercel` | Generation sandbox only; not selectable for evaluations |

Every model key and sign-in reaches its model through SelfBench's gateway, so the credential never enters the agent's sandbox.

## Custom Routers

Use a **Custom Endpoint** credential with the router's HTTPS base URL, not a method's URL. The hostname must be in the deployment's `SELFBENCH_CUSTOM_MODEL_HOSTS`. Each harness calls the endpoint in its own protocol: Pi uses Chat Completions, Codex uses Responses, and Claude Code uses Messages. Give the base URL without `/v1` for Claude Code, and without `/chat/completions` or `/responses` for any harness.

| Router | Base URL | Model ID | Harnesses |
| - | - | - | - |
| Applied Compute Shift-1 | `https://api.shift.ac/v1` | `shift-1` | Codex, Claude Code. Needs your own OpenAI and Anthropic keys, connected at shift.ac |
| Ramp Router | `https://api.router.com/v1` | a routing model from `/v1/models` | Codex, Claude Code |
| Fireworks Fire Pass | `https://api.fireworks.ai/inference/v1` | a router, such as `accounts/fireworks/routers/kimi-fast-latest` | Pi, Codex, Claude Code. Use your `fpk_…` key |
| Baseten Grid | `https://inference.baseten.co/v1` | a Grid route's name | Pi, plus Codex and Claude Code on routes that serve them. Grid is in preview |
| Baseten Model APIs | `https://inference.baseten.co/v1` | a model slug, such as `zai-org/GLM-5.3` | Pi, Codex, Claude Code |
| Dari | `https://routing.dari.dev/v1`, or `https://routing.dari.dev/<router_id>` | `dari/routing` | Pi, Codex, Claude Code. Use the **Dari** credential, with **Router URL** for another router |

A call is priced from what the router reports. If it reports none, it is priced at the list rate of the model its response names. A call whose model the catalog doesn't price leaves its trial without a cost.

To evaluate Jev through Dari, create a Dari router with Jev as its selector and add its base URL as a separate credential. The key and model ID stay the same.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.