Download OpenAPI specification:
This document outlines the available API endpoints for Ethproofs.
Base URL
All API endpoints are relative to:
https://staging--ethproofs.netlify.app/api/v0
Authentication
All endpoints require authentication using an API key in the request header:
Authorization: Bearer <api_key>
nickname required | string <= 50 characters Human-readable name. Main display name in the UI |
description | string <= 200 characters Description of the cluster |
zkvm_version_id required | integer > 0 ID of the zkVM version. Visit ZKVMs to view all available zkVMs and their IDs. |
hardware | string <= 200 characters Deprecated Technical specifications. Use |
cycle_type | string <= 50 characters Type of cycle |
proof_type | string <= 50 characters Proof system used to generate proofs. (e.g., Groth16 or PlonK) |
required | Array of objects Cluster configuration |
{- "nickname": "ZKnight-01",
- "description": "Primary RISC-V prover",
- "zkvm_version_id": 1,
- "hardware": "RISC-V Prover",
- "cycle_type": "SP1",
- "proof_type": "Groth16",
- "configuration": [
- {
- "machine": {
- "cpu_model": "Intel(R) Xeon(R) CPU @ 2.20GHz",
- "cpu_cores": 2,
- "gpu_models": [
- "RTX 4090",
- "RTX 4080"
], - "gpu_count": [
- 1,
- 1
], - "gpu_memory_gb": [
- 24,
- 24
], - "memory_size_gb": [
- 32,
- 32
], - "memory_count": [
- 8,
- 8
], - "memory_type": [
- "DDR5-4800 ECC",
- "DDR5-4800 ECC"
], - "storage_size_gb": 1000,
- "total_tera_flops": 1000,
- "network_between_machines": "Dual-port 100GbE NICs in mesh topology with RDMA enabled, primary and backup interconnects between all nodes"
}, - "machine_count": 1,
- "cloud_instance_name": "c5.xlarge",
- "cloud_instance_count": 10
}
]
}
{- "id": 0
}
[- {
- "id": 0,
- "nickname": "string",
- "description": "string",
- "hardware": "string",
- "cycle_type": "string",
- "proof_type": "string",
- "machines": [
- {
- "machine": {
- "cpu_model": "Intel(R) Xeon(R) CPU @ 2.20GHz",
- "cpu_cores": 2,
- "gpu_models": [
- "RTX 4090",
- "RTX 4080"
], - "gpu_count": [
- 1,
- 1
], - "gpu_memory_gb": [
- 24,
- 24
], - "memory_size_gb": [
- 32,
- 32
], - "memory_count": [
- 8,
- 8
], - "memory_type": [
- "DDR5-4800 ECC",
- "DDR5-4800 ECC"
], - "storage_size_gb": 1000,
- "total_tera_flops": 1000,
- "network_between_machines": "Dual-port 100GbE NICs in mesh topology with RDMA enabled, primary and backup interconnects between all nodes"
}, - "machine_count": 0,
- "cloud_instance": {
- "id": 0,
- "provider": "string",
- "instance_name": "string",
- "region": "string",
- "hourly_price": 0,
- "cpu_arch": "string",
- "cpu_cores": 0,
- "cpu_effective_cores": 0,
- "cpu_name": "string",
- "memory": 0,
- "gpu_count": 0,
- "gpu_arch": "string",
- "gpu_name": "string",
- "gpu_memory": 0,
- "mobo_name": "string",
- "disk_name": "string",
- "disk_space": 0,
- "created_at": "string",
- "snapshot_date": "string"
}, - "cloud_instance_count": 0
}
]
}
]
nickname required | string <= 50 characters Human-readable name. Main display name in the UI |
description | string <= 200 characters Description of the cluster |
zkvm_version_id required | integer > 0 ID of the zkVM version. Visit ZKVMs to view all available zkVMs and their IDs. |
hardware | string <= 200 characters Deprecated Technical specifications. Use |
cycle_type | string <= 50 characters Type of cycle |
proof_type | string <= 50 characters Proof system used to generate proofs. (e.g., Groth16 or PlonK) |
required | object Physical hardware specifications of the machine |
cloud_instance_name required | string The instance_name value of the cloud instance. Visit Cloud Instances to view all available instances and their exact names. |
{- "nickname": "ZKnight-01",
- "description": "Primary RISC-V prover",
- "zkvm_version_id": 1,
- "hardware": "RISC-V Prover",
- "cycle_type": "SP1",
- "proof_type": "Groth16",
- "machine": {
- "cpu_model": "Intel(R) Xeon(R) CPU @ 2.20GHz",
- "cpu_cores": 2,
- "gpu_models": [
- "RTX 4090",
- "RTX 4080"
], - "gpu_count": [
- 1,
- 1
], - "gpu_memory_gb": [
- 24,
- 24
], - "memory_size_gb": [
- 32,
- 32
], - "memory_count": [
- 8,
- 8
], - "memory_type": [
- "DDR5-4800 ECC",
- "DDR5-4800 ECC"
], - "storage_size_gb": 1000,
- "total_tera_flops": 1000,
- "network_between_machines": "Dual-port 100GbE NICs in mesh topology with RDMA enabled, primary and backup interconnects between all nodes"
}, - "cloud_instance_name": "c5.xlarge"
}
{- "id": 0
}
The prover indicates they'll prove a block, but they haven't started proving yet.
block_number required | number >= 0 |
cluster_id required | number |
{- "block_number": 123456,
- "cluster_id": 1
}
{- "proof_id": 0
}
The prover indicates they've started proving a block.
block_number required | number >= 0 |
cluster_id required | number |
{- "block_number": 123456,
- "cluster_id": 1
}
{- "proof_id": 0
}
The prover indicates they've completed proving a block.
block_number required | number >= 0 |
cluster_id required | number |
proving_time required | number > 0 Milliseconds taken to generate the proof |
proving_cycles | integer > 0 Number of cycles taken to generate the proof |
proof required | string Proof in base64 format |
verifier_id | string vkey/image-id |
{- "block_number": 123456,
- "cluster_id": 1,
- "proving_time": 1000,
- "proving_cycles": 10000,
- "proof": "YmluYXJ5X3Byb29mX2RhdGE=",
- "verifier_id": "..."
}
{- "proof_id": 0
}
Returns a list of available cloud instances across different providers. Filter results by provider using the query parameter. See Cloud Instances for a visual table view and more details.
provider | string |
[- {
- "id": 0,
- "provider": "string",
- "instance_name": "string",
- "region": "string",
- "hourly_price": 0,
- "cpu_arch": "string",
- "cpu_cores": 0,
- "cpu_effective_cores": 0,
- "cpu_name": "string",
- "memory": 0,
- "gpu_count": 0,
- "gpu_arch": "string",
- "gpu_name": "string",
- "gpu_memory": 0,
- "mobo_name": "string",
- "disk_name": "string",
- "disk_space": 0,
- "created_at": "string",
- "snapshot_date": "string"
}
]