Credits and billing
A quote states the run's maximum EvalRouter charge before any model call. A spending cap is optional: with --max-cost USD (runs create or run) the run starts only when the quote's maximum charge fits under that cap; without one, the run is bounded by your workspace credit. At a terminal the CLI shows the quote and asks before anything is charged; scripts pass --yes, and without it nothing is quoted or charged.
EvalRouter holds credit against the cap while work is in flight, charges recorded usage and releases the unused hold. A run that reaches its cap stops new work and keeps its completed results. Cancelling stops new work but cannot retract a call already sent. When EvalRouter's own infrastructure ends an attempt (a lost hosted or remote owner, a lost sandbox, an upstream provider failure, or EvalRouter stopping the run while the attempt was in progress), that attempt's model calls are not charged and its retry pays only for its own calls; calls to your own provider endpoint are billed by your provider and carry no EvalRouter fee.
Actual spend and external costs#
Results show actual EvalRouter spend. A hold reduces available credit while work is in flight; it is not a completed charge. Billing may finish after a score appears.
The billing page's Settled charges is everything settled against the wallet for evaluations. It has two parts. Usage is the metered model inference and compute your runs used. Platform fees are EvalRouter's per-evaluation fee, shown on the quote and charged as separate ledger entries, net of any platform fee credits. Credit purchase fees are paid at checkout and are not included. The GET /v1 response reports settled_usage_microusd, settled_platform_fees_microusd and their sum, settled_charges_microusd.
A model endpoint or agent you connect may incur charges from its provider outside EvalRouter. EvalRouter's cap does not limit that external bill. Check the external-cost notice before launch.
Cost forecasts appear only where that feature is published and qualified. An absent forecast is not a zero-cost estimate.
API key ceilings#
An API key can carry its own spend ceiling across everything it starts: evalrouter api-keys create --spend-ceiling USD, or evalrouter api-keys update KEY_ID --spend-ceiling USD|none. A per-run cap still applies to each run.
The API represents money as strings of integer micro-USD: "1000000" means $1. Usage and billing records remain the source for actual charges.