---
title: "How much does it cost to deploy an NFT project on Ethereum?"
description: "Long story short, it depends..."
---

# How much does it cost to deploy an NFT project on Ethereum?

<ExternalVideo
  url="https://www.youtube.com/watch?v=dnYSdTAQylk&embeds_referring_euri=https%3A%2F%2Falchemy.com%2F&source_ve_path=Mjg2NTksOTY3MTQ&feature=emb_imp_woyt&ab_channel=Alchemy"
  provider="youtube"
  providerUid="dnYSdTAQylk"
/>

Long story short, it depends.

<ImageBlock
  src="https://media.alchemy.com/1704715758-the-price-of-ether-has-skyrocketed-in-2021.png"
  alt="The price of Ether has skyrocketed in 2021.. and so have gas fees!"
  width={802}
  height={753}
  caption="The price of Ether has skyrocketed in 2021.. and so have gas fees!"
/>

The price of Ether has skyrocketed in 2021.. and so have gas fees!

If you're jumping into [Web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development) for the first time, exploring things like the [Solidity](https://soliditylang.org/) programming language, [Ethereum](https://ethereum.org/en/) smart contracts, and [making NFTs](https://www.youtube.com/watch?v=ftMzXpToq9Q)...

1. Welcome! You're in for one heck of a ride..
1. MAKE SURE YOU KNOW HOW GAS FEES AND TRANSACTION FEES WORK!

