Access Options
| Access option
Availability
|
Pay-as-you-go | Exclusive | SDK |
|---|---|---|---|
|
Mo 11:00–15:00 UTC
Tu 08:00–15:00 UTC
Wed 08:00–15:00 UTC
Fri 08:00–15:00 UTC
|
Upon reservation
|
||
| IBEX Q1 on ARNICA cloud | 0.03 € per circuit 0.02 € per shot | 3500 €/h | Qiskit Cirq Pytket |
| Scaleway | Scaleway QaaS pricing | Scaleway QaaS pricing | Qiskit, Cirq PennyLane CUDA-Q |
| AWS | Amazon braket pricing | Amazon braket pricing | Qiskit, Braket SDK PennyLane CUDA-Q |
"""Basic example with the Qiskit AQT provider. Creates a 4-qubit GHZ state."""
import qiskit
from qiskit import QuantumCircuit
from qiskit_aqt_provider.aqt_provider import AQTProvider
if __name__ == "__main__":
# Ways to authenticate the AQTProvider with an Arnica account:
# - using the `log_in` method
# - with a static access token (in precedence order):
# - as argument to the AQTProvider initializer
# - in the AQT_TOKEN environment variable
# - if none of the above is provided, no authentication is attempted and
# access is restricted to the default workspace only.
provider = AQTProvider()
# The backends() method lists all available computing backends. Printing it
# renders it as a table that shows each backend's containing workspace.
print(provider.backends())
# Retrieve a backend by providing search criteria. The search must have a single
# match. For example:
backend = provider.get_backend("offline_simulator_no_noise", workspace="default")
# Define a quantum circuit that produces a 4-qubit GHZ state.
qc = QuantumCircuit(4)
qc.h(0)
qc.cx(0, 1)
qc.cx(0, 2)
qc.cx(0, 3)
qc.measure_all()
# Transpile for the target backend.
qc = qiskit.transpile(qc, backend)
# Execute on the target backend.
result = backend.run(qc, shots=200).result()
if result.success:
print(result.get_counts())
else: # pragma: no cover
print(result.to_dict()["error"])
Check out example libraries
You can find sample code for the AQT Qiskit provider in the GitHub repository linked below. Browse the repository for additional examples and guidance on how to start running your code on AQT hardware. If you would like your own examples to be featured here, please contact us.
What you send is what we run: AQT recognizes the importance of full transparency into the workloads executed on its quantum computers. Researchers conducting experiments on quantum hardware require precise knowledge of the operations performed on the device in order to accurately interpret their results and draw reliable scientific conclusions.
ARNICA Workflow

Developed, produced and hosted in Europe using a European supply chain
Supported by the EIC (European Innovation Council) and the QCDC project (Quantum Computers for Data Centers), AQT makes quantum computers available to European and international researchers, public institutions and industry via the cloud. We take care to process all data in accordance with European data protection regulations.
- We inform that a single job request to the QC System should contain less than 50 circuits, to reduce the overhead in case the job fails and needs to be repeated.
- You can send 2-3 jobs at once (before requesting the result) in order to bypass the network latency. More than 3 jobs at once do not provide any additional advantage.
- The maximum supported number of qubits is 12.
- The maximum supported number of shots (repetitions) per circuit is 2000, whereas less than 20 shots are not advantageous in terms of total runtime. If higher statistical significance is required for a given circuit it may simply be executed multiple times and results can be summed up.
- The maximum supported number of gates per circuit is 2000. Circuits that contain up to 300 gates can be expected to perform according to the accumulated gate fidelities. Beyond 300 gates per circuit the results can be compromised due to decoherence.
- Unless your experiment explicitly requires it differently, we suggest to always use optimization_level = 3 as an option when you execute circuits, because this optimizes/reduces the gate sequence best after transpiling the circuit to our native gate set.
- Save your job results continuously and ideally add commands to capture errors and rerun measurements, such that your Qiskit script does not crash or run in a timeout upon long waiting times or network interruptions. To ease up writing resilient programs, job handles can be persisted to disk on the local machine and retrieved at a later point: https://qiskit-community.github.io/qiskit-aqt-provider/guide.html#job-handle-persistence
- Please test your scripts with the offline simulator first to make sure the backend criteria are met – see the documentation here https://qiskit-community.github.io/qiskit-aqt-provider/index.html











