pool-anything
Gather N keys for one provider into a single pool. Every request takes the next key, usage is tracked per key, and it all runs on SQLite with zero dependencies.
npm install && npm run dev, then open :3000
37 providers preconfigured, custom is one JSON row. Keys stay local and masked.
cursor at key 1
One POST picks the next key, injects auth, forwards, and records usage. The cursor is cursor % keys.length, so load spreads evenly.
No SDK. Send path, method, body. The pool adds the key and counts tokens.
# rotate + proxy in one call curl -X POST localhost:3000/api/pools/1/proxy \ -H 'content-type: application/json' \ -d '{"path": "/chat/completions", "method": "POST", "body": {"model": "llama-3.3-70b", "messages": [{"role":"user", "content":"hi"}]}, "tokens": 25}' { "key_id": 3, "status": 200, "masked": "gsk_…c4" }
Every call appends a usage row. /usage rolls it up per key and pool.
Groq, OpenRouter, Gemini, and 34 more. Anything else fits the custom row.
npm install, then npm run dev, open http://localhost:3000.Gather./api/pools/:id/proxy or the Playground.data/pool-anything.db, never committed.