Documentation

Overview

Use the service

Billing

Reference

Billing

Credit and billing

You pay in euros, from credit or by an invoice after each month against a spending limit you choose: work reserves what it may cost when it is admitted and is charged for what it actually used when it settles.

Balance and available credit

  • Balance is the sum of your account's ledger: top-ups and grants in, charges out.
  • Available credit is your balance minus your open reservations. New work is admitted against available credit.
  • With monthly invoicing (below), available credit is what your monthly spending limit and the service's unpaid-usage ceiling leave, less your open reservations. Your balance can then go below zero: that is usage not yet invoiced or not yet paid.

Both are on the panel (/run/app), with your open reservations and a usage statement for the last 30 days by service and operation.

Reservations

When the grid admits work, it reserves credit for it up front, never less than the most it can cost:

CallReserves
POST /batchesthe number of URLs × the script's price per result
POST /sessionsttlMinutes × €0.07 per hour
POST /jobs(vCPU × €0.04 + GiB × €0.0064) per hour × runningDeadlineSeconds: one attempt
POST /jobs/{jobId}/retry of an analytical jobthe same: one attempt for the retry

An analytical job holds one attempt's longest cost, whatever its retries, because it is charged for at most one attempt per submission: a replay follows only an eviction, which is free. What the billed attempt does not use returns when the job finishes.

Two programs of one account can never spend the same credit: each reservation checks and holds available credit in one step.

Settlement

Each piece of work settles once, under its own key, so a repeated delivery never charges twice:

  • A capture item is charged its script's price when its files are published. An item that fails after its last attempt is released.
  • A browser session is charged €0.07 per hour for the time from its first ready moment until it is released, expires or is lost; the rest is released.
  • An analytical job attempt is charged for the time from its container's start until it finishes, up to its runningDeadlineSeconds, when its termination reason is one you caused: your code's own exit, your container going over its own memory limit, your own deadline, or your cancellation. See Analytical jobs for every reason.

A charge never exceeds the reservation. The reservation is the most a piece of work can cost, and settlement charges at most the part of it that the item, session or attempt was given; nothing beyond it is ever charged.

Whatever is not charged returns to your available credit when the work settles. Time-based charges are computed from milliseconds and rounded half up to the micro-euro once, at settlement.

When charges appear. A browser session you release settles at once. Capture items, analytical jobs, and sessions that expire or are lost are settled by a periodic pass over the grid's records, so their charges, and the return of what they did not use, appear up to one settlement interval (30 seconds) after they finish.

What is free

  • Every read: status, lists, logs, artifact downloads, grid status.
  • Capture items that fail, and our own retries of an item.
  • A browser's start-up time, and a session that never became ready.
  • An analytical job's queueing and start-up time, attempts that end for a reason on our side (eviction, the machine's disk, the image, a late start, a lost attempt), and our replays after one.
  • Resubmitting an analytical job with the same idempotencyKey.
  • The MCP endpoint itself: a tool costs what its call costs.

When credit runs out

Every customer account is metered. Once credit enforcement is switched on for the grid, a call whose reservation exceeds your available credit is refused before anything starts. With monthly invoicing, that is a call that would take this month's usage, with what your running work holds, past your monthly limit, or your unpaid usage past the service's ceiling; and while monthly invoicing is paused or an invoice is past due, every call that reserves is refused, whatever credit you have:

{"error": "insufficient_credit", "requiredMicros": "35000", "availableMicros": "12000"}

The status is 402. Amounts are in micro-euro (€1 = 1,000,000 µ€). Nothing is reserved and nothing runs; top up, raise your monthly limit, pay a past-due invoice, or ask for less (fewer URLs, a shorter ttlMinutes, a shorter deadline). Work already admitted always finishes, because its credit was reserved up front.

A key's daily cap is checked the same way and refuses with 402 and daily_cap_exceeded. See API keys.

