Network
Launch Date
Consensus
Note
Sepolia
Oct 2021
PoW
Like-for-like representation of Ethereum
Görli
Jan 2019
PoA
Proof-of-Authority
Kiln
Mar 2022
PoS
Post-Merge (for ETH2), shadow fork of the mainnet
Kintsugi
Dec 2021
PoS
DEPRECATED, use Kiln; post-Merge (for ETH2)
Ropsten
Nov 2016
PoW
DEPRECATED, use Sepolia; the Merge to happen on Jun 8, 2022
Rinkeby
Apr 2017
PoA
DEPRECATED, use Görli and Görli Faucet
Kovan
Mar 2017
PoA
DEPRECATED, use Sepolia or Görli
List of active and deprecated Ethereum testnets, including Kintsugi.
Features
Optimistic rollup 
ZK-rollup 
Proof
Uses fraud proofs to prove transaction validity. 
Uses validity (zero-knowledge) proofs to prove transaction validity. 
Capital efficiency
Requires waiting through a 1-week delay (dispute period) before withdrawing funds. 
Users can withdraw funds immediately because validity proofs provide incontrovertible evidence of the authenticity of off-chain transactions. 
Data compression
Publishes full transaction data as calldata to Ethereum Mainnet, which increases rollup costs. 
Doesn't need to publish transaction data on Ethereum because ZK-SNARKs and ZK-STARKs already guarantee the accuracy of the rollup state. 
EVM compatibility
Uses a simulation of the Ethereum Virtual Machine (EVM), which allows it to run arbitrary logic and support smart contracts. 
Doesn't widely support EVM computation, although a few EVM-compatible ZK-rollups have appeared. 
Rollup costs
Reduces costs since it publishes minimal data on Ethereum and doesn't have to post proofs for transactions, except in special circumstances. 
Faces higher overhead from costs involved in generating and verifying proofs for every transaction block. ZK proofs require specialized, expensive hardware to create and have high on-chain verification costs. 
Trust assumptions
Doesn't require a trusted setup. 
Requires a trusted setup to work. 
Liveness requirements
Verifiers are needed to keep tabs on the actual rollup state and the one referenced in the state root to detect fraud. 
Users don't need someone to watch the L2 chain to detect fraud. 
Security properties 
Relies on cryptoeconomic incentives to assure users of rollup security. 
Relies on cryptographic guarantees for security. 
Start building
on Alchemy.
Sign up for free
Start building on Optimism.
Sign up for free
Start building on Arbitrum.
Sign up for free
Start building on Ethereum.
Sign up for free
Start building on Polygon.
Sign up for free
Start building on Starknet.
Sign up for free
Start building on Flow.
Sign up for free
kiln faucet
Get free Kiln ETH.
Start building today
Goerli faucet
Get free Goerli ETH.
Start building today
SEPOLIA FAUCET
Get free Sepolia ETH.
Start Building Today
mumbai faucet
Get free Mumbai Matic.
Start building today
rinkeby faucet
Get free Rinkeby
ETH.
Start building today
Start building on Ethereum.
Get started for free
Start building on Ethereum.
Get started for free
Start building on Flow.
Get started for free
Start building on Polygon.
Get started for free
Start building on Starknet.
Get started for free
Start building on Optimism.
Get started for free
Start building on Solana.
Get started for free
Start building on Solana.
Sign up for beta access
Start building on Solana.
Join the waitlist
Arbitrum logo
Start building on Arbitrum.
Get started for free
Build with Alchemy's
Gas Manager & Bundler APIs
Learn
Solidity at
Alchemy
University
Get started today
Build with Alchemy's
Gas Manager & Bundler APIs
curl 
https://release.solana.com/v1.10.32/solana-install-init-x86_64-pc-windows-msvc.exe 
--output 
C:\solana-install-tmp\solana-install-init.exe 
--create-dirs
Ethereum
Mempool overview

What is a Mempool: Definition and Usage

Purpose and How to Access
Last Updated:
April 7, 2022

Introduction

In a blockchain transaction, a mempool, or memory pool, is a list of pending transactions waiting for validation from a node before it is committed to a block on the blockchain. This is similar to using 'Staging' environments in traditional software development to perform testing and quality control before releasing to production. 

While traditional 'Staging' environments are centralized, each node has its own mempool to manage. Let's look at the transaction flow to understand the purpose of the mempool and how, by accessing it, we can learn important information: 

Ethereum Transaction Flow

Ethereum transactions fall into 3 categories: 

