Verify EVM Contracts on Walnut
To debug your contracts in Walnut and step through transactions at the source code level, start by verifying your contracts on our verification UI.
Once verified, you can use the Walnut Debugger to replay blockchain transactions and analyze their execution line by line.
Contract verification is available on OP Mainnet, OP Sepolia, and custom networks, please contact us to request support for additional public networks or add your own private networks.
Verification modes
Walnut offers 2 different modes for Smart Contracts verification:
- Public verification: Verify your contracts publicly on any chain supported by Walnut, you will only need to be authenticated via Github. Your verified contracts will be publicly available on our Contract Viewer repo.
- Private verification: Verify your contracts privately on your configured custom networks, only users within your organization will be able to access these privately verified contracts.

Verification parameters
The first step to verify your contract is to select the EVM chain where it is deployed as well as the contract address and language.

Verification methods
Our verification UI offers several ways to verify your contracts:
- Standard JSON Input (recommended) - Upload a file using standard JSON input format.
- Source code upload - Upload your project source code using file uploads.
- Foundry: It is also possible to verify your contracts on the command line using Founrdry, contact us if you'd like to enable this workflow.

Using Foundry's forge, you can get the Standard JSON input using this command:
forge verify-contract --show-standard-json-input 0x5059c7F4e62Ce813f79c1F59f3924DDc6347Ce31 \
src/Counter.sol:Counter > standard-json-input.json
Verification settings
Finally, choose the compiler version your contract was compiled with and the contract identifier and click on the Verify Contract button.

Verification submitted
After your verification is submitted, our Sourcify server will trigger the verification process which involves recompiling your contract sources and comparing the resulting bytecode with on-chain deployed bytecode.
Click on the View Job Status button to monitor the verification process.

View Job Status
On the job status page, you'll get access to your verified contract in our Contract Viewer repo by clicking on the View in Repository button.

Verified Contract Repository
You can find your verified contracts in our Contract Viewer repo anytime by selecting the appropriate chain ID and your verified contract address.
