Wuraw
Open App

Blog · Economics

Prepaid credits are a bad deal for agents

Every gateway sells you a balance before it sells you inference. That float is non-transferable, custodial, and structurally hostile to software that decides its own spending.

Nadia Reinholt4 min read

The standard way to buy model inference in 2026 is to pre-load a balance. You put in ten dollars, or ninety-nine, or a thousand, and the gateway draws it down per request. It feels harmless. It is the same shape as a transit card. But the transit card analogy is exactly the problem: a transit card is a closed-loop instrument, and once you have accepted a closed loop you have accepted everything that comes with it.

01

Four costs nobody itemizes

  • Float. Money you have paid for capacity you have not used sits with the intermediary, earning them a return and you nothing.
  • Non-transferability. A balance at one gateway cannot pay a bill at another. Switching costs are denominated in stranded capital, not just engineering time.
  • Custody risk. If the intermediary is compromised, disappears, or freezes your account for a policy reason you learn about afterwards, the balance is theirs to release.
  • The account itself. A balance needs an owner, an owner needs an identity, and an identity is the attachment point for every geographic and compliance gate that follows.

For a human developer these are annoyances with a workaround. You top up, you eat the float, you get on with the build. For an agent they are structural. Software that is supposed to make its own spending decisions cannot top up a balance, cannot pass a verification step, and cannot open an account. So the pattern that has emerged is that a human opens the account, funds it, mints a key, and hands the key to the agent — which means the agent is spending against a shared pool with no per-caller limit, and the blast radius of a runaway loop is the entire balance.

02

The runaway-loop math

Take a modest agent doing a retrieval-augmented research task on a frontier model at five dollars per million input tokens. A reasoning loop that fails to terminate and re-sends a growing context can burn through a hundred dollars in under an hour without a single alarming-looking request. There is no line in the request that says this one is different. The only defence a credit balance offers is the size of the balance, and you chose that number for convenience, not as a risk limit.

A prepaid balance is not a budget. A budget is a rule that is checked before the money moves. A balance is a cliff you find by falling off it.

03

What per-request settlement changes

When each call is paid for at the moment it is made, the economics invert in a specific and useful way. There is no float, because you never pre-fund anything. There is nothing to strand, because the asset in your wallet is fungible everywhere that asset is accepted. There is no custodian, because the router never holds your money — it holds a signature authorizing exactly one transfer of exactly one amount.

And the spend limit becomes something you can actually express. A per-agent cap is not a policy note in an admin console; it is a constraint on the signer. If the agent's key is authorized for two dollars a day, the runaway loop stops at two dollars, on the payer's side, without the router being asked to cooperate.

ts
import { Wuraw } from "@wuraw-protocol/sdk";

// The cap lives with the signer, not with an account.
const router = new Wuraw({
  wallet,
  budget: { perRequestMax: "0.05", perDayMax: "2.00", asset: "USDG" },
});

// Request 41 of the day, at $0.049, is fine.
// Request 42, at $0.06, is refused locally — the router is never called.
await router.chat.completions.create({
  model: "claude-sonnet-5",
  messages: [{ role: "user", content: "Summarize the changelog." }],
});

04

The honest counter-argument

Prepaid credits do buy you something real: one payment event instead of thousands. If your workload is a steady million requests a day from a single service, batching the payment is genuinely simpler, and the float cost on a two-day balance is rounding error. We are not going to argue that every workload should settle per request.

What we will argue is that the choice should be yours, and that today it usually is not. The gateway sells credits because credits are good for the gateway — they front-load revenue, lock in switching costs, and turn a variable-cost business into a deposit-taking one. That is a defensible business. It is just not the same business as selling inference, and it should not be a precondition for buying it.

On Wuraw, the free tier costs nothing and takes no payment at all. The paid tiers take payment per call, in USDG, settled on Robinhood Chain. There is no third option where you hand us money in advance, because we could not think of a version of that which was better for you than for us.

Written by Nadia Reinholt · published 16 July 2026 · filed under economics. Figures cited here carry their source inline; if one has aged badly, the correction goes on the post.