Submit a contract for verification via the Solidity standard JSON input, Vyper JSON input, or Fe JSON input (a Sourcify-defined format — Fe has no official compiler JSON interface).
There are no “single file” or “multi-part” verification endpoints because those are essentially wrappers around the Solidity compiler’s JSON interface. The verification frontend can provide files and settings options to resemble these.
You can optionally pass the creationTransactionHash to make Sourcify reliably fetching the creation bytecode. Otherwise, it will try to fetch it itself which is dependent on external services.
Note: The outputSelection field in the stdJsonInput.settings will be overridden during verification to ensure all necessary artifacts are generated.
Documentation Index
Fetch the complete documentation index at: https://hedera-0c6e0218-update-sourcify-migration-issue-508-luke.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
The chainId number of the EVM chain
1 - 20^\d+$"11155111"
Contract's 20 byte address in hex string with the 0x prefix. Case insensitive.
42(\b0x[a-fA-F0-9]{40}\b)"0x2738d13E81e30bC615766A0410e7cF199FD59A83"
Full standard JSON object to pass to the compiler.
Must include the language field inside the stdJsonInput object. Currently supports Solidity, Vyper, and Fe.
^v?\d+\.\d+\.\d+.*$"0.8.7+commit.e28d00a7"
The fully qualified file path and contract name to indicate which contract to verify, in the format path/to/file:ContractName.
"contracts/Storage.sol:Storage"
The hash of the transaction that created this contract. Optional.
(\b0x[a-f0-9]{64}\b)"0xb6ee9d528b336942dd70d3b41e2811be10a473776352009fd73f85604f5ed206"
Successfully submitted the verification. The server started to process the verification.
You can follow the verification status via the returned verificationId at GET /v2/verify/{verificationId}