The open routing layer
Any model, any provider, any route. One familiar API for your next generation of agents. Know where every call goes and what it costs, down to the receipt.
Route AI calls through one API, one USDG balance and a signed receipt for every generation. Choose your model. Keep control of the route.
Built on Robinhood Chain. Deposit USDG and start routing.
Router fee on prepaid calls. One USDG balance for every model.
Maximum margin when an agent pays per call with HTTP 402.
Bond every provider posts before it serves live traffic.
Dispute window before any slash, with refunds on the evidence.
Routing, payments, proof and privacy in one layer. Keep your SDK; get a receipt, a budget and a choice of how to pay.
Any model, any provider, any route. One familiar API for your next generation of agents. Know where every call goes and what it costs, down to the receipt.
Keep the clients and request shapes your team already knows. Change the base URL and key, with OpenRouter-compatible routing preferences built in.
One balance for every model and provider. Pay in USDG and withdraw what you don’t use, self-custodially.
See the model, provider, tokens and cost behind each generation. A signed receipt travels with the response, anchored on Robinhood Chain every hour for independent verification.
A request can begin without an account. Receive a 402 quote, pay, then retry with a payment proof.
Each project gets its own key, model allowlist, rate limit and budget. A clear limit before a request is routed.
A private route selects only providers with valid TEE attestation. The attestation hash belongs in the receipt.
Providers bond 10,000 USDG. Canaries and health checks create evidence for a documented dispute process.
Choose a registered Stock Token and set a daily cap. Small calls accrue before a bounded swap at oracle fair value. The receipt records the exact token units allocated to each generation.
Filter by price, latency, quantization and data policy. Unhealthy providers leave the pool, with fallbacks built in.
Keep usage visible across your existing systems with OpenTelemetry export and usage records.
Open-weight creators can receive a disclosed royalty. Inference and creator cost stay separate.
Roles, budgets and access for the people building with you: one routing layer for a shared workspace.
The same request shape reaches a standard model, an attested private host, a Stock Token payment or a creator’s open weights. Pick the route with a suffix, a header or a preference.
const res = await client.chat.completions.create({
model: "meta-llama/llama-3.3-70b-instruct",
messages,
provider: { sort: "price", allow_fallbacks: true },
});
res.provider; // who served it
res.usage.cost; // what it cost, in USDG
res.receipt.sig; // Ed25519, anchored hourlyPoint your client at the router, keep your code, and every call comes back with the route it took and the proof of what it cost.
Use the familiar API request shape. Set your model, provider preferences and budget.
model · provider{} · budgetThe router filters providers by health, price, data policy and your requirements, with fallbacks ready.
1/price² × uptime × qualityEvery generation returns itemized usage, cost and a signed receipt, anchored on-chain within the hour.
ed25519 · merkle · 4663Providers put money behind their claims. Canaries check every model they serve, and each result is kept as evidence before anyone is penalized.
Providers bond in USDG. Reliability has a cost, and failures leave evidence.
Canary checks compare declared quantization and quality, with a dispute process before penalties.
Policy lives on the key, not in your code. Import a LiteLLM config, share keys across teams with roles, and switch off anything you don’t need.
Keep your SDK, choose providers and configure fallbacks. Cache and guardrails are opt-in.
Virtual keys, budget caps and rate limits put boundaries around every workload.
{ "name": "support-agent", "limit": 250, "limit_reset": "monthly", "rpm": 600, "tpm": 400000, "allowed_models": ["qwen/qwen3-32b", "deepseek/deepseek-r1"], "team": null, "pay_with_default": null, "expires_at": null, "guardrails": null, "routing": { "provider": { "sort": "latency", "allow_fallbacks": true } }}A private request goes only to a provider whose TEE evidence was verified minutes ago. If the evidence is missing or stale, the request fails closed.
Private requests select only freshly attested TEE providers. The attestation hash is in the receipt.
Read the provider’s data policy before routing. Privacy claims should be backed by verifiable evidence.
An example agent workflow: how a Stock Token pays for inference behind a familiar API, without changing the model request.
A research agent chooses a model, sets a daily cap and requests NVDA as its payment token. Anyroute prices the call in USDG, swaps at oracle fair value and records the token allocation.
Read the case study→All four stages are built and tested. Next: contract deployment on Robinhood Chain and live provider onboarding. No release dates are announced.
API compatibility, provider catalog and health, prepaid USDG credits, receipts and anchors.
The 402 flow, sponsored per-call payments, capped Stock Token sessions and readable statements.
Provider bonds, quality canaries, dispute handling and an attested private route.
Creator royalties, team budgets, gateway controls, rankings and telemetry exports.
Anyroute is an open inference router for Robinhood Chain. A familiar API is the starting point. Clear payments, provider accountability and portable receipts are the reason to go further.
A route should tell you more than whether a request succeeded.
Which provider served it? What did it cost? What evidence supports its privacy claims? Who gets paid? Routing, USDG settlement, signed receipts and attestation checks run in the router, with contracts on Robinhood Chain.
Keep your existing request shape. Point your client at your router’s /api/v1 and use an Anyroute key. Streaming, tools, structured output and provider preferences work as you expect.
// Change two lines: the base URL and the key.
const client = new OpenAI({
baseURL: process.env.ANYROUTE_BASE_URL, // "<your router>/api/v1"
apiKey: process.env.ANYROUTE_API_KEY, // "sk-ar-v1-…"
});
const generation = await client.chat.completions.create({
model: "meta-llama/llama-3.3-70b-instruct",
messages: [{ role: "user", content: "Hello, Anyroute." }],
});