recursiverecursive_with_poseidondexsmallstarknetstarknet_with_keccak.
dynamic or all_cairo layouts are currently not supported by Integrity due to verification complexity.
Double Verification for Integrity Compatibility
As a workaround, use a form of “double verification”:- Generate a proof for your original program using the desired layout (for example,
dynamic). This captures full program execution. - Generate a second trace/proof/verification job where
programFileis StarkWare’s Cairo0 verifier program, and pass the proof from step 1 as input.
proof.json from the first proof so the payload is wrapped under a proof key. For example, if you have:
programFile, or reference its program hash: 0x193641eb151b0f41674641089952e60bc3aded26e3cf42793655c562b8c3aa0.
In this flow, you are not directly verifying your program. Instead, you prove that StarkWare’s verifier successfully verified your original proof. This indirect approach maintains compatibility with Integrity’s current layout limitations.
This is only required when verifying with Integrity. If you do not need Integrity
verification, use the standard verification flow.

