i am getting this error

TypeError: Cannot read properties of null (reading 'sendTransaction')

when i run the following command :

yarn hardhat run scripts/deploy.js --network Sepolia

deploy.js :

const { ethers } = require("hardhat")

async function main() {
    const SimpleStorageFactory = await ethers.getContractFactory(
    console.log("Deploying the contract...")
    const SimpleStorage = await SimpleStorageFactory.deploy()
    await SimpleStorage.deployed()
    console.log(`Contract deployed at address: ${SimpleStorage.address}`)

    .then(() => process.exit(0))
    .catch((error) => {

hardhat.config.js :

const PRIVATE_KEY = process.env.PRIVATE_KEY
/** @type import('hardhat/config').HardhatUserConfig */
module.exports = {
    defaultNetwork: "hardhat",
    networks: {
        Sepolia: {
            url: SEPOLIA_RPC_URL,
            accounts: PRIVATE_KEY,
            chainId: 11155111,
    solidity: "0.8.18",
  • Try this in the config file [PRIVATE_KEY] Mar 24 at 6:11
  • If i use [PRIVATE_KEY], then I get the following error , There's one or more errors in your config file * Invalid account: #0 for network: Sepolia - Expected string, received undefined Mar 24 at 9:07
  • Are you taking the Private Key as a string, ie, in " "? It shouldn't be like that. Mar 24 at 13:02
  • Thank you !!! Its working now Mar 24 at 18:50

1 Answer 1


You should put your accounts inside an array: accounts: [PRIVATE_KEY] and make sure everything in your .env file is correct. If u still getting error try to console.log() your env variables to see your dotenv package is working fine

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.