# Smart Contracts Verification

You can verify your smart contract using the Explorer after its deployment. To verify your smart contract, please visit:  [<mark style="color:blue;">https://explorer.whitechain.io/</mark>](https://explorer.whitechain.io/)

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.

{% hint style="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.
{% endhint %}

{% hint style="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).
{% endhint %}

### **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.

{% hint style="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.
{% endhint %}

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-lnput**

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]`

<figure><img src="https://lh7-us.googleusercontent.com/7INQ0MIyTpuRTWK3XRBsZAGeTtsZwYG1_icxe2_Ags9MHUv_lBzNfC952ijZiRJadt72WtKNi0uBFP4F2nc2YzyOaSnuiF8d5QSFDEviI6Wl8b0S3qqdkNiMRjoK9bj2fhYJKs9WSNEt0A64z69_7w" alt="" width="375"><figcaption></figcaption></figure>

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':

<figure><img src="https://lh7-us.googleusercontent.com/LxJZIPMQ4OA1jYCRDQCAbE7pxSAtsQh7PJSsJGRmoefzhvBzLcDjd-hsJAxhIy5LwIgDJ_0OKYSDuLm1GwqsHl8RFsnRrc2WJvRqKyE0yGZjwEO8oR5cZddjfvSCuc-cXu98Av-e2qmFe6NAdv64kg" alt=""><figcaption></figcaption></figure>

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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.whitechain.io/smart-contracts/smart-contracts-verification.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
