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

# Verify Contract Deployed on Celo

> How to verify a contract deployed on Celo with Hardhat, Foundry, Remix, Blockscout or Celoscan

Verifying publishes your contract's source so anyone can read it on the block explorer. Pick the route that matches how you deployed.

## Verify contracts on Celo

* [Using Foundry](#using-foundry)
* [Using Hardhat](/tooling/contract-verification/hardhat)
* [Using Blockscout](/tooling/contract-verification/blockscout)
* [Using Remix](/tooling/contract-verification/remix)
* [Using Celoscan](/tooling/contract-verification/celoscan)

## Using Foundry

If you deployed with [Foundry](/tooling/dev-environments/foundry), verify with `forge verify-contract`. Set your API key first — get one at [etherscan.io/register](https://etherscan.io/register):

```bash theme={null}
export ETHERSCAN_API_KEY=<your etherscan API key>
```

Celo Mainnet (chain ID 42220):

```bash theme={null}
forge verify-contract --chain-id 42220 <contract_address> <contract_location> --etherscan-api-key $ETHERSCAN_API_KEY --watch
```

Celo Sepolia testnet (chain ID 11142220):

```bash theme={null}
forge verify-contract --chain-id 11142220 <contract_address> <contract_location> --etherscan-api-key $ETHERSCAN_API_KEY --watch
```

Passing `--verify` to `forge create` or `forge script` verifies right after deployment using the same `ETHERSCAN_API_KEY`. A `[etherscan]` block in `foundry.toml` is only needed to point Foundry at a custom verifier URL.
