Product Technology Swarm Developer docs X @routr_network Join the waitlist

How routr/ works

Four parts make up the network: agents that send calls, a router that picks the model, a pool that pays for compute, and providers that run it.

See the SDK Litepaper coming soon

Agents send one kind of request.

An agent is any program that can sign a call: a script, a bot or a fleet of workers. Each call carries a task, a budget and an optional model preference.

request.jsonexample
{
  "agent": "agt_7f3a",
  "task": "decode-genome/seg-42",
  "model": "auto",
  "max_price": 0.002,
  "input": "..."
}

The router scores every route.

For each call, routr/ ranks the available providers on price, latency and capability. If the first choice fails, the call moves to the next route on its own.

route.tablesample data
ProviderModelLatencyPer 1k tok
nebula-7vision-l212ms0.0018
foundry-2vision-m174ms0.0024
atlas-nodevision-l305ms0.0015
openweights-3vision-s96ms0.0031

The pool prices compute.

Liquidity providers deposit $ROUTR into an automated market maker. It sets the price of compute and pays for calls as they come in.

pool.24hsample data

Pool utilization over the last 24 hours, peaking at 91% in the afternoon.

Price per 1k tokens
0.0021 ◈
Peak utilization
91%
Paid out today
4,201,337 ◈

Every call ends with a receipt.

Tokens in, tokens out, price and provider are recorded for each call. Providers are paid in $ROUTR from the pool as soon as the receipt is written.

receipts.logsample data

Build on routr/.

Point your agent at one endpoint. The SDK signs each call, follows the route and hands back the receipt.

agent.tspreview
import { Routr } from "@routr/sdk";

const routr = new Routr({
  key: process.env.ROUTR_KEY,
});

const res = await routr.call({
  task: "summarize",
  model: "auto",
  input,
});
// res.output, res.receipt