YOUR FIRST INTEGRATION
Your program. Your measured result.
Start with a Bell-state circuit, or submit your own static OpenQASM 3 program. Choose a compatible backend, review its current price and retrieve the measurements under the same program hash. Crypto researchers can then explore the public elliptic-curve examples and classical signature comparison.
Checking the shared service…
Set the API base to your managed Qorvia service. The deployed website uses its same-origin /api proxy. Provider credentials remain server-side; never put a qBraid key in browser code. Keep the random X-Qorvia-Client capability private and reuse it to reopen only your own jobs.
ONE SHARED EXECUTION PATH
Follow the job, not a replay.
Live catalogue identifies device, status, accepted formats, qubit capacity, pricing and QPU or simulator mode.
A 120-second quote fixes program hash, device and shots. Qorvia’s own statevector simulator offers zero-cost execution without qBraid. A fresh quote and available free allowance are required. Paid execution stays disabled.
Save the Qorvia job ID and execution identity; provider jobs also retain their upstream ID. Poll status; a timeout never triggers an automatic new job.
Retrieve actual counts and raw execution measurements. COMPLETED means execution succeeded, not that a hypothesis was confirmed. Generic programs receive no crypto analysis. Only explicitly selected toy elliptic-curve fixtures include separate optional example analysis.
Use GET /v1/jobs and GET /v1/programs with the same private client capability to reopen durable runs and exact program source. Completed results are cached independently of provider availability. Clearing this capability loses history access; downloaded results remain inspectable. A provider submission with uncertain acknowledgement remains SUBMISSION_UNCERTAIN. Refresh reconciles its unique job tag without resubmitting. The Qorvia-owned simulator defaults to 20 free jobs per workspace per UTC day and does not consume qBraid’s credits or free quota. The configured limit is returned by GET /v1/health. A quote is an estimate, not a paid billing cap: unknown, changing or nonzero prices never enter this free path.
CALLABLE QUANTUM PROGRAMS
Deploy once. Invoke from your app.
Create a named endpoint from a saved program, device and shot count. Each immutable version retains its program hash. Invoke with explicit consent and a unique idempotency key; retries with the same key return the same execution. Jobs and results use the normal lifecycle.
Manage endpoints in Deployments →. Optional SOL deposits add USD compute balance from Balance → when payments are configured.
HTTP / JSON
Endpoint reference.
Errors you can act on
{"error":{"code":"QUOTE_EXPIRED","message":"Request a fresh estimate."}}503 PROVIDER_NOT_CONFIGURED → reconnect the provider; 403 EXECUTION_DISABLED → execution approval required; 409 RESULT_NOT_READY → continue polling status; 502 QUOTE_SCHEMA_UNVERIFIED → pricing must be verified before submitting. These states do not generate placeholder jobs or measurements.
BOUNDED, INSPECTABLE PROGRAMS
Bring a bounded program.
Use static OpenQASM 3 with 1–12 qubits, 1–12 classical bits, final measurements and at most 512 standard gate instructions. Source is bounded to 12,000 characters; only stdgates.inc may be included. Loops, conditionals, resets, external includes, pulse code and unbound parameters are not supported. Every declared classical bit must be measured once. The first example is a two-qubit Bell circuit; the crypto examples use a six-qubit, static toy elliptic-curve experiment over F₃: y² = x³ + x, generator G = (2,1), subgroup order 4. Public challenge case-0 uses Q=(2,1); case-2 uses Q=(2,2). Shots: 1–1024. Bundled toy QASM2 source is converted through Qiskit to QASM3 before submission.
Bitcoin and Solana are explanation profiles for the shared discrete-log threat. This small curve is not secp256k1 or Ed25519, and its table-synthesized oracle is not scalable curve arithmetic. The program receives public G and Q, not a private wallet key.
For the toy experiments, results preserve six-bit provider counts; the optional example decoder reads the low four exponent bits in little-endian ordering, votes only from invertible u and verifies the measurement-derived candidate against Q. Hardware availability, compilation and noisy recovery are distinct from ideal-simulator feasibility.
Download case-0.qasm ↗Download case-2.qasm ↗PQC BUILDER TOOLKIT
Measure the signing tradeoff.
Compare ECDSA secp256k1 (Bitcoin profile) or Ed25519 (Solana profile) against ML-DSA-44. Qorvia generates ephemeral server-side keys, signs your message and verifies every signature. Results include measured median key generation, signing and verification times across five iterations, public-key bytes and actual signature bytes.
These are classical CPU measurements using cryptography and pqcrypto, not quantum execution or transaction signing. Bitcoin ECDSA is DER-encoded; Taproot Schnorr and native-chain PQ signatures are not measured here. Timing varies by host; ML-DSA is not a drop-in blockchain transaction format.
Run a comparison to inspect measured values.