Quantum Computing
10 CPU, GPU and QPU engines
Or read certified runs in a Colab notebook, no account or installation needed.
Zero Kelvin Simulation Foundry
- 10
- execution engines under one API, with a router that picks the cheapest that fits
- 5,000
- qubits of exact Clifford simulation, returned in under a second
- 192
- qubits of expectation values through Pauli propagation
- 108
- superconducting qubits from Rigetti, alongside IonQ trapped-ion hardware
As measured on a consumer laptop CPU and our production cloud, July 2026. Each figure states the circuit, engine and machine it ran on.
Verification requires a stated error
Approximate methods return estimates. Every result here carries a measured statement of how far from the truth it might be.
ZKSF SDK, tested end to end: CPU, GPU, QPU
A reproducible sample: GHZ-class circuits executed on every tier of the platform, results as returned. Simulators produce the ideal distribution with shot noise; quantum hardware returns its own measured counts.
| Tier | Circuit | Qubits | Result | Time |
|---|---|---|---|---|
| CPU | GHZ (Clifford) | 5,000 | exact | 0.56 s |
| CPU | QAOA MaxCut, p=3, depth 304 | 100 | converged (deviation 0.0) | 5.9 s |
| CPU | GHZ, Pauli propagation, all-Z observable | 192 | ⟨Z…Z⟩ = 1.000, certified error bound 0.00 (certificate) | < 1 min |
| GPU | GHZ, 1,000 shots | 8 | 502 / 498 across the two GHZ states (ideal 500 / 500) | 0.5 s |
| GPU | GHZ, 100 shots (exact statevector) | 32 | 52 / 48 across the two GHZ states (ideal 50 / 50); 64 GiB statevector | 8.2 s |
| QPU | GHZ, 50 shots, Rigetti Cepheus-1-108Q | 3 | 45 of 50 shots in the two GHZ states; 5 shots device noise | ~53 min incl. hardware queue |
| QPU | GHZ, 100 shots, IonQ Forte-1 | 2 | 98 of 100 shots in the two GHZ states; 2 shots device noise | ~5 h incl. hardware queue |
Measured on production infrastructure, July 2026. The hardware counts shown here are raw, with no mitigation applied; zero-noise error mitigation with a ZCC-Estimate-v0.1 uncertainty is available as an opt-in on any run. The full logs are in the docs.
A sample lab run
| Device | Rigetti Cepheus-1-108Q |
| Circuit | 3-qubit GHZ, 50 shots |
| Result | 45 / 50 shots in the two GHZ states |
| Runtime | ~53 min incl. hardware queue |
A live run on a 108-qubit Rigetti superconducting processor, submitted through the same API as a simulator job. See the raw measured counts:
One API. Three kinds of compute. Zero guesswork
CPU engines
- Exact statevector to ~30 qubits, stabilizer simulation to thousands of Clifford qubits
- Tensor-network MPS beyond 100 qubits, Pauli propagation for expectation values past 100
GPU acceleration
- NVIDIA-accelerated exact statevector to 32 qubits
- Tensor-network backends for deeper, wider parameter sweeps
Real quantum hardware
- Rigetti superconducting (Cepheus, 108 qubits) and IonQ trapped-ion (Forte-1, 36 qubits)
- The same API for every backend, at provider cost with zero markup
Four ways in
The same engines, the same accuracy statement on every result. Pick whichever fits how you already work.
Python SDK
Three lines from a circuit to a certified result.
import qsim_sdk client = qsim_sdk.Client(token="...") result = client.run(your_circuit)
Zero Kelvin
Our Quantum Simulation Foundry makes quantum computing accessible on demand: certified simulation paired with real quantum hardware, no specialized infrastructure or institutional access required. Each circuit is routed to the method best suited to it, and every result carries a documented accuracy statement.
Certified Quantum Simulation
Quantum hardware and acceleration