A suspended account cannot call the grid at all, whether or not enforcement is on: its keys get 401 unauthorized on every call, free reads included, and its Zyxio sign-in token gets 403 with {"error": "forbidden"}. Ask Zyxio. (The 403 {"error": "account_suspended"} on the calls that reserve credit is for Zyxio's own internal credentials billed to an account; you will not see it with your own keys.)

Topping up

On the panel, under Credit, enter an amount and pay on Stripe's hosted checkout page; no card details reach Browsergrid. The credit appears when Stripe confirms the payment to us, and the panel updates by itself. The smallest top-up is €0.50, Stripe's own minimum for a euro payment. There is no maximum of ours: one payment can be at most €999,999.99, the most Stripe takes in one euro payment by every payment method it may offer, and the panel says so if you ask for more.

During the introduction period payments run in Stripe's test mode, so the checkout page takes Stripe's test cards, not a real card.

Monthly invoicing

Instead of paying in advance, you can pay for your usage after each month: one invoice per calendar month (UTC), charged to a card you save on Stripe's page, against a monthly spending limit you choose. There is no subscription and no fixed monthly fee. The panel says when the portal offers it.

  1. On the panel, under Credit, Monthly invoicing: choose a monthly spending limit in euro (it has no default; the panel shows the most you may choose), and accept the terms.
  2. Save a card on Stripe's page. Browsergrid keeps only its brand, last four digits and expiry.
  3. Monthly invoicing is active once Stripe confirms the card, usually within seconds. Any signed-in person of your account may set it up; the consent records who did.

What is invoiced. After each calendar month (UTC), the net usage you have not paid yet is invoiced, and Stripe charges it to the saved card. Credit you already have (grants, top-ups) is used first, and a negative balance your account already has when you set it up is included in the first invoice. Invoices are whole cents: fractions of a cent, and amounts below €0.50 (Stripe's minimum), carry forward to a later invoice. Work that settles after the month ended is invoiced the month after. Each invoice is listed on the panel, with a link to its page at Stripe while it can still be paid there, by hand too.

The monthly limit. New work is admitted while this month's usage and what your running work holds stay within your limit. It counts from 00:00 UTC on the 1st, and paying an invoice does not reset it. Work already admitted finishes and is charged at most what it reserved, so the month's usage stays within the limit unless you lower the limit while work is running. New work also stops when your unpaid usage reaches the service's ceiling, which the panel shows. You can raise or lower your limit at any time, up to the most the panel allows.

Pausing. Pausing monthly invoicing stops new work; usage already incurred is still invoiced. Resume on the panel.

When a payment does not go through (the card is declined, or your bank asks you to confirm the payment), the invoice is past due and new work stops, credit included, until it is paid. Open the invoice from the panel to pay it or confirm the payment. Saving another card does not settle an invoice that is already past due. While your account is invoiced monthly, the card cannot be removed, and it stays until every invoice is paid. If Zyxio ends monthly invoicing for your account, the card also stays until the usage not yet invoiced has been invoiced and paid.

During the introduction period, payments run in Stripe's test mode: the panel says so, and only Stripe's test cards work.

Automatic top-up

Automatic top-up is for accounts without a billing agreement: instead of topping up by hand, you can let your credit refill itself from a saved card, where the portal offers it (the panel says when it does not). Credit stays prepaid: your work is still admitted only against available credit. An account invoiced monthly does not use it: setting up monthly invoicing turns automatic top-up off.

  1. On the panel, under Credit, choose Save a card and enter the card on Stripe's page. Browsergrid keeps only its brand, last four digits and expiry. Saving a card charges nothing and turns nothing on.
  2. Choose a threshold and an amount, and optionally a monthly limit. Neither of the first two has a default; both are whole cents from €0.50 to €999,999.99, like a top-up by hand.
  3. Turn it on. From then on, whenever admitting or settling your work leaves your available credit below the threshold, the amount is charged to the card while you are not on the page, and the credit appears when Stripe confirms the payment. If your credit is already below the threshold when you turn it on, the first top-up starts at once. A top-up that still leaves you below the threshold is followed by the next one.

Only one automatic top-up runs at a time, and with a monthly limit the automatic top-ups of a calendar month (UTC) never add up to more than it. A top-up is sent only while your available credit is still below the threshold: if you add credit by hand before it is sent, it is cancelled. Each one is listed on the panel with its state.

Choose a threshold above the largest piece of work you send: work that needs more than your available credit is still refused with 402, and starts a top-up only when your available credit is already below the threshold.

When a payment does not go through (the card is declined, or your bank wants you to confirm the payment, which cannot be done while you are away), nothing is charged for it and automatic top-up pauses. The panel says what happened. Add credit by hand, and turn automatic top-up on again; a card that needs confirming for every payment is not suited to it. If the payment service did not answer in time, or failed itself, the outcome is not known: the panel says so, automatic top-up pauses, and if the payment did go through its credit is added as soon as Stripe confirms it.

Turn it off, or remove the card, at any time on the panel, also while automatic top-up is switched off on the portal. Removing the card also turns automatic top-up off; a top-up already being sent finishes.

Prices and rate cards

Prices come from a versioned rate card. The prices on these pages are those of the first, 2026-10-10.sandbox-1; the pricing page always shows the version in force. Every reservation and charge records the version it used, and a new rate card never changes the price of work already admitted. See Pricing units.

Not yet offered

VAT statements and refunds by card are not offered yet. If something was charged wrongly, tell us and we correct it with a credit on your ledger; on monthly invoicing, that credit is used first by your next invoice.