• /v1/l2/atlantic-query/proof-verification

This endpoint lets you verify already generated proofs with Integrity verifier.

How to use?

To verify the proof, upload the proof.json file along with stoneVersion and memoryVerification settings for the verifier. The endpoint also offers an option to mock the fact hash, which bypasses actual verification on chain. It is useful for testing purposes.

Sending request

  • Query Parameters
    • apiKey (string, required)
  • Request Body
    • proofFile (file - .json, required) - File containing proof to verify.
    • mockFactHash (boolean, required) - If true the fact hash will be mocked, bypassing actual verification for testing purposes.
    • stoneVersion (string, required) - stone5 or stone6. For Sharp proofs, stone6 has to be used.
    • memoryVerification (string, required) - strict, relaxed or cairo1. Type of public memory verification. strict and relaxed are for cairo 0. strict should be used if possible, however for some bootloaders (e.g. one used by Sharp) relaxed is required.

Responses

  • Success (201 created)

    {
        "atlanticQueryId": "string"
    }
    
  • Error responses

    • 400 Bad Request - Indicates that parameters are invalid such as providing programFile with programHash at the same request
    • 500 Internal Server Error - This says error is on our side.

Example request

curl -X 'POST' \
  'https://atlantic.api.herodotus.cloud/v1/l2/atlantic-query/proof-verification?apiKey=<your-api-key>' \
  -H 'accept: application/json' \
  -H 'Content-Type: multipart/form-data' \
  -F 'proofFile=@proof.json;type=application/json' \
  -F 'mockFactHash=false' \
  -F 'stoneVersion=stone6' \
  -F 'memoryVerification=strict'