arbstr

The cheapest route to any model, metered in sats.

An OpenAI-compatible router that picks the cheapest qualified provider for every request and bills your agents in sats.

Early-stage software under active development

How It Works

1

Your App

Any OpenAI-compatible client sends a request

2

arbstr routes

Scores complexity, reads live market rates, matches policy, picks the cheapest qualified provider

3

Provider responds

Inference runs on the optimal node (local, cloud, or mesh)

4

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.