VoltGate is a local-first AI gateway that lets you connect multiple OAuth accounts, route requests across them, and use the same setup through:
- a clean local control panel
- a local chat workspace
- a remote chat link
- an OpenAI-compatible API endpoint
It is built for people who want one place to manage Claude, Gemini, Codex, and Antigravity access across different tools and machines.
- Multi-account failover: if one account or model cools down, VoltGate can move to another ready account.
- Local + remote access: manage everything locally, then use remote chat or the remote API from another network.
- OpenAI-compatible API: point existing tools and scripts at VoltGate without rebuilding your workflow.
- Real account routing: use your connected Claude and Gemini subscriptions without buying separate API credits for every project.
- Simple operator flow: connect accounts locally, create one client API key, and start using chat or the API.
git clone https://github.com/CodexNexor/VoltGate
cd VoltGatepython run-stack.pyThat command will:
- install missing runtime dependencies when possible
- start the Go backend
- build and start the UI
- start Cloudflare quick tunnels
- print your local and remote links
Open:
http://127.0.0.1:3000
Then:
- if you want Gemini or Antigravity login, set the Google OAuth environment variables from
.env.example - connect your OAuth accounts locally
- create a client API key
- use local chat, remote chat, or the API
Use the local UI to:
- connect Claude / Gemini / Codex / Antigravity accounts
- view runtime account state
- create client API keys
- manage your local routing setup
Use:
http://127.0.0.1:3000/chat
Paste a client API key, sync models, and chat directly through VoltGate.
After startup, VoltGate prints a Remote Chat link.
Use that link from another computer, paste your client API key, and chat through the same local account pool.
After startup, VoltGate prints:
Remote API BaseRemote Gemini Base
Use those URLs from any computer or network with the client API key you created locally.
curl -X POST "<REMOTE_API_BASE>/chat/completions" \
-H "Authorization: Bearer <YOUR_CLIENT_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-2.5-flash",
"messages": [
{ "role": "user", "content": "Reply with exactly: API is working" }
]
}'cmd/server Go server entrypoint
internal/ core backend runtime and API handlers
sdk/ routing, auth orchestration, executor logic
ui/ VoltGate web UI
run-stack.py one-command cross-platform launcher
run-local-stack.ps1 Windows launcher
auth/ local auth storage (kept out of git)
.local-stack/ local runtime logs and process state (kept out of git)
- OAuth account connection and removal should be done locally.
- Remote chat and remote API use client API keys.
- Local auth files, logs, and runtime state are excluded from git.
- Remote account-management writes are restricted so the local machine stays the source of truth.
Start:
python run-stack.pyStop:
python run-stack.py --stopMIT