1) Simple Transfer - value is sent from one public address to another address. This could be a payment for an NFT or a service. 

2) Deployment of a smart contract - whenever a smart contract is deployed on the blockchain, it creates a transaction. 

3) Execution of a smart contract - if an address would like to send funds or data to a smart contract address. 

You can monitor Ethereum transactions using an Alchemy's monitoring tool, and find the history of transactions for a given address by using tools like the Alchemy Transfers API

Every type of Ethereum transaction follows the same transaction lifecycle: 

1) A user creates a transaction and signs using their private key. 

2) A node receives the transaction and stores it in the mempool 

3) While in the mempool, the node performs validation tests of the transaction. If the mempool pass the tests, the transaction status is moved to 'Pending'

4) The node broadcasts the pending transaction to all other nodes on the network to add the transaction to their own mempools.

5) A block constructor will then include the transactions with the highest gas prices once a new block is created. This will move the transaction to a 'Successful' state. 

6) Transactions will receive confirmations after the node adds each new block after the one it is included in. This provides assurance that the transaction is permanently added to the blockchain, since the risk of block reorganizing decreases over time. 

You can learn more about sending transactions and send your own here

Purpose of a mempool

Since blockchains are immutable, it is important that transactions entered onto the blockchain are valid and without errors. The node hosting the mempool plays an important role in validating each transaction before the process is started to commit it to the blockchain.

For developers, it is important to understand the validation tests to understand why transactions might fail or be stuck in 'Pending' state: 

1. Availability of Funds 

The node validates whether the sender address has enough funds to cover the cost of both the funds being sent and the gas for completing the transaction. If this validation fails, the transaction will be removed from the mempool. It is important to use the correct parameters of sending and the destination address to ensure that this validation is passed. 

2. Validity of Transaction Signatures

Each transaction needs to be signed by the sender's address. This is to identify that the sender is indeed the address owner. The node will validate that the signature is the correct one attached to the sender's address. 

Source

3. Correct Nonce Value 

The nonce value is the number of transactions that have been sent from the sender address. Each time a sender transaction sends a new transaction, the nonce value is increased by 1.  The nonce value is important because it forces each transaction from a given address to happen in the order in which they were sent. 

When the transaction’s nonce values cannot be duplicated or skipped, this prevents the issue of double-spending or overspending available funds. The node validates that the correct nonce value is attached to the pending transaction. If this test fails, the transaction will not progress. 

4. Gas Price

Depending on the mempool, there is a limit to how many transactions can be in the mempool at once. Geth, the popular Ethereum client, has a default limit of 4096 pending and 1024 queued transactions. When this limit is reached, the transactions with the lowest gas prices are removed from the pool to manage the space.  

Access a mempool

A major advantage to the mempool structure is replacement transactions can overwrite pending transactions to correct, speed up, or cancel them altogether. You can find out how to speed up transactions so they are picked up by miners faster using Metamask. 

Other than correcting pending transactions stuck in a mempool, accessing a mempool can be useful for other cases such as: 

 1. Estimating Gas Fees

Looking at the current pending transaction list and their connected fees can help avoid overpaying fees.

2. NFT Mining

By using a mempool scanner, users can get insight into pending transactions interacting with NFT contracts and outbid those transactions with higher gas fees. 

3. Performance Insights

By using services like the Notify API, smart contract developers can get insights on smart contract activity from the mempool. Pending transactions can give information on bugs and vulnerabilities of a smart contract. 

Conclusion

A mempool plays an important part in the function and health of a blockchain. Allowing nodes to validate transactions and miners to prioritize pending transactions according to gas fees is an essential part for the flow of transactions.

Developers can also use the data provided by a mempool to reduce costs and issues in their smart contracts. Mempools have been often described as "dark forests" of a blockchain but platforms like Alchemy Monitoring tools enable users to get more clarity in this critical step. 

ALCHEMY SUPERNODE - ETHEREUM NODE API

Scale to any size, without any errors

Alchemy Supernode finally makes it possible to scale blockchain applications without all the headaches. Plus, our legendary support will guide you every step of the way.

Get started for free
Supernode footer
Ethereum
Mempool overview

What is a Mempool?

Purpose and How to Access
Last Updated:
April 7, 2022
Last Updated:
March 14, 2023
Don't miss an update
Sign up for our newsletter to get alpha, key insights, and killer resources.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Talk to an Expert

Learn how Alchemy's blockchain developer tools can help your business succeed in web3!
Valid number
Thank you! An Alchemy expert will be in touch with you shortly!
Oops! Something went wrong while submitting the form.

