> ## Documentation Index
> Fetch the complete documentation index at: https://l2docs.whitechain.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Legacy L1 smart contract verification

> Methods for verifying smart contracts on the legacy Whitechain L1 Explorer, and which hostname to use after the L2 Mainnet launch cut-over.

<Note>
  This page documents the legacy Whitechain Layer 1 (L1), mainnet chain ID `1875`. The L1 is live and producing blocks. It is a separate chain from the Whitechain Layer 2 (L2) documented in the rest of these docs, and it migrates to the L2 at L2 Mainnet launch. To verify a contract on the L2, see [Deploy with Hardhat](/build/deploy/deploy-with-hardhat).
</Note>

You can verify your smart contract using the Explorer after its deployment. To verify your smart contract, visit [https://explorer.whitechain.io/](https://explorer.whitechain.io/).

That hostname serves the legacy L1 explorer (chain ID `1875`) today. At L2 Mainnet launch it begins serving the L2 explorer, and the L1 explorer moves to `https://legacy-explorer.whitechain.io`. From then on, verify an L1 contract at the legacy hostname; verifying at `explorer.whitechain.io` submits against the L2. See [Endpoint and domain changes](/learn/general/migration#endpoint-and-domain-changes).

Below, you will find guides and recommendations on various methods for verifying smart contracts:

### Solidity: single file

To verify a smart contract using a Solidity file, you need to paste the entire content of the deployed contract into the text input. This method is suitable for cases where the contract consists solely of one file and has no external dependencies, such as imported libraries.

<Info>
  Please Note: the name of your file must exactly match the name of the file you used when deploying the contract. If the filename differs from the one used for deploying the contract on the network, the verification will not be successful due to differences in bytecode.
</Info>

<Info>
  Please Note: the file name can include a relative path (for example, if your contract 'main.sol' was in the 'src' folder, you should specify 'src/main.sol' in the filename).
</Info>

### Solidity: multiple files

To verify a smart contract using multiple Solidity files, you need to upload all the contract files you deployed or used during compilation.

<Info>
  Please Note: when verifying using multiple files, you must upload all the files and dependencies used in deploying your contract, preserving and including relative file paths for a complete bytecode match.
</Info>

If your smart contract consists of multiple contract files, we recommend using the 'Standard JSON Input' verification method described below. This simplest method allows you to verify your smart contract quickly and easily.

### Solidity: Standard JSON Input

To verify a smart contract using a JSON structure, you can use the Remix IDE tool.

A build information file is created when compiling a contract file in the Remix IDE interface. This file includes all the necessary information for verifying the contract in a JSON structure.

You can find this file in the file explorer at the specified path: `contracts/artifacts/build-info/ [target file.json]`

In this file, you must copy the entire 'input' object, including the curly braces, but excluding the word 'input' and commas.

You should paste the copied object into the text field labeled 'Standard JSON Input'.

If you used constructor arguments during the contract deployment, make sure they are specified in the 'Constructor Arguments' field, otherwise the verification will not be successful.
