Prover Service API
Version: 0.1.1
Overview
This documentation outlines the Prover and Proof Delivery Service API, defined with OpenAPI 3.0.3. This service allows for the registration of Valida VM programs and inputs, submission of proof generation requests, and retrieval of proofs and their statuses. The API is designed to be integrated with AWS Lambda via the Amazon API Gateway, facilitating seamless backend processing.
Authentication
To authenticate with the Prover and Proof Delivery Service API, include your API key in the header of each request:
x-api-key: YOUR_API_KEY_HERE
Errors
We use conventional HTTP response codes to indicate the success or failure of an API request. In general: Codes in the 2xx
range indicate success. Codes in the 4xx
range indicate an error that failed given the information provided (e.g., a required parameter was omitted etc.). Codes in the 5xx
range indicate an error with the servers (these are rare).
200 OK
Everything worked as expected.
400 Bad Request
The request was unacceptable, often due to missing a required parameter.
403 Forbidden
The API key doesn’t have permissions to perform the request.
404 Not Found
The requested resource doesn’t exist.
500 Server Errors
Something went wrong on the server.
APIs
POST /program
POST /program-input
POST /proof
GET /proof/status/:id
GET /proof/:id
Register program
Registers a new Valida VM program from binary data
Request body required
Binary data of the Valida VM program.
Returns
An object with the UUID of the registered program.
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
Register program input
Registers input for a Valida VM program from binary data.
Request body required
Binary data of the Valida VM program input.
Returns
An object with the UUID of the registered program input.
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
Submit proof request
Submits a proof generation request for a specific program and input combination.
Request body required
An object with program UUID and program input UUID.
{
"program-id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"program-input-id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
Returns
An object with the UUID of the proof request.
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
Get proof status
Get the status of a proof generation request.
Parameters
id string
UUID of the proof request
Returns
An object with the proof status (SUBMITTED
, PROCESSING
, COMPLETED
, orERROR
).
{
"status": "SUBMITTED"
}
Get proof
Retrieves a serialized proof given a proof ID.
Parameters
id string
UUID of the proof request
Returns
An object with serialized proof.
{
"proof": "string"
}
Additional Notes
The API integrates with AWS Lambda for backend processing, utilizing Amazon API Gateway for connectivity and security.
Future versions of the API may include endpoints for proof delivery functionalities.
Last updated