Credits
The Credit is Surfil's metering unit: one server-signed value-output equals one Credit. Running your agent through the pipeline is unmetered - the only thing ever metered is the signed output.
Why it exists
Per-request pricing punishes you for using your agents; seat pricing punishes you for having colleagues. Metering the signed output prices the one moment Surfil provably created value - a savings receipt, a benchmark, an attestation - and leaves everything else unmetered. It also keeps the anti-bypass story honest: the metered thing can only be produced by the edge, so there is no client-side counter to game.
Execution is unmetered
Interception, the five pipeline stages, Weave writes, blocking a risky call - none of it consumes a Credit. A Credit is consumed only when the pipeline produces a signed output. If you never request one, you never spend one.
How consumption works
Every consume call carries an idempotency key, and decrements are atomic - a retried or duplicated request never double-charges. Consumption draws from four sources, in a fixed order:
- Window allowance (resets on a rolling window)
- Monthly allowance
- Paid Credits
- Granted Credits
The cheapest, most perishable source is always spent first, so paid Credits are only touched after both allowances are exhausted. The edge endpoint behind this is /v1/meter/consume - see the API reference.
What it means for you
- Your balance and allowances are readable at any time from the Hub dashboard, backed by
/v1/entitlement. - Every Credit spent maps to a signed output you can point at - the receipt is the line item.
- Interrupted requests are safe: if a consume call is retried, the idempotency key makes it a no-op, not a second charge.
Related
- Signed outputs - what a Credit actually buys.
- Verify a receipt offline - checking the output you paid for.
- FAQ - billing questions in short form.