{{building-alchemy-ad}}

Table of Contents

Introduction

In a blockchain transaction, a mempool, or memory pool, is a list of pending transactions waiting for validation from a node before it is committed to a block on the blockchain. This is similar to using 'Staging' environments in traditional software development to perform testing and quality control before releasing to production. 

While traditional 'Staging' environments are centralized, each node has its own mempool to manage. Let's look at the transaction flow to understand the purpose of the mempool and how, by accessing it, we can learn important information: 

Ethereum Transaction Flow

Ethereum transactions fall into 3 categories: 

1) Simple Transfer - value is sent from one public address to another address. This could be a payment for an NFT or a service. 

2) Deployment of a smart contract - whenever a smart contract is deployed on the blockchain, it creates a transaction. 

3) Execution of a smart contract - if an address would like to send funds or data to a smart contract address. 

You can monitor Ethereum transactions using an Alchemy's monitoring tool, and find the history of transactions for a given address by using tools like the Alchemy Transfers API

Every type of Ethereum transaction follows the same transaction lifecycle: 

1) A user creates a transaction and signs using their private key. 

2) A node receives the transaction and stores it in the mempool 

3) While in the mempool, the node performs validation tests of the transaction. If the mempool pass the tests, the transaction status is moved to 'Pending'

4) The node broadcasts the pending transaction to all other nodes on the network to add the transaction to their own mempools.

5) A block constructor will then include the transactions with the highest gas prices once a new block is created. This will move the transaction to a 'Successful' state. 

6) Transactions will receive confirmations after the node adds each new block after the one it is included in. This provides assurance that the transaction is permanently added to the blockchain, since the risk of block reorganizing decreases over time. 

You can learn more about sending transactions and send your own here

Purpose of a mempool

Since blockchains are immutable, it is important that transactions entered onto the blockchain are valid and without errors. The node hosting the mempool plays an important role in validating each transaction before the process is started to commit it to the blockchain.

For developers, it is important to understand the validation tests to understand why transactions might fail or be stuck in 'Pending' state: 

1. Availability of Funds 

The node validates whether the sender address has enough funds to cover the cost of both the funds being sent and the gas for completing the transaction. If this validation fails, the transaction will be removed from the mempool. It is important to use the correct parameters of sending and the destination address to ensure that this validation is passed. 

2. Validity of Transaction Signatures

Each transaction needs to be signed by the sender's address. This is to identify that the sender is indeed the address owner. The node will validate that the signature is the correct one attached to the sender's address. 

Source

3. Correct Nonce Value 

The nonce value is the number of transactions that have been sent from the sender address. Each time a sender transaction sends a new transaction, the nonce value is increased by 1.  The nonce value is important because it forces each transaction from a given address to happen in the order in which they were sent. 

When the transaction’s nonce values cannot be duplicated or skipped, this prevents the issue of double-spending or overspending available funds. The node validates that the correct nonce value is attached to the pending transaction. If this test fails, the transaction will not progress. 

4. Gas Price

Depending on the mempool, there is a limit to how many transactions can be in the mempool at once. Geth, the popular Ethereum client, has a default limit of 4096 pending and 1024 queued transactions. When this limit is reached, the transactions with the lowest gas prices are removed from the pool to manage the space.  

Access a mempool

A major advantage to the mempool structure is replacement transactions can overwrite pending transactions to correct, speed up, or cancel them altogether. You can find out how to speed up transactions so they are picked up by miners faster using Metamask. 

Other than correcting pending transactions stuck in a mempool, accessing a mempool can be useful for other cases such as: 

 1. Estimating Gas Fees

Looking at the current pending transaction list and their connected fees can help avoid overpaying fees.

2. NFT Mining

By using a mempool scanner, users can get insight into pending transactions interacting with NFT contracts and outbid those transactions with higher gas fees. 

3. Performance Insights

By using services like the Notify API, smart contract developers can get insights on smart contract activity from the mempool. Pending transactions can give information on bugs and vulnerabilities of a smart contract. 

Conclusion

A mempool plays an important part in the function and health of a blockchain. Allowing nodes to validate transactions and miners to prioritize pending transactions according to gas fees is an essential part for the flow of transactions.

Developers can also use the data provided by a mempool to reduce costs and issues in their smart contracts. Mempools have been often described as "dark forests" of a blockchain but platforms like Alchemy Monitoring tools enable users to get more clarity in this critical step. 

Introduction

