How It Works
Your App
Any OpenAI-compatible client sends a request
arbstr routes
Scores complexity, reads live market rates, matches policy, picks the cheapest qualified provider
Provider responds
Inference runs on the optimal node (local, cloud, or mesh)
Sats are metered
The estimated cost is reserved, the actual cost charged, the rest refunded — per request, in sats. No tokens, no subscriptions
Features
A production-minded routing engine, not a demo. Every request is scored, priced, and metered.
OpenAI-compatible proxy
Drop-in replacement for /v1/chat/completions and /v1/models. Point any OpenAI client at it — unknown fields like tools and response_format pass through unchanged.
Multi-provider cost routing
Same models, different prices. arbstr ranks every qualified provider by blended cost and routes to the cheapest — free when your local GPU can handle it.
Live market feed
Optional tokenstats integration polls live multi-source quotes — OpenRouter, Routstr, and more — applying per-model sats/1M rates so routing always tracks the real market.
Complexity-aware tiering
A heuristic scorer sends simple prompts to local/free nodes and hard ones to frontier providers, with automatic tier escalation when a provider trips.
Sats-metered billing
Optional vault treasury reserves, settles, and releases each request's cost in sats against the agent's balance, enforcing per-request and daily spending limits — fault-tolerant with pending-settlement reconciliation. Lightning and Cashu rails are built in for moving real sats.
Circuit breakers
Per-provider Closed / Open / Half-Open breakers with automatic recovery probing route around failing providers before they hurt you.
Streaming observability
SSE token extraction, trailing cost events, and post-stream database updates give you real cost and latency on every streamed response.
Cost & analytics API
Query aggregate stats by model, provider, or tier and page through the full request log — with time-range filtering built in.
Bring any provider
mesh-llm, Ollama, Routstr, OpenRouter, or any OpenAI-compatible endpoint. Set auto_discover and models populate themselves at startup.
The Manifesto
No tokens. No staking. No governance theater. Just sats.
Every other AI marketplace invents a token. We use bitcoin — the money that already works. arbstr prices and meters inference in satoshis, and sends each request to the cheapest provider that can serve it. Buyers pay a fair price. No middleman token skimming value.
Get Started
Run the full stack — router, treasury, Lightning, and Cashu mint — with one docker compose up.
git clone https://github.com/johnzilla/arbstr-node && cd arbstr-node
cp .env.example .env # edit with your secrets
docker compose up -d
# then create and fund an agent (see the arbstr-node README)
curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-agent-token" \
-d '{"model": "claude-sonnet-5-5", "max_tokens": 200, "messages": [{"role": "user", "content": "Hello"}]}'
See the full documentation on GitHub.