420Docs context
Skip to content

Getting started

420 Verify checks whether published source/build inputs reproduce code deployed on the 420 network.

Before you submit

Prepare the target chain ID and contract address, plus either Solidity Standard JSON Input or a complete multi-file source bundle. Record the exact compiler version, optimizer settings/runs, EVM version, via-IR setting, metadata hash mode, linked libraries, and constructor arguments when known.

Do not submit private keys, seed phrases, signing keys, keystore passwords, or wallet secrets. The API rejects secret-bearing fields.

Submission

Use POST /v1/verify/submissions with the target chain/address and committed source/build submission. The service independently reads canonical deployed bytecode from its configured RPC, reproduces the build with an allowlisted compiler, compares the results, and persists reproducible evidence.

Lookup

Use GET /v1/verify/{chainID}/{address}/{runtimeCodeHash} for the latest record bound to an exact deployed-code subject. Use the /history form for the full append-only history, or GET /v1/verify/evidence/{recordHash} for a specific evidence record.

Interpret the result

FULL_MATCH, PARTIAL_MATCH, MISMATCH, and UNVERIFIABLE are distinct states. A successful verification proves correspondence between published build inputs and deployed code; it is not an audit, endorsement, safety guarantee, Registry registration, or Wallet permission.

Public testnet URLs remain deployment-specific and are tracked in testnet/public-services/verify/readiness.json.