In a blockchain transaction, a mempool, or memory pool, is a list of pending transactions waiting for validation from a node before it is committed to a block on the blockchain. This is similar to using 'Staging' environments in traditional software development to perform testing and quality control before releasing to production. 

While traditional 'Staging' environments are centralized, each node has its own mempool to manage. Let's look at the transaction flow to understand the purpose of the mempool and how, by accessing it, we can learn important information: 

Ethereum Transaction Flow

Ethereum transactions fall into 3 categories: 

1) Simple Transfer - value is sent from one public address to another address. This could be a payment for an NFT or a service. 

2) Deployment of a smart contract - whenever a smart contract is deployed on the blockchain, it creates a transaction. 

3) Execution of a smart contract - if an address would like to send funds or data to a smart contract address. 

You can monitor Ethereum transactions using an Alchemy's monitoring tool, and find the history of transactions for a given address by using tools like the Alchemy Transfers API

Every type of Ethereum transaction follows the same transaction lifecycle: 

1) A user creates a transaction and signs using their private key. 

2) A node receives the transaction and stores it in the mempool 

3) While in the mempool, the node performs validation tests of the transaction. If the mempool pass the tests, the transaction status is moved to 'Pending'

4) The node broadcasts the pending transaction to all other nodes on the network to add the transaction to their own mempools.

5) A block constructor will then include the transactions with the highest gas prices once a new block is created. This will move the transaction to a 'Successful' state. 

6) Transactions will receive confirmations after the node adds each new block after the one it is included in. This provides assurance that the transaction is permanently added to the blockchain, since the risk of block reorganizing decreases over time. 

You can learn more about sending transactions and send your own here

Purpose of a mempool

Since blockchains are immutable, it is important that transactions entered onto the blockchain are valid and without errors. The node hosting the mempool plays an important role in validating each transaction before the process is started to commit it to the blockchain.

For developers, it is important to understand the validation tests to understand why transactions might fail or be stuck in 'Pending' state: 

1. Availability of Funds 

The node validates whether the sender address has enough funds to cover the cost of both the funds being sent and the gas for completing the transaction. If this validation fails, the transaction will be removed from the mempool. It is important to use the correct parameters of sending and the destination address to ensure that this validation is passed. 

2. Validity of Transaction Signatures

Each transaction needs to be signed by the sender's address. This is to identify that the sender is indeed the address owner. The node will validate that the signature is the correct one attached to the sender's address. 

Source

3. Correct Nonce Value 

The nonce value is the number of transactions that have been sent from the sender address. Each time a sender transaction sends a new transaction, the nonce value is increased by 1.  The nonce value is important because it forces each transaction from a given address to happen in the order in which they were sent. 

When the transaction’s nonce values cannot be duplicated or skipped, this prevents the issue of double-spending or overspending available funds. The node validates that the correct nonce value is attached to the pending transaction. If this test fails, the transaction will not progress. 

4. Gas Price

Depending on the mempool, there is a limit to how many transactions can be in the mempool at once. Geth, the popular Ethereum client, has a default limit of 4096 pending and 1024 queued transactions. When this limit is reached, the transactions with the lowest gas prices are removed from the pool to manage the space.  

Access a mempool

A major advantage to the mempool structure is replacement transactions can overwrite pending transactions to correct, speed up, or cancel them altogether. You can find out how to speed up transactions so they are picked up by miners faster using Metamask. 

Other than correcting pending transactions stuck in a mempool, accessing a mempool can be useful for other cases such as: 

 1. Estimating Gas Fees

Looking at the current pending transaction list and their connected fees can help avoid overpaying fees.

2. NFT Mining

By using a mempool scanner, users can get insight into pending transactions interacting with NFT contracts and outbid those transactions with higher gas fees. 

3. Performance Insights

By using services like the Notify API, smart contract developers can get insights on smart contract activity from the mempool. Pending transactions can give information on bugs and vulnerabilities of a smart contract. 

Conclusion

A mempool plays an important part in the function and health of a blockchain. Allowing nodes to validate transactions and miners to prioritize pending transactions according to gas fees is an essential part for the flow of transactions.

Developers can also use the data provided by a mempool to reduce costs and issues in their smart contracts. Mempools have been often described as "dark forests" of a blockchain but platforms like Alchemy Monitoring tools enable users to get more clarity in this critical step. 

{{building-alchemy-ad}}

Contact Us

Talk to an expert at Alchemy to answer all of your product questions.
Valid number
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Build blockchain magic with Alchemy

Alchemy combines the most powerful web3 developer products and tools with resources, community and legendary support.

Get started for free