Pricing that scales from zero
No subscriptions. No tiers to outgrow. Pay only for the seconds your jobs actually run. Every job shows a cost estimate before you commit, at no charge
CPU Simulation
- • Exact statevector ≤ 30 qubits
- • Clifford circuits to 5,000+ qubits
- • Tensor-network MPS to 128 qubits
- • Convergence error estimate included
- • Small jobs return in under a second
- • Ideal for development, error-correction research & structured circuits
GPU Simulation
Most popular- • $3/GPU-hour to 30 qubits
- • $8/GPU-hour for 31 to 32 qubits (larger card)
- • Accelerated exact statevector to 32 qubits
- • Ideal for parameter scans & QML training
- • Serverless GPUs, spun up per job, scale to zero
QPU (Rigetti & IonQ)
- • Rigetti superconducting (108 qubits) & IonQ trapped-ion (36 qubits)
- • Compare simulator and hardware runs
- • Pre-run estimate before every task
- • Optional zero-noise error mitigation (ZCC-Estimate-v0.1)
How we compare
A quantum cloud with a difference: fidelity, routing, and price.
| Capability | ZKSF | Others* |
|---|---|---|
| Error estimate on every approximate result | ✓ convergence-certified | typically not reported |
| Citable accuracy certificates (ZCC-v0.1, ZHF-v0.1) | ✓ open protocols, downloadable | no equivalent |
| Automatic engine routing | ✓ built in | manual device choice |
| Free pre-run cost & feasibility estimate | ✓ instant, every job | partial |
| Clear rejections with actionable diagnostics | ✓ | varies |
| Clifford circuits beyond 1,000 qubits | ✓ included | rare |
| Structured circuits at 100+ qubits (MPS) | ✓ with accuracy statement | ✓ accuracy reporting varies |
| Expectation values to 200 qubits (Pauli propagation) | ✓ included | rare |
| Device-noise preview (simulator) | ✓ noise model + optional ZNE | varies |
| Error mitigation with a stated uncertainty (simulator + real hardware) | ✓ ZNE + ZCC-Estimate-v0.1 | mitigated number, no error statement |
| Qiskit, Cirq, PennyLane and more, one API | ✓ multi-framework input | usually single-framework |
| Real hardware from more than one vendor | ✓ Rigetti + IonQ | often one vendor |
| QPU pricing | provider list price | varies |
| Small-job latency | < 1 s | queue-dependent |
*Aggregate of leading quantum-simulation clouds as of July 2026, based on public pricing pages and documentation. Run our open benchmark suite to verify these figures independently.
Frequently asked questions
The essentials. For engine internals, API reference, and worked examples, see the documentation.
Who can use the ZKSF Lab?
Effectively anyone with a reason to run a quantum circuit. Academic and industrial researchers use it for everyday simulation and hardware access; organisations preparing for post-quantum cryptography use it to study the algorithms behind that transition; and students, educators, and independent enthusiasts use it to build a working understanding of the physics. No institutional affiliation or specialised infrastructure is required.
I am a beginner to quantum computing. Where do I start?
Start with the six built-in circuit templates in the console: GHZ entanglement, Grover search, QAOA optimization, VQE chemistry, Bernstein-Vazirani, and quantum teleportation. Each loads in a single click with the right engine already chosen and a live circuit diagram, so you can run a real quantum circuit without writing any code. The documentation explains how to use each one, and every template has a full walkthrough in Research.
What is quantum computing (and what is a QPU)?
Quantum computing uses the physics of tiny particles, superposition and entanglement, to process information in ways an ordinary computer cannot. A QPU (quantum processing unit) is the actual quantum chip that does this, the quantum world's counterpart to a CPU or GPU. Most quantum work today is written and tested in simulation first, then run on a real QPU when the physics calls for it, which is exactly the workflow ZKSF gives you.
What is ZKSF?
ZKSF (Zero Kelvin Simulation Foundry) is a cloud service that runs quantum circuits on the cheapest compute suited to them: CPU simulators, GPU simulators, or real quantum hardware. Every approximate result carries a certified error estimate.
Do I need a real quantum computer?
That is your call, and both paths are here. Many research circuits (QAOA, ansatze, Clifford codes, bounded-entanglement dynamics) simulate accurately; when you want hardware, the qpu.rigetti and qpu.ionq engines run your circuit on a Rigetti superconducting or IonQ trapped-ion QPU.
How many qubits can you simulate?
It depends on the circuit, not a single number. Exact statevector reaches ~30 qubits on CPU and 32 on the GPU tier; Clifford circuits run to 5,000+ qubits; low-entanglement structured circuits go past 100 qubits with tensor-network MPS; and Pauli propagation returns expectation values from 100 to 200 qubits. The router picks the method that fits; the docs explain how it decides.
How do I know the results are accurate?
Every approximate result carries an accuracy statement. The default is a convergence check: the circuit is re-run at a higher resource budget and the shift in the answer is reported, where zero movement is evidence the approximation has saturated. The certified path instead returns a bound measured within the single run. Either way the statement can be exported as a public certificate and checked by anyone using zcc-verify, an open-source tool that recomputes the declared bound from the reported measurement and needs no account. That establishes the certificate is self-consistent; it does not by itself establish that the measurement was honestly made. The methodology is detailed in the docs.
What are ZCC-v0.1 and ZHF-v0.1 certificates?
ZCC-v0.1 is our versioned protocol for stating simulation accuracy. It has two levels. The default is a convergence check: the circuit is re-run at a higher bond dimension and the shift in the leading outcomes is reported as evidence that the approximation has saturated. Requesting the certified path returns a measured single-run bound instead: for a matrix product state built without renormalization, the final state's norm deficit is the exact discarded weight, read from the state rather than estimated, and the outcome error is bounded by the square root of twice that value where the individual truncation errors accumulate incoherently. Deep circuits do not always meet that condition, so we report the figure as an empirically supported bound: it was never exceeded across 334 runs checked against exact simulation, 290 of which were built to falsify it.
ZHF-v0.1 is the sibling protocol for real quantum-hardware runs: where the circuit is small enough to also simulate exactly, we compare the measured hardware counts against that exact distribution and report the fidelity, rather than a self-reported device specification. Every finished job can be exported as a public, verifiable certificate under whichever protocol applies. The full specification, with code and worked examples, is in the certification page.
Error mitigation with a ZCC-Estimate?
Yes, as an opt-in. Enabling zero-noise error mitigation runs your circuit at several amplified noise levels and extrapolates the chosen observable back to the zero-noise limit, on the simulator or on real hardware, where it submits three runs and so bills three times. The result is a mitigated value reported with a ZCC-Estimate-v0.1 uncertainty: a statistical estimate, stated as such, rather than the measured bound of the certified simulation paths. Most providers return a mitigated number with no error statement at all. The methodology is in the certification page.
How does billing work?
Pure pay-per-use: no subscriptions, no minimum spend. CPU jobs from $0.001; GPU billed by the second at $3/GPU-hour to 30 qubits and $8/GPU-hour for 31 to 32 qubits (the larger card costs more to run); and quantum hardware at provider list price (Rigetti $0.30/task + $0.000425/shot; IonQ $0.30/task + $0.08/shot). Every job shows a cost estimate before it runs, at no charge.
Can I use my existing Qiskit circuits?
Yes. The SDK accepts Qiskit circuits directly: client.run(your_qiskit_circuit). Install with pip install qsim-sdk and see the quickstart.
Can I run VQE or QAOA without thousands of requests?
Yes. Those are parameter sweeps, and gradient methods need two circuit evaluations per parameter per step, so a 20-parameter, 50-step run sent one job at a time is 2,000 submissions. client.run_sweep(circuit, bindings) sends them in one request, roughly an order of magnitude faster. A binding that turns out too entangled to simulate comes back marked and unbilled rather than failing the whole sweep, so your optimizer treats it as a bad point and carries on. See parameter sweeps.
Is there a mobile app?
Yes. The ZKSF Android app runs the same platform from your phone: upload a QASM circuit, pick an engine, and read the certified result on the go. It uses the same login as the web app, so your jobs and history stay in sync across both. Get it on Google Play.
What if my circuit is too hard to simulate?
We reject it instead of burning your budget on a wrong answer. The rejection comes with a diagnostic explaining why, and what would work: a different formulation, a smaller instance, or real hardware.
When can I run on real quantum hardware?
Right now. Sign in, choose qpu.rigetti (Rigetti superconducting) or qpu.ionq (IonQ trapped-ion), and your circuit runs on the real device.
Compute up to 200 qubits
For expectation values, yes. Select the pauli.cpu engine and pass the observable you want to measure as a list of Pauli terms, then call client.run(circuit, engine="pauli.cpu", observable=[[1.0, "Z"*192]]). Instead of tracking the full state, it propagates the observable back through the circuit in the Heisenberg picture, so cost scales with circuit structure rather than qubit count and reaches well past 100 qubits where a statevector runs out of memory. You get the expectation value plus the total discarded weight as a truncation-error statement. This returns expectation values, not bitstring samples, which is exactly what variational and energy-estimation workloads need.