Back in the day.. deploying [decentralized applications](https://www.alchemy.com/dapps/top/defi-dapps) was relatively affordable.

- In 2017, the [CryptoPunks](https://www.larvalabs.com/cryptopunks) NFT project was deployed for **$7.56** \([source](https://etherscan.io/tx/0x0885b9e5184f497595e1ae2652d63dbdb2785de2e498af837d672f5765f28430)\)
- In 2020, the Shiba Inu Token \($SHIB\) was deployed for **$60** \([source](https://etherscan.io/tx/0x0a4022e61c49c59b2538b78a6c7c9a0e4bb8c8fce2d1b4a725baef3c55fb7363)\)

Today — November 30th, 2021 — those exact same contracts would cost an arm and a leg to deploy :\(

- [CryptoPunks](https://www.larvalabs.com/cryptopunks) would cost **$964**
- $SHIB would cost **$2,026**

This means it costs you somewhere between 30x to 120x more in USD terms to deploy contracts to Ethereum today, compared to a few years ago.

<ImageBlock
  src="https://media.alchemy.com/1704715821-cryptopunks-is-one-of-the-earliest-and-most-successful-nft-projects-around.png"
  alt="CryptoPunks is one of the earliest and most successful NFT projects around."
  width={1128}
  height={911}
  caption="CryptoPunks is one of the earliest and most successful NFT projects around."
/>

The big question is... WHY?

Well, there are three things that ultimately affect your deploy costs:

1. the **UNITS** of gas used in the transaction to deploy your contract
1. the **PRICE** per gas based on current traffic conditions and network congestion
1. the **VALUE** of Ether \(ETH\) based on market rates

and these factors come together in a very simple formula:

**TOTAL COST** = **UNITS** **PRICE** **VALUE**

Let's look at the [CryptoPunks contract deployment from 2017](https://etherscan.io/tx/0x0885b9e5184f497595e1ae2652d63dbdb2785de2e498af837d672f5765f28430) as a starting example. From looking at the transaction information on [Etherscan](https://etherscan.io/):

1. **UNITS** of gas = 2,142,276 gas
1. **PRICE** per gas = 0.000000011 ETH per gas \(or 11 gwei\)
1. **VALUE** of ETH = $320.97 per ETH

TOTAL COST = 2,142,276 0.000000011 320.97

**TOTAL COST = $7.56**

So what changes happen when we try to deploy the CryptoPunks contract today, in 2021?

- The **UNITS** of gas stayed the same — The \# of gas units is dependent on the logic contained in the smart contract, and it's the same contract today as it was 4 years ago.
- The **PRICE** per gas has increased — Ethereum has become a very popular blockchain to  transact on, and the more traffic there is, the more that a single unit of gas costs in ETH terms due to the gas bidding mechanism. This is when users send transactions with higher and higher gas fees included to incentivize miners to include their transactions first.
- The **VALUE** of ETH has also increased — More investors and interest over time means more demand for the cryptocurrency.

The average **PRICE** per gas these days is somewhere between 0.0000001 ETH - 0.00000015 ETH \(100~150 gwei\), while the average **VALUE** of ETH is somewhere between $4,000 ~ $4,500.

So how would the calculation look for deploying the CryptoPunks contract today?

1. **UNITS** of gas = 2,142,276 gas
1. **PRICE** per gas = 0.0000001 ETH per gas \(or 100 gwei\)
1. **VALUE** of ETH = $4,500 per ETH

**TOTAL COST** = 2,142,276 0.0000001 4,500 = **$964**

Try it out yourself! Look up your favorite NFT contract on [Etherscan](https://www.alchemy.com/dapps/etherscan), find the three components of the transaction fee, and verify the final cost. What kind of prices are you seeing today? Tweet your example [@thatguyintech](https://twitter.com/thatguyintech) and I'd love to retweet :\)

Now you might be thinking, "why are people still building on Ethereum if it's so expensive?"

That's an excellent question. And there are three very good reasons:

1. **Decentralization**. Ethereum is the most decentralized smart contract platform available today. According to [ethernodes.org](https://ethernodes.org/), there are over 3000 nodes running the network. Other smart contract platforms have much fewer nodes or validators. The more decentralized the network is, the harder it is to censor, control, manipulate, or take down. These guarantees are usually necessary for serious financial applications.
1. **Developer Ecosystem**. It has the largest developer ecosystem and most mature tooling. According to Electric Capital, [Ethereum has over 2400 monthly active developers and growing](https://medium.com/electric-capital/electric-capital-developer-report-2020-9417165c6444). Ethereum is the oldest smart contract platform and has enjoyed the most network effects in terms of building usable applications and composable tooling.**‍**
1. **Market**. Ethereum has the biggest market for apps \(most users and money\). The largest and most used DeFi protocols and NFT marketplaces are built on Ethereum today.

Even with all these benefits however, this does not mean that Ethereum has to be the best tool for your project. Perhaps you are just poking around and learning and the cost of deploying to [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum) does not make sense at all. Or maybe you're targeting a very specific use case that prioritize speed and efficiency over decentralization guarantees. Whatever it is, there are plenty of reasons why you might want to explore alternatives. Here are a couple of alternatives to get you started..

If you want to stay within the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum), check out **sidechains** and **layer 2s** \(L2s\):

- [Polygon](https://polygon.technology/)
- [Immutable X](https://www.immutable.com/)
- [Optimism](https://www.optimism.io/)
- [Arbitrum](https://offchainlabs.com/)
- [ZKSync](https://zksync.io/)
- [StarkNet](https://starkware.co/)

<ImageBlock
  src="https://media.alchemy.com/1704715961-polygon-approach-to-scaling-ethereum.png"
  alt="Polygon's approach to scaling Ethereum - https://polygon.technology"
  width={430}
  height={430}
  caption="Polygon's approach to scaling Ethereum - https://polygon.technology"
/>

The benefit of using a sidechain or an Ethereum layer 2 solution is that you can use similar tooling, and the underlying security mechanism for recording your transactions and securing your DApp remains the same. You also benefit from massively cheaper transaction costs and faster speed. The tradeoff is that both user and developer experience may be lacking for now.

If you want to venture farther and explore different blockchains with different programming languages and different system architectures, you should consider these other **layer 1s** \(L1s\):

- [Flow](https://www.onflow.org/)
- [Solana](https://solana.com/)
- [Avalanche](https://www.avax.network/)
- [Tezos](https://tezos.com/)
- [Polkadot](https://polkadot.network/)

Finally, if you are concerned about deployment costs but you still want to deploy on Ethereum mainnet, you can try optimizing your solidity code to reduce unnecessary logic. The purpose of gas fees is to pay miners for running the logic of your program. The less complex logic there is, the cheaper it is to deploy and run your contract.

Here's [a great article that talks about how to optimize Ethereum NFT smart contracts to reduce gas.](https://medium.com/@kaymonft/optimizing-nft-smart-contracts-to-reduce-gas-usage-7f4e819eb49d)

<EmbeddedTable
  table={{
    columns: [
      { key: "1", width: 200, title: "ERC721Enumerable", dataType: "object" },
      { key: "2", width: 200, title: "Gas Amount", dataType: "object" },
      { key: "3", width: 200, title: "Total Cost ETH", dataType: "object" },
      { key: "4", width: 200, title: "Total Cost USD", dataType: "object" },
    ],
    data: [
      {
        "1": { title: "<p><strong>Deployment Cost</strong></p>", tooltip: "", icon: "" },
        "2": { title: "<p>1,775,269</p>", tooltip: "", icon: "" },
        "3": { title: "<p>0.25208198</p>", tooltip: "", icon: "" },
        "4": { title: "<p>$1,076.92</p>", tooltip: "", icon: "" },
        id: 0,
      },
      {
        "1": { title: "<p><strong>Mint 1 (Wallet 1)</strong></p>", tooltip: "", icon: "" },
        "2": { title: "<p>102,474</p>", tooltip: "", icon: "" },
        "3": { title: "<p>0.01455130</p>", tooltip: "", icon: "" },
        "4": { title: "<p>$62.16</p>", tooltip: "", icon: "" },
        id: 1,
      },
      {
        "1": { title: "<p><strong>Mint 2 (Wallet 1)</strong></p>", tooltip: "", icon: "" },
        "2": { title: "<p>147,874</p>", tooltip: "", icon: "" },
        "3": { title: "<p>0.02099810</p>", tooltip: "", icon: "" },
        "4": { title: "<p>$89.70</p>", tooltip: "", icon: "" },
        id: 2,
      },
      {
        "1": { title: "<p><strong>Mint 3 (Wallet 1)</strong></p>", tooltip: "", icon: "" },
        "2": { title: "<p>147,874</p>", tooltip: "", icon: "" },
        "3": { title: "<p>0.02099810</p>", tooltip: "", icon: "" },
        "4": { title: "<p>$89.70</p>", tooltip: "", icon: "" },
        id: 3,
      },
      {
        "1": { title: "<p><strong>Mint 4 (Wallet 2)</strong></p>", tooltip: "", icon: "" },
        "2": { title: "<p>145,074</p>", tooltip: "", icon: "" },
        "3": { title: "<p>0.02060050</p>", tooltip: "", icon: "" },
        "4": { title: "<p>$88.01</p>", tooltip: "", icon: "" },
        id: 4,
      },
      {
        "1": { title: "<p><strong>Mint 5 (Wallet 2)</strong></p>", tooltip: "", icon: "" },
        "2": { title: "<p>147,874</p>", tooltip: "", icon: "" },
        "3": { title: "<p>0.02099810</p>", tooltip: "", icon: "" },
        "4": { title: "<p>$89.70</p>", tooltip: "", icon: "" },
        id: 5,
      },
      {
        "1": { title: "<p><strong>Mint 6 (Wallet 2)</strong></p>", tooltip: "", icon: "" },
        "2": { title: "<p>147,874</p>", tooltip: "", icon: "" },
        "3": { title: "<p>0.02099810</p>", tooltip: "", icon: "" },
        "4": { title: "<p>$89.70</p>", tooltip: "", icon: "" },
        id: 6,
      },
    ],
  }}
/>

‍If you found this explanation useful, shoot us a tweet at [@Alchemy](https://x.com/Alchemy)! We'd love to see what you're building and give your project a boost :\)

<ImageBlock
  src="https://media.alchemy.com/1704716189-introducing-gas-price-notification.png"
  alt="Banner introducing Alchemy gas price notifications"
  width={1106}
  height={796}
  caption="Introducing gas price notifications"
/>
