Verified contracts show their full Solidity source on the explorer, so users can read exactly what the code does before interacting with it. Verification takes about 2 minutes.
| Solidity version | exact version you compiled with (e.g. 0.8.20) |
| EVM version | paris (or london) — Qumtam Chain does not support PUSH0/shanghai |
| Optimization | same on/off setting and runs value used at deploy time |
shanghai or later. Always set evmVersion: "paris" in Hardhat/Foundry before deploying to Qumtam Chain — otherwise deployment itself fails with invalid opcode: PUSH0.# Hardhat npx hardhat flatten contracts/MyContract.sol > MyContractFlat.sol # Foundry forge flatten src/MyContract.sol > MyContractFlat.sol
paris, optimization setting, then paste the flattened source.# Foundry
forge verify-contract \
--verifier blockscout \
--verifier-url https://explorer.qumtamchain.com/api \
--chain-id 424242 \
<CONTRACT_ADDRESS> src/MyContract.sol:MyContract
# Hardhat (hardhat.config.js)
etherscan: {
apiKey: { qumtam: "no-key-needed" },
customChains: [{
network: "qumtam",
chainId: 424242,
urls: {
apiURL: "https://explorer.qumtamchain.com/api",
browserURL: "https://explorer.qumtamchain.com"
}
}]
}
# then: npx hardhat verify --network qumtam <ADDRESS> [constructor args]
The official QTMVesting contract (9,900,000 QTM locked, 180-month unlock) is verified with: Solidity 0.8.20, EVM paris, optimization off — you can read its full source on the Contract tab as a reference.