Ethproofs API (0.0.1)

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>

Clusters

Create a cluster

Authorizations:
apikey
Request Body schema: application/json
required
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 configuration.cluster_machine field instead.

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

Responses

Request samples

Content type
application/json
{
  • "nickname": "ZKnight-01",
  • "description": "Primary RISC-V prover",
  • "zkvm_version_id": 1,
  • "hardware": "RISC-V Prover",
  • "cycle_type": "SP1",
  • "proof_type": "Groth16",
  • "configuration": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0
}

List clusters

Authorizations:
apikey

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Single machine

Create a single machine

Authorizations:
apikey
Request Body schema: application/json
required
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 configuration.cluster_machine field instead.

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.

Responses

Request samples

Content type
application/json
{
  • "nickname": "ZKnight-01",
  • "description": "Primary RISC-V prover",
  • "zkvm_version_id": 1,
  • "hardware": "RISC-V Prover",
  • "cycle_type": "SP1",
  • "proof_type": "Groth16",
  • "machine": {
    },
  • "cloud_instance_name": "c5.xlarge"
}

Response samples

Content type
application/json
{
  • "id": 0
}

Proofs

Queued proof

The prover indicates they'll prove a block, but they haven't started proving yet.

Authorizations:
apikey
Request Body schema: application/json
required
block_number
required
number >= 0
cluster_id
required
number

Responses

Request samples

Content type
application/json
{
  • "block_number": 123456,
  • "cluster_id": 1
}

Response samples

Content type
application/json
{
  • "proof_id": 0
}

Proving proof

The prover indicates they've started proving a block.

Authorizations:
apikey
Request Body schema: application/json
required
block_number
required
number >= 0
cluster_id
required
number

Responses

Request samples

Content type
application/json
{
  • "block_number": 123456,
  • "cluster_id": 1
}

Response samples

Content type
application/json
{
  • "proof_id": 0
}

Proved proof

The prover indicates they've completed proving a block.

Authorizations:
apikey
Request Body schema: application/json
required
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

Responses

Request samples

Content type
application/json
{
  • "block_number": 123456,
  • "cluster_id": 1,
  • "proving_time": 1000,
  • "proving_cycles": 10000,
  • "proof": "YmluYXJ5X3Byb29mX2RhdGE=",
  • "verifier_id": "..."
}

Response samples

Content type
application/json
{
  • "proof_id": 0
}

Cloud instances

List cloud instances

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.

query Parameters
provider
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]