Plugins
Plugins are the backbone of Hardhat, and they're built using the same config API that you use in your Hardhat configuration. Read the Building plugins guide to learn how to create your own, and send a pull request to get it listed here.
Extend Hardhat's functionality with the plugins below.
Official plugins
Nomic Foundation's recommended bundle of Hardhat plugins (ethers based)
Nomic Foundation's recommended bundle of Hardhat plugins (viem based)
Adds Ethereum-related matchers to Chai
Injects ethers.js into the Hardhat Runtime Environment
Makes it easier to use viem in a Hardhat project
Makes it easier to use Hardhat and Foundry in the same project
Hardhat plugin for the Ledger hardware wallet
Easily run solhint to lint your Solidity code
Automatically run the solpp preprocessor before each compilation
Adds a Waffle-compatible provider to the Hardhat Runtime Environment and automatically initializes the Waffle Chai matchers
Injects Web3 1.x into the Hardhat Runtime Environment
Injects Web3 4.x into the Hardhat Runtime Environment
Integration with TruffleContract from Truffle 5
Injects Web3 0.20.x into the Hardhat Runtime Environment
Integration with TruffleContract from Truffle 4
Community plugins
Sorted by npm downloadsGas usage per unit test. Average gas usage per method. A mocha reporter.
Hardhat plugin for deploying and managing upgradeable contracts.
See internal transactions, events and storage operations during your hardhat tests in the console
Easily integrate your Hardhat project with Tenderly. Tenderly is an Ethereum monitoring, debugging and analytics platform.
Automatically export Solidity contract ABIs on compilation
An updated and working Hardhat plugin to compile the Yul and Yul+ languages into solc compatible artifacts. Works with .yul and .yulp file extensions
The Solidity mocking library. Smock is a utility package that can generate mock Solidity contracts written entirely in JavaScript.
Compile Solidity sources directly from npm dependencies
An hardhat plugin to pre-process contract source code before compilation
Automatically deploy the ERC-1820 registry contract to Hardhat EVM chains.
Generate a static documentation site from NatSpec comments
Automatically prepend local Solidity source files with an SPDX License Identifier
The hardhat-w3f plugin allows builders to build & run Web3 Functions connecting smart off-chain data with smart contracts
Generate 0xWeb classes for contracts to easily communicate with the blockchain.
Remove Hardhat console.log imports and calls from Solidity source files
Zero-config Hardhat plugin to generate documentation for all your Solidity contracts.
Hardhat plugin to combine multiple ABIs into a Diamond ABI artifact
Automatically expose internal Solidity functions for testing
A plugin to push contracts to tenderly
Hardhat plugin to deploy your smart contracts across multiple EVM chains with the same deterministic address.
Integrate your Hardhat project and Hardhat network with Ethernal. Ethernal is a block explorer for private chains.
Helper plugin to manipulate blocks timestamp and trigger mining. It can be used from the command line and in the tests.
Hardhat plugin for Unlock Protocol deployments.
Define your project's deployment in a simple manifest, then deploy and share it anywhere. Inspired by Docker, Terraform, and npm. https://usecannon.com/
The ultimate environment for building with Circom
Check for storage layout changes
Hardhat plugin to test scilla contracts. Scilla is Zillqa's programming language to develop smart contracts.
Hardhat plugin for integrating with Fireblocks
Hardhat plugin to automate the deployment and verification of contracts
Enable project-specific features inside Truffle Dashboard, including advanced calldata decoding and more
Hardhat plugin that allows you to use Jest easily
Integrates Chainlink into Hardhat projects.
Upload local function selectors to the Ethereum Selector Database
Hardhat plugin to generate smart contract bindings for Golang
Hardhat plugin to ease dealing ERC20 tokens in hardhat forks.
Hardhat made awesome with a flexible CLI to help run tests, scripts, deploy Mock contracts and more.
Automatically export contract bytecode on compilation
Hardhat plugin to generate customizable smart contracts documentation
Zero-config Hardhat plugin to check the output of the compiler for any problems like missing NatSpec
Allow loading network configs for Hardhat projects in home file
generate an output file of organized function selectors for all ABI/.json files within ./artifacts/contracts
Prepare the contract artifacts and the TypeChain bindings for registry deployment.
Display different signatures that have the methods, events and errors of your contracts by console
A Hardhat plugin for working with on-chain proposals
Generate a beautiful and interactive documentation website for your project in seconds
A plugin for integrating Starknet tools into Hardhat projects
Hardhat plugin to deeply compare smart contracts
Hardhat plugin for verifying smart contracts deployed on the EVM chains including X Layer
Automatically compiles your Solidity contracts with the OVM compiler.
Integrates Hardhat and ethers.js with Optimism's L2 network.
Provide tasks to integrate Circom and SnarkJS
This Hardhat plugin add 3 tasks to Hardhat, to summarize a smart contract in human readable format using OpenAI GPT-3, to create a readme looking at your package.json and a task to ask question to chatGPT when running into errors.
Show transaction params before hardhat send transaction to network
Hardhat plugin for enabling on-the-fly network switching within your Hardhat scripts and tasks
Execute commands on deployed contracts on any network using a helpful TUI.
A Hardhat Typescript plugin to test and interact with Huff contracts
A Hardhat plugin that generates a React hook component from your smart contracts. Hot reloaded into your React app. Deployed or not deployed. And everything typed and initialized.
Output list of available accounts and their balances
Hardhat plugin for Uniswap V3 deployment
Hardhat Reef plugin for interacting with contracts on the Reef chain
Tasks for interacting from different Ethereum accounts
Ui extensions for the ethernaut-wallet package
Tasks for sending transactions and interacting with contracts
Ui extensions for the ethernaut-network package
Hardhat React Plugin to interact with your deployed contracts
AI assistant that interprets user input and executes hardhat tasks
Ui extensions for the ethernaut-util package
Tasks for playing the Open Zeppelin Ethernaut challenges from the CLI
Ui extensions for the ethernaut-interact package
Tasks for interacting with different networks
Ui extensions for the ethernaut-network package
Hardhat plugin for solidity contract verification on Blockscout block explorer.
Overrides ENS ownership in hardhat network to allow orchestration superpowers
Build and deploy only changed smartcontracts
Hardhat plugin to get compiler outputs of contracts
Develop your subgraph side by side with your contracts to save gas and increase productivity.
Simple plugin to track gas on the transaction level.
Hardhat plugin to get contract storage, gas and code size insights using the compiler ast output
Publish generated typechain-types to NPM
A framework for building solidity CTF challenges.
Generate unique storage namespaces within a script/task
Quickly add security and operational alerting for your project using Forta: a decentralized monitoring network for Web3 systems.
Stop Hardhat test execution on demand and print output from completed tests
Hardhat plugin to check and lock the storage layout of contracts
This plugin allows you to upload compiled hardhat smart contract artifacts to Kriptonio. On kriptonio side new smart contract will be created with attached artifacts, which you can afterward deploy and manage via kriptonio.
Handy set of utilities for testing contracts in Hardhat projects
This Hardhat plugin provides two tasks and two functions to help you manage and optimize your transactions on Ethereum compatible blockchain. The two tasks include the ability to retry a transaction and retrieve the current gas cost.
Hardhat plugin to allow adding any extra data to your network configuration
Generate and execute on-chain transactions via txn.xyz
Keeps mainnet fork state updated by replaying relevant live txs
Export flat contract on compilation via Hardhat.
Hardhat plugin for writing tests in solidity
Export deployed contract addresses (multichain) in typescript files.
Hardhat plugin for cloning verified contracts from any supported network using Etherscan's API.
View contracts' layouts with CLI and .json output
This plugin brings the proxy contract to Hardhat, which allows you to manage the proxy contract in a simple way.
Another small hardhat task for printing contract's storage layout 📐
Hardhat TypeScript plugin to run a chainlink node and interact with it
Clone an on-chain contract and integrate into your Hardhat project
Hardhat plugin to compile the Yul and Yul+ languages into solc compatible artifacts. Works with .yul and .yulp file extensions
Small hardhat task for debug money transfers 🤝💰
Hardhat plugin to send an OSX notification when hardhat compilcation fails/succeeds
Hardhat plugin for Uniswap V2 (pancakeswap protocol) testing and deployment. You can use it to test features such as pair creation, liquidity provisioning, and swaps.
Deploy contracts with Hardhat using Gas Station Network