Verification uploads your contract’s source code to the block explorer and proves it compiles to the deployed bytecode. Once verified, users can read state, call functions, and audit the source on Stablescan without re-hosting your code. This guide walks through verifying a Foundry-deployed contract on Stable.Documentation Index
Fetch the complete documentation index at: https://docs.stable.xyz/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
- A contract already deployed on Stable testnet or mainnet. If you haven’t deployed yet, see Deploy a smart contract.
- Foundry installed (
forgeavailable in your PATH). - The deployed contract address from your
forge createoutput.
1. Confirm the deployed address
Make sure you have theDeployed to address from your earlier deployment. From the Deploy a smart contract flow, this was the value printed after forge create.
2. Run forge verify-contract
Foundry’s verification flow submits your source to the Stablescan verifier.--watch blocks until verification finishes so you don’t have to poll. On mainnet, swap the chain ID to 988 and the verifier URL to https://stablescan.xyz/api.
Constructor arguments: If your contract takes constructor arguments, add
--constructor-args $(cast abi-encode "constructor(uint256,address)" 42 0xSomeAddress) to the command. Without this flag, verification fails for any contract with a non-empty constructor.3. Confirm verification on Stablescan
Open the contract page on the explorer.Troubleshooting
- “Bytecode does not match”: your source compiles to different bytecode than what’s deployed. Most often caused by mismatched Solidity version or optimizer settings. Pass
--compiler-versionand--optimizer-runsexplicitly to match yourfoundry.toml. - “GUID not found”: the verifier hasn’t registered your submission yet. Re-run with
--watchor manually check the URL printed in the response. - Contract uses libraries: add
--libraries src/Lib.sol:Lib:0xDeployedLibAddressfor each linked library.
Next recommended
Index contract events
Subscribe to on-chain events with ethers.js and build a live event stream.
Deploy a smart contract
Scaffold a fresh Foundry project and deploy to Stable testnet.
JSON-RPC reference
See which
eth_* methods Stable supports for on-chain interactions.
