Skip to main content
Use this page to choose the right request body based on your input (programFile or pieFile) and expected result. For step-by-step details, see: For all queries, send:
  • apiKey as a query parameter
  • declaredJobSize in the request body
declaredJobSize determines the machine used for trace generation and affects cost. Choose it based on expected program step count.
Number of steps [millions]Size
0 - 13S
13 - 30M
>30L

Input: Cairo Program (programFile)

  1. Generate trace (pie.zip)
  • Inputs:
    • programFile
    • inputFile (optional, available for Cairo1 and Cairo0 with Rust VM)
    • layout (can be auto)
    • cairoVersion
    • result = TRACE_GENERATION
  • pieFile must be empty
  • Output: trace file (pie.zip)
  1. Generate proof file (proof.json)
  • Inputs:
    • programFile
    • inputFile (optional, available for Cairo1 and Cairo0 with Rust VM)
    • layout (can be auto)
    • cairoVersion
    • result = PROOF_GENERATION
    • sharpProver (stwo or stone) - set to stwo to use S-two prover
  • pieFile must be empty
  • Output: proof file (proof.json)
  1. Generate proof and verify on Layer 1 (L1)
  • Inputs:
    • programFile
    • inputFile (optional, available for Cairo1 and Cairo0 with Rust VM)
    • layout (can be auto)
    • cairoVersion
    • result = PROOF_VERIFICATION_ON_L1
    • sharpProver (stwo or stone) - set to stwo to use S-two prover
  • pieFile must be empty
  • Output: trace, proof, and L1 verification
  1. Generate proof and verify on Layer 2 (L2)
  • Inputs:
    • programFile
    • inputFile (optional, available for Cairo1 and Cairo0 with Rust VM)
    • layout (can be auto)
    • cairoVersion
    • result = PROOF_VERIFICATION_ON_L2
  • pieFile must be empty
  • Output: trace, proof, and L2 verification

Input: Trace File (pie.zip)

  1. Generate proof file (proof.json)
  • Inputs:
    • pieFile
    • layout (can be auto)
    • result = PROOF_GENERATION
    • sharpProver (stwo or stone) - set to stwo to use S-two prover
  • Output: proof file (proof.json)
  1. Generate proof and verify on Layer 1 (L1)
  • Inputs:
    • pieFile
    • layout (can be auto)
    • result = PROOF_VERIFICATION_ON_L1
  • Output: proof and L1 verification
  1. Generate proof and verify on Layer 2 (L2)
  • Inputs:
    • pieFile
    • layout (can be auto)
    • result = PROOF_VERIFICATION_ON_L2
  • Output: proof and L2 verification