Developer Access

API

Public endpoints. No API key.

Endpoints

Protocol API

Public. No API key.

POST/api/circuit/submit

Submit circuit for verification.

{
  "circuit": "0x...",
  "targetDistribution": [0.5, 0.0, 0.0, 0.5]
}
GET/api/circuit/:id

Get circuit status and result.

GET/api/rewards

List reward allocations and payouts.

GET/api/protocol/status

Protocol health and treasury balance.

Base URL: https://qvm.dev/api

Examples

Request / Response

JSON in/out. ETH values are 18-decimal strings.

Submit circuit

curl -X POST https://qvm.dev/api/circuit/submit \
  -H "Content-Type: application/json" \
  -d '{
    "circuit": "0x01020a00",
    "targetDistribution": [0.5, 0.0, 0.0, 0.5]
  }'
{
  "jobId": 42,
  "status": "pending",
  "submitter": "0x71C...9A2B",
  "submittedAt": "2026-06-09T10:22:00Z"
}

Get status

curl https://qvm.dev/api/circuit/42
{
  "jobId": 42,
  "status": "verified",
  "circuit": "0x01020a00",
  "result": {
    "distribution": [0.5, 0.0, 0.0, 0.5],
    "fidelity": 0.999999999
  },
  "verifiedAt": "2026-06-09T10:24:12Z"
}

List rewards

curl https://qvm.dev/api/rewards
{
  "poolBalance": "12.500000000000000000",
  "totalDistributed": "2.500000000000000000",
  "recent": [
    {
      "jobId": 42,
      "amount": "0.250000000000000000",
      "recipient": "0x71C...9A2B",
      "txHash": "0x3f...a1b2"
    }
  ]
}

Limits

Rate Limits

Per IP and per address.

Read

120 / min

GET

Submit

10 / min

POST /circuit/submit

Claim

5 / min

POST /reward/claim

Errors

Status Codes

Consistent JSON schema.

400Bad Request

Malformed bytecode or invalid distribution.

404Not Found

Job ID does not exist.

409Conflict

Identical circuit already submitted.

422Unprocessable

Simulation failed. Non-unitary or out-of-bounds.

429Rate Limited

Too many requests.

500Internal Error

Transient failure. Retry.