Cloud Backends
QCOS provides a unified API across all supported quantum cloud providers. This page shows how to configure each provider, authenticate, and route circuits through QCOS.
How QCOS connects to cloud providers
QCOS sits between your agent and the hardware. It handles authentication, circuit transpilation, calibration-aware routing, and DRR scoring — the agent only sees the QCOS API.
Agent → QCOS API → [ IBM Quantum | IonQ | AWS Braket | Azure Quantum | On-prem ]
You provide cloud credentials once in the QCOS portal or environment. From that point on, all circuits go through QCOS regardless of which hardware they execute on.
IBM Quantum
Supported systems: ibm-brisbane, ibm-torino, ibm-kyiv, ibm-sherbrooke, ibm-eagle (and others via IBM Quantum Network)
Authentication:
# Set in QCOS Portal or environment
export IBM_QUANTUM_TOKEN="your-ibm-quantum-api-token"
export IBM_QUANTUM_INSTANCE="ibm-q/open/main" # or your hub/group/project
Backend IDs in QCOS:
# List IBM backends
backends = qcos.backends.list(provider="ibm")
# Returns: ibm-brisbane, ibm-torino, ibm-kyiv, ...
Notes:
- QCOS auto-transpiles circuits to IBM native gate set (ECR, SX, X, RZ)
- Calibration data is fetched every 15 minutes from IBM Quantum
- DRR scoring is available for all IBM systems
IonQ
Supported systems: ionq-aria-1, ionq-aria-2, ionq-forte-1, ionq-simulator
Authentication:
export IONQ_API_KEY="your-ionq-api-key"
Backend IDs in QCOS: ionq-aria-1, ionq-aria-2, ionq-forte-1, ionq-simulator
Notes:
- IonQ systems use native gate set (MS, GPi, GPi2)
- QCOS transpiles from OpenQASM 3 / Qiskit to IonQ native
- Queue depth and error rates fetched in real time via IonQ Cloud API
AWS Braket
Supported systems: All Braket hardware (IonQ Harmony, IQM Garnet, QuEra Aquila) and on-demand simulators
Authentication:
export AWS_ACCESS_KEY_ID="..."
export AWS_SECRET_ACCESS_KEY="..."
export AWS_DEFAULT_REGION="us-east-1"
export AWS_BRAKET_S3_BUCKET="your-braket-results-bucket"
Or use an IAM role if running inside AWS:
{
"Action": [
"braket:CreateQuantumTask",
"braket:GetQuantumTask",
"braket:CancelQuantumTask",
"braket:SearchQuantumTasks"
],
"Resource": "*"
}
Backend IDs in QCOS: aws-ionq-harmony, aws-iqm-garnet, aws-quera-aquila, aws-sv1 (simulator)
Azure Quantum
Supported systems: Quantinuum H-Series, IonQ (via Azure), Microsoft Resource Estimator
Authentication:
export AZURE_QUANTUM_SUBSCRIPTION_ID="..."
export AZURE_QUANTUM_RESOURCE_GROUP="..."
export AZURE_QUANTUM_WORKSPACE="..."
export AZURE_TENANT_ID="..."
export AZURE_CLIENT_ID="..."
export AZURE_CLIENT_SECRET="..."
Or use managed identity if running on Azure:
# No credentials needed — uses workload identity
export AZURE_QUANTUM_USE_MANAGED_IDENTITY=true
Backend IDs in QCOS: azure-quantinuum-h2, azure-ionq-aria, azure-microsoft-estimator
Google Quantum AI
Supported systems: Willow, Sycamore (via research partnerships)
Authentication:
export GOOGLE_CLOUD_PROJECT="your-project-id"
# Uses Application Default Credentials (gcloud auth application-default login)
Backend IDs in QCOS: google-willow, google-sycamore
Note: Google Quantum AI access requires a research or commercial agreement. Contact sales@softquantus.com.
On-premises QPUs and GPU simulators
QCOS supports on-prem deployments via the QCOS Edge Agent — a lightweight container that connects your local hardware to the QCOS runtime.
# Deploy Edge Agent
docker run -d \
-e QCOS_EDGE_TOKEN="your-edge-token" \
-e BACKEND_TYPE="qpu" # or "gpu-simulator" \
-e BACKEND_ENDPOINT="http://localhost:5000" \
-p 8080:8080 \
softquantus/qcos-edge-agent:latest
Once registered, your on-prem backend appears in qcos_list_backends with ID format edge-{your-name}.
GPU simulators (LUMI / EuroHPC)
QCOS integrates natively with the LUMI supercomputer GPU partition and other EuroHPC systems for large-scale circuit simulation.
# Route to LUMI GPU simulator — up to 34 qubits, statevector
result = qcos.jobs.run(
circuit=circuit,
backend="lumi-gpu-sv",
shots=100000,
)
Available simulator backends:
| ID | Description | Max qubits | Provider |
|---|---|---|---|
lumi-gpu-sv | Statevector on NVIDIA A100 | 34 | EuroHPC LUMI |
lumi-gpu-dm | Density matrix simulation | 20 | EuroHPC LUMI |
aws-sv1 | SV1 statevector | 34 | AWS Braket |
ibm-aer-sv | Aer statevector | 32 | IBM Quantum (cloud) |
local-aer | Aer on your machine | 30 | Local (Edge Agent) |
Backend selection in agents
An agent can select a backend based on live criteria:
# Ask the agent: pick the best backend for a 20-qubit circuit
response = client.messages.create(
model="claude-sonnet-4-6",
mcp_servers=[{ "type": "url", "url": "https://mcp.softquantus.com/sse", ... }],
messages=[{
"role": "user",
"content": "I need to run a 20-qubit circuit with 50,000 shots. Pick the backend with the best DRR score and lowest queue depth right now."
}],
)
# Agent calls qcos_list_backends, filters, selects, then submits
Next steps
- Agent Integration Guide — multi-step agent workflows
- MCP Tools Reference —
qcos_list_backends,qcos_submit_circuit - QCOS Pricing — cost per backend per shot