Installation
Install the open-source BitRouter binary and run it locally, or sign in to BitRouter Cloud — same core either way.
BitRouter has two front doors, and both run the same open-source core. Self-host the binary with your own keys, or sign in to BitRouter Cloud — the routing engine is identical. See Self-host vs Cloud for what the hosted account adds on top.
Self-host the binary
Install the open-source binary (Apache 2.0):
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/bitrouter/bitrouter/releases/latest/download/bitrouter-installer.sh | shbrew install bitrouter/tap/bitrouternpm install -g bitroutercargo install bitrouterSet your provider keys in the environment and start the proxy:
export OPENAI_API_KEY=sk-... # ANTHROPIC_API_KEY / GOOGLE_API_KEY also work
bitrouter start
# Proxy running at http://127.0.0.1:4356BitRouter auto-detects any key set in the environment — no config file needed. Any provider whose key is present is immediately available. See BYOK for the full list of recognized variables, or local & private models to point BitRouter at Ollama, vLLM, or LM Studio for free.
For advanced routing rules, guardrails, or multi-account failover, scaffold a config file:
bitrouter init # writes ./bitrouter.yaml (override with `-c <path>`)
bitrouter startUse BitRouter Cloud
Sign in to a BitRouter Cloud account from the terminal — one account covers every model the hosted network offers, with no upstream provider keys required:
bitrouter auth login # RFC 8628 device flow against api.bitrouter.ai
bitrouter start # the `bitrouter` provider auto-enables once signed inYou can also point an agent straight at the hosted endpoint without running a local binary. Either way the core is the same — a Cloud account is an account and network, not a separate deployment. See Self-host vs Cloud for the full breakdown, and the managed provider for the model catalog and pricing.
Point your agent at the proxy
However you start it, BitRouter is a drop-in proxy. Point your agent runtime at the proxy base URL — http://127.0.0.1:4356 when self-hosting — and every model call routes through BitRouter with no harness changes.
How is this guide?