> For the complete documentation index, see [llms.txt](https://pools-chain.gitbook.io/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://pools-chain.gitbook.io/documentation/smart-contract-verification/how-to-verify-your-smart-contracts-on-pools-chain.md).

# How to verify your smart contracts on Pools Chain

After you deploy your PRC20 Contract successfully, the next is to verify the source code for your Solidity contracts. This plugin adds the Pools network to the verify task provided by Hardhat-Etherscan

**Step 1. Install the package**

We need the Hardhat plugin for integration with Poolcan's contract verification service. This plugin needs to be used in conjunction with the Hardhat-Etherscan plugin (v3.1.0 or above).

`# Install hardhat-etherscan plugin`

`npm install --save-dev @nomiclabs/hardhat-etherscan@^3.1.0`

And make sure you also have the following dependencies:

`npm install ethers dotenv @openzeppelin/contracts`

`npm install --save-dev solidity-coverage`

`npm install --save-dev hardhat-gas-reporter`

**Step 2. Import the plugins**

Under Hardhat, add the following statement to your hardhat.config.ts:

`...`

`import "@nomiclabs/hardhat";`

`import "@nomiclabs/hardhat-etherscan";`

`...`

`};`

**Step 3. Check the supported network list:**

Check the list of supported networks:

`npx hardhat verify --list-networks`

**Step 4. Verify the Smart Contract**

Obtain your deployed contract address when you deployed the contract (Step 8 in the previous section).

In your hardhat project, run the verify task as shown below. Replace `DEPLOYED_CONTRACT_ADDRESS` with your deployed contract address, and the constructor arguments that were used to deploy it (if any):

**Verify on Pools (Mainnet):**

`npx hardhat verify --network pool DEPLOYED_CONTRACT_ADDRESS "Constructor argument 1""Constructor argument 2"`

**Verify on Pools Testnet**

`npx hardhat verify --network poolTestnet DEPLOYED_CONTRACT_ADDRESS "Constructor argument 1""Constructor argument 2"`

**Example:**

`npx hardhat verify --network poolTestnet "0x00e9fd0eaea8325dc31a64e23d91607fdd60d2d1" "My token name" "My token symbol"`

​You should now be able to see your contact is verified on[ Poolscan](https://scan.poolsmobility.com/) or[ Testnet Poolscan](https://scan-testnet.poolsmobility.com/) and start to read and write your smart contracts.
