v1

latestOpenAPI 3.1.02026-07-17373221.0 KB
Verify Contracts

Verify Contract (Standard JSON)

Submit a contract for verification via the Solidity standard JSON input or Vyper JSON input.

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.

post/v2/verify/{chainId}/{address}

Path parameters

chainId31318 | 42431 | 4217 required
addressstring required

Request body

stdJsonInputobject required

Full standard JSON object to pass to the compiler.

Must include the language field inside the stdJsonInput object. Currently supports Solidity and Vyper.

compilerVersionstring required
contractIdentifierstring required

The fully qualified file path and contract name to indicate which contract to verify.

creationTransactionHashstring

The hash of the transaction that created this contract. Optional.

Example request

{
  "compilerVersion": "0.8.7+commit.e28d00a7",
  "contractIdentifier": "contracts/Storage.sol:Storage",
  "creationTransactionHash": "0xb6ee9d528b336942dd70d3b41e2811be10a473776352009fd73f85604f5ed206"
}

Response

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}

verificationIdstring uuid required