One prepaid wallet pays for every backend (1 credit = €0.01 — see Billing). Simulators are free; QPU shots and GPU/CPU minutes draw from the wallet with a reserve-then-settle model that makes overspending impossible. How prices are set. Paid compute is priced from cloud/provider published list rates plus the platform markup — never invented. For on-demand GPU/CPU the current markup is 100% (retail = 2x the cloud on-demand list rate); QPU prices follow each provider’s published pricing. The live source of truth is the pricing catalog: GET /api/v1/platform/quantum-instances/pricing-catalog returns provider prices with source URLs merged with the platform’s own rates, and the console’s Quantum Computers view renders the same data.

Target overview

Every workspace has the simulator and the GPU/CPU tiers in its default catalog; real QPU targets require an entitlement for the workspace — running a target you are not entitled to returns 404 no_active_entitlement_for_offer. Owners/admins can enable or disable individual targets for their workspace.

Simulators — free

The statevector simulator (qcos.simulator.statevector, executed by the QCOS runtime) is free for every workspace, including free-plan instances. Run the quickstart at no cost. The free CPU simulation tier (softquantus.sim.cpu) adds 10 free CPU-minutes per workspace per month. It requires a runtime bound (max_runtime_seconds); at the allowance it blocks with 403 free_cpu_limit_met and charges nothing — switch to the paid cpu.* tiers for more.

CPU compute

Billed per minute of runtime. Reference rates (cloud list rate x 2; the live catalog is authoritative): Run one with qcoscloud cpu, the SDK’s cpu_job() or a CPU_JOB workload. A runtime bound is required; the reservation is rate x minutes.

GPU compute

Billed per minute, NVIDIA GPUs, num_gpus multiplies the rate. Reference rates (cloud list rate x 2; the live catalog is authoritative): Worked example. An a100-80gb job bounded at 30 minutes reserves 30 x 17.07 ≈ 512 credits worst case. If it finishes in 12 minutes you are charged 12 x 17.07 ≈ 205 credits and the rest of the reservation is released. If GPU/CPU capacity is not currently available for your workspace, a submission fails closed with 503 gpu_provider_unavailable and no money is held.

Real QPUs via QCOS

Real hardware runs through the QCOS runtime. The Execution Plane recognizes devices from IonQ, Quantinuum, Pasqal, Rigetti and IBM (IBM-class also covers QuEra and IQM devices for pricing purposes).
  • Most QPUs are metered per shot at the provider’s published rate plus the platform markup. Per-shot rates vary by device and change with provider pricing — list live devices and prices with the pricing catalog, GET /api/v1/platform/qcos/backends, qcoscloud computers or qc.computers().
  • IBM-class devices are metered per second of runtime. A run is admitted only with an explicit max_runtime_seconds bound (422 runtime_bound_required otherwise) and reserves rate x bound; the run is terminated at the bound so the reservation always covers the worst case.
  • Some devices carry a provider minimum charge; when one applies, the reservation covers it so settlement can never exceed what was reserved.
Guard QPU spend per run with max_estimated_cost_usd and max_shots (rejections happen before any reservation). Access is additionally shaped by your quantum instance: free instances are simulator-only, and instance allowlists/access groups apply.

Cost safety

The Execution Plane is the single bank for every backend:
  • Reserve before run. A prepaid run reserves its estimated worst-case cost before anything is submitted. An insufficient balance is rejected up front (402 insufficient_credits) — nothing runs, nothing is charged.
  • Settle on completion. The actual metered cost is debited and the unused reservation released. actual_cost_usd on the job is the real charge.
  • Settlement is capped at the reservation. For prepaid runs the settled debit can never exceed what was reserved — a balance cannot go negative; the platform absorbs provider overruns.
  • Stop when unpaid. GPU/CPU jobs are metered continuously by an enforcement pass (about once a minute) and the resource is stopped and deprovisioned the moment its reservation is exhausted. Nothing runs unpaid — this is also why GPU jobs auto-stop when a wallet reaches zero cover.
  • Fail closed. An unavailable backend rejects cleanly with no money held; an unpriced target is refused rather than guessed at; reservations stranded without a provider are auto-released.
  • Free tiers never charge. They block at their caps instead of billing.

Per-run guardrails

Workspace-level soft/hard limits and rolling budgets are described under Billing; check your live balance any time with GET /api/v1/platform/billing/summary, qc.credits() or qcoscloud credits.