Skip to main content
POST
Verify Solidity Source Code

Authorizations

apikey
string
query
required

Enter your Etherscan API key, or set one up if you don't have one.

Query Parameters

chainid
string
required

Chain ID to query, eg 1 for Ethereum, 42161 for Arbitrum from our supported chains.

module
string
default:contract
required

Set to contract for this endpoint.

action
string
default:verifysourcecode
required

Set to verifysourcecode for this endpoint.

Body

application/x-www-form-urlencoded
contractaddress
string
required

The address where the contract is deployed.

Example:

"0xdAC17F958D2ee523a2206206994597C13D831ec7"

sourceCode
string
required

The Solidity source code to verify.

contractname
string
required

The contract name, including path if applicable. If codeformat=solidity-standard-json-input, then enter contractname as erc20.sol:erc20.

Example:

"contracts/Verified.sol:Verified"

compilerversion
string
required

Compiler version used for compilation. See the supported Solidity compiler versions.

Example:

"v0.8.24+commit.e11b9ed9"

codeformat
string

Use solidity-single-file for a single file or solidity-standard-json-input for JSON input.

Example:

"solidity-standard-json-input"

optimizationUsed
string

Required for solidity-single-file verification and when codeformat is omitted or unrecognized. Not required for solidity-standard-json-input.

Example:

"0"

runs
string

Number of optimization runs.

Example:

"200"

constructorArguments
string

Optional constructor arguments used in contract deployment.

Example:

"00000000000000000000000074271f2282ed7ee35c166122a60c9830354be42a"

evmVersion
string

Use compiler default or specify an EVM version such as byzantium, shanghai.

Example:

"default"

licenseType
string

The open source license to associate with the verified source code, e.g 3 for MIT.

Example:

"1"

Response

200 - application/json

Successful response

status
string

1 if the request returned data, 0 otherwise. A status of 0 can indicate an error or a valid request that returned no records.

message
string

OK on success, otherwise an error description such as NOTOK. See common error messages.

result
string

GUID for the verification submission. Use it with checkverifystatus to poll the result.