One platform for every
quantum computer

Submit, manage, and monitor quantum computing jobs across multiple providers. Amazon Braket and IonQ today, with more to come.

Get started

Free during early access: everything here works today.

Integrated

IonQAmazon Braket+ more coming

All product names and trademarks are the property of their respective owners.

Two providers is where the work starts

Going straight to IonQ or Amazon Braket is the right call for one project. It stops being the right call the moment you hold an IonQ key and an AWS account. You then own two credential paths, two circuit formats, two status vocabularies, and two device catalogues that change without telling you.

Three steps to quantum

A simple, powerful workflow that stays out of your way.

1

Submit a job

Submit a job via our API, or use the dashboard, which needs no code at all. Define your provider, shots, and parameters in a single request.

2

Aperis routes it

We handle authentication, serialization, and submission to your chosen quantum provider. You don't touch their SDK.

3

Track results

Monitor job status, and read the results when they land. The provider's own answer is in the record, uninterpreted.

One submission, one job record

The same two calls for either provider. Circuits go in the format that provider actually takes, and the device you selected is the device that reaches the payload.

Submit POST /v1/jobs

{
  "provider": "ionq",
  "device": "simulator",
  "circuit_definition": "{\"qubits\":2,…}",
  "shots": 1000
}

Read GET /v1/jobs/{id}

{
  "status": "completed",
  "result": {
    "probabilities": { "00": 0.5, "11": 0.5 },
    "counts": null,
    "precision": "exact"
  },
  …
}

Abridged. The full job record is fourteen fields.

Nothing here is inferred

Every value is what a provider reported. Each of these is a behaviour you can check against the API rather than a claim about us. Each card names the field that settles it.

Counts are null when nobody counted them

IonQ returns probabilities, not per-shot results, so we never multiply one by the other to manufacture measurements.

result.counts

Cancelling waits for the provider to confirm

If it cannot be reached you get a retryable error, never a job marked cancelled that is still running and still costing you.

error.retryable

A submitted job stays queued until the provider says otherwise

Status reflects what the provider reports, not our optimism about what it is probably doing.

status

Device status carries the vendor's own words

A normalised status you can filter on, and the provider's raw string beside it, uninterpreted.

status, provider_status

Start on a simulator.

An IonQ simulator run costs nothing and exercises the whole path. There is nothing to install.

Create an account