OneRouter
Docs /Quickstart
Start hereAbout 60 seconds

From key to first token

One base URL. One key. A complete request you can run in about a minute, without creating an account.

OneRouter is an OpenAI-compatible gateway. You change the base URL and the key. Nothing else in your code moves.

Every value below is literal except the key itself.

Start without a deposit#

The Open Tier serves a small daily allowance at a $0 charge, with no deposit and no money hold. It is the fastest way to prove your client is wired correctly before any money is involved.

The example on this page uses a paid model, so it also exercises the billing path.

Your first request, end to end#

  1. Set your key — one bearer key. Accountless keys work.
  2. Set the base URL — keep /v1; your client appends the endpoint.
  3. Send a request — choose a client, copy, then stream.
curl https://onerouter.network/v1/chat/completions \
  -H "Authorization: Bearer $ONEROUTER_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "meta-llama/llama-3.3-70b-instruct",
    "messages": [{"role":"user","content":"ping"}],
    "stream": true
  }'
The base URL is https://onerouter.network/v1

Keep the /v1. Do not append /chat/completions to a client's base-URL field — the client adds the endpoint itself. Trimming the /v1, or adding the endpoint by hand, is the most common setup failure by a wide margin.

Read the receipt#

Every response carries the facts you need to reconcile it. Nothing about the body changes: it is the upstream's response, byte for byte.

HeaderMeaning
x-onerouter-modelThe model that actually answered
x-onerouter-providerThe host that served it
x-onerouter-cost-usdExact charge for this request
x-onerouter-balance-usdBalance after it settled
x-onerouter-ttft-msTime to first token, measured at the edge
x-onerouter-receiptStable id for this route decision

A stream reports its charge as usage.cost in the final usage chunk instead — send stream_options.include_usage. See Streaming.

Per client#

Client setup has literal configuration for Claude Code, Codex, Cline, Continue, Zed, Aider, LiteLLM, SillyTavern and any other OpenAI-compatible client.

When it fails#

Every error uses OpenAI's error envelope and carries a stable code, and every message ends in a URL that resolves to an anchor on the errors page.