Skip to main content
Verify your deployed contract with flattened source code, JSON input, Sourcify, or other methods. Verification makes your contract’s source code public and verifiable. This creates transparency and trust.

Benefits of verification

  • Transparency: the source code is publicly available.
  • Trust: the community can verify the contract’s functionality.
  • Security: verification gives greater confidence in the contract’s integrity.

Sourcify

Sourcify is a decentralized, open-source service for contract verification. Sei has full Sourcify support on both Sei Mainnet (chain ID 1329) and Sei Testnet (chain ID 1328). Sourcify verifies contracts byte by byte. It recompiles your source code with the exact same compiler settings and compares the output with the on-chain bytecode. You do not need an API key.

Verify with Foundry

After you deploy your contract with Foundry, verify it on Sourcify:
Sei Testnet example:
Sei Mainnet example:
To check the verification status, run:
You can also deploy and verify in a single step with forge create:
To pass constructor arguments, add them after the contract path. For example: forge create src/Token.sol:Token --broadcast --constructor-args "MyToken" "MTK" 18

Verify with Hardhat

The hardhat-verify plugin supports Sourcify by default. You do not need extra configuration or an API key.

1. Install dependencies

2. Configure hardhat.config.ts

hardhat-verify enables Sourcify verification by default. You do not need a verify config block for Sourcify.

3. Deploy

4. Verify with Sourcify

If your contract has constructor arguments, add them to the command:
If you run npx hardhat verify without a subtask, it tries to verify on all enabled providers (Etherscan, Blockscout, and Sourcify) at the same time.

Verify via Sourcify UI

You can also verify contracts directly through the Sourcify web interface:
  1. Go to verify.sourcify.dev
  2. Select Sei (chain ID 1329) or Sei Testnet (chain ID 1328)
  3. Enter your contract address
  4. Upload your source files or standard JSON input
  5. Click Verify

Remix Contract Verification plugin

Remix IDE verifies contracts automatically through its Contract Verification plugin. The plugin integrates with both the Sourcify and Etherscan verification services. If you do not have a deployed contract yet, open Remix with a sample Counter.sol and deploy it to Sei Testnet. Then follow the steps below to verify it.

Setup and configuration

  1. Activate the plugin: In Remix IDE, go to the Plugin Manager and activate the Contract Verification plugin.
  2. Configure network settings:
    • Search for and select Sei as your blockchain
    • Choose your deployment environment:
      • Testnet (1328) for development
      • Mainnet (1329) for production
  3. Enable verification services: Activate both verification methods:
    • Sourcify
    • Etherscan
  4. Configure Etherscan: Set these values:
    • API Key: Get a key from seiscan.io
    • URL: https://seiscan.io

Deploy and verify

After you configure the plugin, deploy your contract through Remix as usual. When the deployment succeeds, the Contract Verification plugin verifies your contract automatically. It submits the contract to both Sourcify and Seiscan at the same time. The plugin interface shows the verification status. Your verified contract is then publicly visible on the Seiscan explorer.

Verify via 0xngmi Etherscan Verification (third‑party)

If a contract is already verified on another chain, you can batch-verify it with the community tool Etherscan Verification by 0xngmi. The tool copies the verified source from a “source chain” and submits it to Seiscan. This works only if the bytecode and compiler settings match.
Prerequisite: The contract is already verified on at least one supported chain. That verified deployment must use the same compiler version, optimization runs, constructor arguments, and library addresses as the deployment on Sei.
Steps:
  1. Open Etherscan Verification by 0xngmi.
  2. In Source Contract, paste the address of the contract that is already verified and select its chain.
  3. In Target Contracts, add the address of your Sei deployment and select Sei as the target chain.
  4. Click Verify Contracts and wait for the result.
  5. Confirm the result on Seiscan. Open the contract page and check the Contract tab.
If verification fails with a bytecode mismatch, check the compiler version, optimization runs, constructor arguments, and linked library addresses again. They must be identical to the deployment on Sei.