forge verify-bytecode
Verify the deployed bytecode against its source on Etherscan
$ forge verify-bytecode --help
Usage: forge verify-bytecode [OPTIONS] <ADDRESS> <CONTRACT>
Arguments:
  <ADDRESS>
          The address of the contract to verify
  <CONTRACT>
          The contract identifier in the form `<path>:<contractname>`
Options:
      --block <BLOCK>
          The block at which the bytecode should be verified
      --constructor-args <ARGS>...
          The constructor args to generate the creation code
      --encoded-constructor-args <HEX>
          The ABI-encoded constructor arguments
      --constructor-args-path <PATH>
          The path to a file containing the constructor arguments
  -r, --rpc-url <RPC_URL>
          The rpc url to use for verification
          
          [env: ETH_RPC_URL=]
  -e, --etherscan-api-key <KEY>
          The Etherscan (or equivalent) API key
          
          [env: ETHERSCAN_API_KEY=]
  -c, --chain <CHAIN>
          The chain name or EIP-155 chain ID
          
          [env: CHAIN=]
      --root <PATH>
          The project's root path.
          
          By default root of the Git repository, if in one, or the current
          working directory.
      --ignore <BYTECODE_TYPE>
          Ignore verification for creation or runtime bytecode
          
          [possible values: creation, runtime]
  -h, --help
          Print help (see a summary with '-h')
  -j, --threads <THREADS>
          Number of threads to use. Specifying 0 defaults to the number of
          logical cores
          
          [aliases: jobs]
Verifier options:
      --verifier <VERIFIER>
          The contract verification provider to use
          
          [default: sourcify]
          Possible values:
          - etherscan
          - sourcify
          - blockscout
          - oklink
          - custom:     Custom verification provider, requires compatibility
            with the Etherscan API
      --verifier-api-key <VERIFIER_API_KEY>
          The verifier API KEY, if using a custom provider
          
          [env: VERIFIER_API_KEY=]
      --verifier-url <VERIFIER_URL>
          The verifier URL, if using a custom provider
          
          [env: VERIFIER_URL=]
Display options:
      --color <COLOR>
          The color of the log messages
          Possible values:
          - auto:   Intelligently guess whether to use color output (default)
          - always: Force color output
          - never:  Force disable color output
      --json
          Format log messages as JSON
  -q, --quiet
          Do not print log messages
  -v, --verbosity...
          Verbosity level of the log messages.
          
          Pass multiple times to increase the verbosity (e.g. -v, -vv, -vvv).
          
          Depending on the context the verbosity levels have different meanings.
          
          For example, the verbosity levels of the EVM are:
          - 2 (-vv): Print logs for all tests.
          - 3 (-vvv): Print execution traces for failing tests.
          - 4 (-vvvv): Print execution traces for all tests, and setup traces
          for failing tests.
          - 5 (-vvvvv): Print execution and setup traces for all tests,
          including storage changes.