Ray9

Credits

What a credit is, why heavier routes cost more, and how estimates, reservations, and budgets keep a run from turning into a surprise.

What a credit is

A credit is Ray9's metered unit of work. One number, across every kind of resource a run consumes: compute, browser time, provider calls, proxy bytes, model tokens, storage.

The alternative — billing you separately for browser-seconds, proxy gigabytes, provider units, and model tokens — is how most of this category works, and it is why nobody can predict what a job will cost until after they have run it. One unit, estimated in advance, is a better trade.

Why heavier routes cost more

Credits are priced against what the work actually costs Ray9 to perform.

A direct HTTP fetch of a public page is close to free. An isolated browser, rendering JavaScript, on a residential exit, in a requested country, holding a sticky session, is genuinely expensive — it burns compute, it burns third-party proxy bandwidth, and it takes far longer.

So they cost different amounts of credits. This is not a pricing gimmick; it is the reason Ray9 tries the cheapest route that can actually satisfy your request rather than reaching for a browser by default. Every credit saved on a route is a credit you get to spend on more data.

It also means the number depends on the target, not just on the volume. A thousand pages from a simple static site and a thousand pages from a hostile one are not the same job and will not cost the same.

Estimate before you run

Ray9 shows an estimated credit range before:

  • a test run in the builder,
  • an on-demand run,
  • enabling a schedule,
  • and any retry expensive enough to be worth asking about.

A range rather than a number, because the honest answer depends on which route turns out to work. The estimate is shown with the route eligibility and the policy notes, so what you are agreeing to is visible before you agree to it.

Reservations

Before a run is dispatched, Ray9 reserves the maximum it is permitted to spend.

This is what makes a runaway job structurally impossible rather than merely unlikely. A run cannot exceed its reservation, so a crawl that discovers ten times more pages than expected stops at a clean boundary instead of quietly spending ten times more money. Whatever it validly collected before it stopped is kept.

When the run finishes, actual usage is charged and the unused part of the reservation is released. If a process dies between doing the work and accounting for it, the reservation is reconciled rather than stranded.

Budgets

An organization can set budgets at three levels:

  • Per run — a ceiling on any single execution.
  • Per day and per month — a ceiling across everything.

Schedules can carry their own budget on top, and every run can carry per-run caps on pages, items, elapsed time, and credits. See Schedules.

You can also opt out of fallback routes that increase cost. If you would rather a run failed than escalated to an expensive route, say so, and Ray9 will fail it.

When a hard limit is reached, work stops cleanly at a boundary and keeps its partial data. Ray9 never runs up an unbounded negative balance, and it never lets an automatic fallback spend money you did not agree to.

The ledger

Every credit movement is an entry in an append-only ledger: grants, reservations, releases, charges, refunds, and manual adjustments. Your balance is a projection of that ledger, not a mutable number somebody adjusts.

That means "why do I have this balance?" always has an answer, and the answer is a list of entries you can read — each one linked to the run that caused it.

Policy is evaluated before credits are spent

A run that policy denies costs nothing. Evaluation happens before dispatch, not after — so a target you should not be collecting from, or a job that violates your organization's own controls, is stopped at the door rather than billed and then apologized for.

What Ray9 absorbs

Ray9 measures the real provider, compute, and proxy cost of every attempt, including the failed ones. That is how honest routing decisions get made — a route that succeeds on the third try is not actually cheap, and pretending otherwise leads to bad routing.

But measuring is not the same as charging. Where Ray9 tries a cheaper route first and it fails, the intent is that you pay for the route that worked rather than for Ray9's decision to try a cheaper one first. Bounded failed attempts of that kind are absorbed.

This conversion is still being validated

The exact charging policy — what is charged, what is absorbed, and where the boundary sits — is being confirmed against real pilot cost data before launch. It is versioned, and it is shown to you before a run whenever it could materially vary. It is not a rule hidden inside the router.

Plans

Plans differ in the credits included, the schedule cadence available, and which routes and features are enabled — change monitoring, signed webhooks, the API and MCP, residential and mobile egress. Additional credits are available on every paid plan.

Pricing is provisional while Ray9 is in early access. See the pricing section for current tiers, and talk to us before you build a budget around them.

On this page