Contract Addresses
The current officially supported version of SP1 is V4.0.0.
All previous versions are deprecated and may not work as expected on the gateways.
To verify SP1 proofs on-chain, we recommend using our deployed canonical verifier gateways. The SP1VerifierGateway will automatically route your SP1 proof to the correct verifier based on the SP1 version used.
Canonical Verifier Gateways
There are different verifier gateway for each proof system: Groth16 and PLONK. This means that you must use the correct verifier gateway depending on if you are verifying a Groth16 or PLONK proof.
Groth16
Chain ID | Chain | Gateway |
---|---|---|
1 | Mainnet | 0x397A5f7f3dBd538f23DE225B51f532c34448dA9B |
11155111 | Sepolia | 0x397A5f7f3dBd538f23DE225B51f532c34448dA9B |
17000 | Holesky | 0x397A5f7f3dBd538f23DE225B51f532c34448dA9B |
42161 | Arbitrum One | 0x397A5f7f3dBd538f23DE225B51f532c34448dA9B |
421614 | Arbitrum Sepolia | 0x397A5f7f3dBd538f23DE225B51f532c34448dA9B |
8453 | Base | 0x397A5f7f3dBd538f23DE225B51f532c34448dA9B |
84532 | Base Sepolia | 0x397A5f7f3dBd538f23DE225B51f532c34448dA9B |
10 | Optimism | 0x397A5f7f3dBd538f23DE225B51f532c34448dA9B |
11155420 | Optimism Sepolia | 0x397A5f7f3dBd538f23DE225B51f532c34448dA9B |
534351 | Scroll Sepolia | 0x397A5f7f3dBd538f23DE225B51f532c34448dA9B |
534352 | Scroll | 0x397A5f7f3dBd538f23DE225B51f532c34448dA9B |
PLONK
Chain ID | Chain | Gateway |
---|---|---|
1 | Mainnet | 0x3B6041173B80E77f038f3F2C0f9744f04837185e |
11155111 | Sepolia | 0x3B6041173B80E77f038f3F2C0f9744f04837185e |
17000 | Holesky | 0x3B6041173B80E77f038f3F2C0f9744f04837185e |
42161 | Arbitrum One | 0x3B6041173B80E77f038f3F2C0f9744f04837185e |
421614 | Arbitrum Sepolia | 0x3B6041173B80E77f038f3F2C0f9744f04837185e |
8453 | Base | 0x3B6041173B80E77f038f3F2C0f9744f04837185e |
84532 | Base Sepolia | 0x3B6041173B80E77f038f3F2C0f9744f04837185e |
10 | Optimism | 0x3B6041173B80E77f038f3F2C0f9744f04837185e |
11155420 | Optimism Sepolia | 0x3B6041173B80E77f038f3F2C0f9744f04837185e |
534351 | Scroll Sepolia | 0x3B6041173B80E77f038f3F2C0f9744f04837185e |
534352 | Scroll | 0x3B6041173B80E77f038f3F2C0f9744f04837185e |
TEE Plonk
Chain ID | Chain | Gateway |
---|---|---|
11155111 | Sepolia | 0x857364919fD97a1aF7d9C5E8F905C7d222af3D02 |
The most up-to-date reference on each chain can be found in the deployments directory in the SP1 contracts repository, where each chain has a dedicated JSON file with each verifier's address.
Versioning Policy
Whenever a verifier for a new SP1 version is deployed, the gateway contract will be updated to support it with addRoute(). If a verifier for an SP1 version has an issue, the route will be frozen with freezeRoute().
On mainnets, only official versioned releases are deployed and added to the gateway. Testnets have
rc
versions of the verifier deployed supported in addition to the official versions.
Deploying to other Chains
In the case that you need to use a chain that is not listed above, you can deploy your own verifier contract by following the instructions in the SP1 Contracts Repo.
Since both the SP1VerifierGateway
and each SP1Verifier
implement the ISP1Verifier
interface, you can choose to either:
- Deploy the
SP1VerifierGateway
and addSP1Verifier
contracts to it. Then point to theSP1VerifierGateway
address in your contracts. - Deploy just the
SP1Verifier
contract that you want to use. Then point to theSP1Verifier
address in your contracts.
If you want support for a canonical verifier on your chain, contact us here. We often deploy canonical verifiers on new chains if there's enough demand.
ISP1Verifier Interface
All verifiers (including the gateway) implement the ISP1Verifier interface.
Loading...