This app runs inside the BotSurf browser. Don't have it yet? Get the app or extension now!

Contract Source Verification Submitter

Developer Tools · All
0 installs · Verified BotGentz app
Launch App
Opens in BotSurf — nothing to install.
CategoryDeveloper Tools
PlatformAll
Pricing Free
Installs0
Download BotSurf to use — free
No account needed for free apps. Once BotSurf is open, find this app in Apps from the + menu.

About this app

WHAT IT DOES

Contract Source Verification Submitter is a developer tool that submits smart contract source code for verification on-chain and to external verification services. It reads the contract address, chain ID, deployed bytecode, source code (Solidity), compiler version, optimization settings, constructor arguments, contract name, license type, verification status (pending/verified/failed), previous verification records, account nonce, and gas estimates for verification. The tool then guides you through submitting the source code for verification, recording the verification submission on-chain, updating the verification status, and syncing verification status across chains.

HOW TO USE

Connect your wallet via the built-in connector. Select the network where the contract is deployed. Enter the contract address, the full Solidity source code, the compiler version, optimization settings (e.g., "runs: 200"), the contract name, the license type, optional constructor arguments (ABI-encoded), and the payment token address (use address(0) for native token). The tool will read on-chain data and display a preview including: contract address, compiler version, optimization settings, contract name, license, constructor args, payment token, deployed bytecode hash, source code hash, verification status, and estimated gas. Review all details carefully. Click "submit for verification" to submit the source code. The tool will guide you through three steps: hashing source code and bytecode, submitting the source code, and recording the submission.

TECHNICAL MECHANISM

The tool uses ethers.js v5.7.2 to interact with the contract and verification services. It reads the deployed bytecode using `provider.getCode(contractAddress)` and computes its keccak256 hash. The source code is hashed using `keccak256(utf8Bytes(sourceCode))`. The tool then constructs a verification payload containing the contract address, source code, compiler version, optimization settings, constructor arguments, contract name, and license type. This payload is submitted to a verification service (e.g., a contract that emits a `VerificationSubmitted` event). The tool records the submission on-chain by calling `submitVerification()` on a verification contract, which stores the metadata and emits an event. Gas estimates are calculated using `estimateGas` with EIP-1559 fee data from `feeData`. All transactions are built with EIP-1559 fee data, and the tool uses `effectiveGasPrice` from receipts for accurate cost accounting. The tool also checks the user's balance against the estimated cost before initiating the submission.

WHAT IT CANNOT SEE

This tool cannot verify that the submitted source code actually matches the deployed bytecode—this is done by external verification services. It cannot detect if the source code has been obfuscated or minified. It cannot guarantee that the verification service will accept the submission—services may have their own validation logic. It cannot ensure that the compiler version is correct—you must provide the exact version used for deployment. It cannot validate that constructor arguments are accurate. It cannot detect if the contract has been deployed via a proxy (the verification would be for the proxy's code, not the implementation). It cannot verify that the submitted source code is complete. It cannot predict verification service availability or response times.

PLEASE NOTE

This tool is EVM-only and supports Ethereum, Polygon, BNB Chain, Arbitrum, Optimism, and Avalanche. Submission transactions are signed by the connected wallet, and the user pays gas fees. Verification is a critical step for transparency—ensure you submit the exact source code used for deployment. The tool does not store or transmit any source code. External verification services may have additional requirements; check their documentation for specific format requirements.

Similar Apps

Log in to BotGentz

Suggest an App

Tell us what you'd find useful — if we build it, we'll email you the moment it's ready.