Compare

tack vs OpenRouter

OpenRouter routes a request to a model provider. It doesn't define what a bounded unit of agentic work cost, or how a refusal gets recorded. Different layer, not a worse version of the same one.

Different question

OpenRouter’s own description of itself: “a unified API that gives you access to hundreds of AI models through a single endpoint, while automatically handling fallbacks and selecting the most cost-effective options.” That is a routing and access problem, and it is a real one: which provider serves this call, what happens when it’s unavailable, which model is worth the price. None of it is the question this page’s spec answers, which is what a bounded unit of agentic work cost once it’s done, whether it was committed before or after the money moved, and who it’s attributable to. A request can flow through OpenRouter, a raw provider SDK, or three providers with failover between them, and the accounting layer underneath doesn’t change shape.

Where they already overlap

Worth stating plainly, because it would be dishonest not to: OpenRouter is not naive about spend control. Provisioning keys carry a credit limit and reject with a 402 once it’s exceeded. Workspaces, announced April 2026, let an account set daily, weekly, monthly, or lifetime spending limits per workspace, marketed explicitly for a team shipping multiple projects on one account. Guardrails, announced May 2026, enforce a budget and reject a request that would exceed it before it reaches a model provider. All three block spend before it happens. That is a real gate, and this page doesn’t claim otherwise.

What the record underneath still needs

What isn’t documented, as of August 2026, is the shape of the record once a request is admitted: what unit it’s counted in, how its cost is decomposed, and how a limit resolves once it’s hit.

QuestionOpenRouter, as of August 2026What the spec requires
Unit of accountPer request or generation; a per-response usage object.The turn: bounded admission to emission, one record however many model round-trips or tool calls it took (§3).
Cost decompositionTotal price per model, not broken into typed components.Named components (inference, guard, retrieval, tool execution, infrastructure), each carrying a provenance of known, estimated, or unknown (§5.2).
Limit resolutionA rejected request returns HTTP 402; no reservation lifecycle documented.Funds reserved at admission, resolved to exactly one of commitment or release, sharing a transaction with the usage record (§6.7, §8 T21–T24).
Refusal declarationGuardrail actions are block, redact, or allow; not documented as a logged-but-not-blocking mode.gate_mode is explicitly declared as enforcing, shadow, or absent (§6.7).
CorrectionsNot documented as an append-only reversal on a usage record.An error is corrected by appending a correction record; the original is never mutated (§6.4).
IdempotencyDocumented for async video-generation webhooks; no general key found for chat or completion requests.An idempotency_key on submission, with a published replay window (§6.5).

Middle column verified directly against OpenRouter’s own docs and pricing pages, as of August 2026: quickstart, limits, provisioning keys, workspaces, guardrails. A row reading “not documented” means it wasn’t found on these pages, not that it doesn’t exist.

The right-hand column states what the specification requires, not a claim that any implementation has passed every test in it, including tack’s own. tack targets Level 3; the reservation tests T21–T23 are not yet satisfied at the time of writing, and the spec says so in its own implementations table rather than in fine print here.

What this means practically

If a request already flows through OpenRouter, or any router, or a raw provider SDK, the turn boundary sits one layer above it. The accounting doesn’t care which provider served the call, only what the call cost, whether it was reserved before it ran, and which payer it belongs to. These aren’t competing answers to the same question. They’re answers to two different ones, and most agent products eventually need both.

Gate mode, reservations, and the correction rule this table cites are defined in turn-accounting §6.7 and §6.4.