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
Learn
Solidity at
Alchemy
University
Get started today
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
Infra
BUNDLE SIMULATION OVERVIEW

What are bundled transaction simulations?

Learn What Bundled Transaction Simulations Are, and How to Use Alchemy's New Bundle Simulation API Endpoint
Last Updated:
January 25, 2023
Table of Contents
Table of Contents
Table of Contents

{{building-alchemy-ad}}

Bundled transaction simulations enable previewing sequential transactions, where the output of the first simulated transaction is the input of the second simulated transaction. Bundled simulations ensure that people can accurately predict the outcome of a transaction whose results are predicated on the results of a previous transaction. This is often necessary to confirm that assets are available to be transferred and are not staked or locked in another smart contract. 

Alchemy's new Transaction Simulation API, which is one part of a larger suite of web3 transaction products, includes support for simulating asset changes, single transaction simulations, and bundle transaction simulations.

In this article, we’ll cover: 

  • What are bundled transaction simulations? 
  • How do bundled transactions work?
  • How are bundled transactions different from call and trace endpoints?  
  • How is the Bundle Simulation API used?
  • How to use Alchemy’s Bundle Transaction Simulation API? 

What are bundled transaction simulations? 

Bundled transaction simulations preview how multiple, sequential transactions will behave before they are published on the blockchain. 

Compared to standard simulations that simulate a single transaction, previewing a bundle of transactions previews an ordered set of transactions that are dependent on a previous transaction preview’s result. 

By previewing bundled transactions, users can determine which (if any) of the batched transactions will revert, thereby knowing transaction results ahead of time.

Generally, transaction simulations improve security and offer developers ways to help their web3 users protect themselves against fraudulent transactions and scammers.

How do bundled transactions work? 

With alchemy_simulateBundle, developers pass in an array of transactions to accurately preview sequential transactions, and after each transaction preview, the previous transaction’s state changes are persisted, which allows developers to preview the behavior of multiple contingent transactions.

Here’s an example of how simulating bundles on transactions work:

  1. Simulate modifying the chain, without really modifying it to return output 1
  2. Input the chain state from simulation 1 (i.e. output 1) to see if a transfer would be successful

Bundle simulation uses more robust infrastructure to sequentially simulate transactions (using outputs of initial transactions as the input of follow-on transactions).

How is the Bundle Transaction API better than eth_call and debug_traceCalls?

It is hard to simulate transactions and preview how your transactions will affect the chain. Existing solutions, e.g., eth_call or debug_traceCall suffer from important limitations:

  • Methods only allow simulation of one transaction
  • Method outputs are hard-to-parse
  • Methods are limited by the data they return 

For example, methods only return results of the executed contract call, but not internal transactions, logs, etc.

Alchemy’s Bundled Transaction Simulation API endpoint solves both limitations, by enabling developers to simulate multiple, sequential transactions, with robust data outputs including logs, events and trace data. 

How is the Bundle Simulation API different from other Transaction Simulation endpoints?

Asset Changes and Execution Simulation can call the simulation API multiple times, but it never persists the state changes that would enable running sequential transactions, whereas with the Bundle Simulation API simulates multiple dependent simulations with persistent state changes after each simulation.

1. Asset Changes

With alchemy_simulateAssetChanges, any transaction can be simulated, and the simulation output will provide clean, simple data showing the changes and approvals of token balances after the transaction is confirmed. 

The Bundle Transaction API endpoint includes this information, but also includes detailed trace data, logs, and event information to give builders and traders a more thorough understanding of how transactions will behave.

2. Execution Simulation 

With alchemy_simulateExecution, developers receive an end-to-end simulation of a single transaction’s EVM execution, inclusive of decoded ABI data, logs, events, and trace data.

While the Execution Simulation API endpoint is more robust than the Asset Changes API, it only displays information for a single transaction. 

Although a single transaction preview is helpful for simple types of transactions, advanced developers and traders running complex transactions will require the robustness of the Bundle Transaction API endpoint to see how a series of transactions behave on the blockchain.

How is the Bundle Simulation API used? 

The general use case for Bundled Simulation is fraud detection and transaction security, ensuring that sequences of transactions are executable by the signer. 

Bundled Simulation will have multiple real-world applications, including but not limited to NFT marketplaces and decentralized exchanges (DEXs).

1. NFT Marketplaces

Bundled Simulations are necessary to detect potential fraud during NFT listings. When a NFT is listed for sale in a NFT auction, it doesn’t guarantee that the NFT is actually transferable in a purchase. The ERC721 token can be staked or locked in another contract, making its “for sale” listing inherently false and misleading. When a purchaser goes to buy the NFT, the transaction would revert. 

Bundled simulations would prevent this with two simulation calls: 

  1. Simulation 1: Approve use of NFT by marketplace contract
  2. Simulation 2: Call marketplace method to list or transfer NFT

2. Decentralized Exchanges (DEXs)

Bundled Simulations are necessary to prevent one-way swaps. On decentralized exchanges (DEXs) or swapping websites, tokens can be covertly “one-way swappable,” which means that signers can swap a token in, but not swap an token out, thereby, risking and actualizing significant asset loss in the process. 

Bundled simulations would prevent this with multiple simulation calls: 

  1. Simulation 1: Confirm token A is swappable
  2. Simulation 2: Confirm token B is swappable
  3. Simulation 3: Confirm token A will be swapped for token B, from address 1 to address 2

How to Start Using Bundled Transaction Simulations on Alchemy 

Head to our Transaction Simulation Quickstart Guide to get started, and sign up for an Alchemy account to start building today.

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
Infra
BUNDLE SIMULATION OVERVIEW

What are bundled transaction simulations?

Learn What Bundled Transaction Simulations Are, and How to Use Alchemy's New Bundle Simulation API Endpoint
Last Updated:
January 25, 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.
Table of Contents
Table of Contents

{{building-alchemy-ad}}

Bundled transaction simulations enable previewing sequential transactions, where the output of the first simulated transaction is the input of the second simulated transaction. Bundled simulations ensure that people can accurately predict the outcome of a transaction whose results are predicated on the results of a previous transaction. This is often necessary to confirm that assets are available to be transferred and are not staked or locked in another smart contract. 

Alchemy's new Transaction Simulation API, which is one part of a larger suite of web3 transaction products, includes support for simulating asset changes, single transaction simulations, and bundle transaction simulations.

In this article, we’ll cover: 

  • What are bundled transaction simulations? 
  • How do bundled transactions work?
  • How are bundled transactions different from call and trace endpoints?  
  • How is the Bundle Simulation API used?
  • How to use Alchemy’s Bundle Transaction Simulation API? 

What are bundled transaction simulations? 

Bundled transaction simulations preview how multiple, sequential transactions will behave before they are published on the blockchain. 

Compared to standard simulations that simulate a single transaction, previewing a bundle of transactions previews an ordered set of transactions that are dependent on a previous transaction preview’s result. 

By previewing bundled transactions, users can determine which (if any) of the batched transactions will revert, thereby knowing transaction results ahead of time.

Generally, transaction simulations improve security and offer developers ways to help their web3 users protect themselves against fraudulent transactions and scammers.

How do bundled transactions work? 

With alchemy_simulateBundle, developers pass in an array of transactions to accurately preview sequential transactions, and after each transaction preview, the previous transaction’s state changes are persisted, which allows developers to preview the behavior of multiple contingent transactions.

Here’s an example of how simulating bundles on transactions work:

  1. Simulate modifying the chain, without really modifying it to return output 1
  2. Input the chain state from simulation 1 (i.e. output 1) to see if a transfer would be successful

Bundle simulation uses more robust infrastructure to sequentially simulate transactions (using outputs of initial transactions as the input of follow-on transactions).

How is the Bundle Transaction API better than eth_call and debug_traceCalls?

It is hard to simulate transactions and preview how your transactions will affect the chain. Existing solutions, e.g., eth_call or debug_traceCall suffer from important limitations:

  • Methods only allow simulation of one transaction
  • Method outputs are hard-to-parse
  • Methods are limited by the data they return 

For example, methods only return results of the executed contract call, but not internal transactions, logs, etc.

Alchemy’s Bundled Transaction Simulation API endpoint solves both limitations, by enabling developers to simulate multiple, sequential transactions, with robust data outputs including logs, events and trace data. 

How is the Bundle Simulation API different from other Transaction Simulation endpoints?

Asset Changes and Execution Simulation can call the simulation API multiple times, but it never persists the state changes that would enable running sequential transactions, whereas with the Bundle Simulation API simulates multiple dependent simulations with persistent state changes after each simulation.

1. Asset Changes

With alchemy_simulateAssetChanges, any transaction can be simulated, and the simulation output will provide clean, simple data showing the changes and approvals of token balances after the transaction is confirmed. 

The Bundle Transaction API endpoint includes this information, but also includes detailed trace data, logs, and event information to give builders and traders a more thorough understanding of how transactions will behave.

2. Execution Simulation 

With alchemy_simulateExecution, developers receive an end-to-end simulation of a single transaction’s EVM execution, inclusive of decoded ABI data, logs, events, and trace data.

While the Execution Simulation API endpoint is more robust than the Asset Changes API, it only displays information for a single transaction. 

Although a single transaction preview is helpful for simple types of transactions, advanced developers and traders running complex transactions will require the robustness of the Bundle Transaction API endpoint to see how a series of transactions behave on the blockchain.

How is the Bundle Simulation API used? 

The general use case for Bundled Simulation is fraud detection and transaction security, ensuring that sequences of transactions are executable by the signer. 

Bundled Simulation will have multiple real-world applications, including but not limited to NFT marketplaces and decentralized exchanges (DEXs).

1. NFT Marketplaces

Bundled Simulations are necessary to detect potential fraud during NFT listings. When a NFT is listed for sale in a NFT auction, it doesn’t guarantee that the NFT is actually transferable in a purchase. The ERC721 token can be staked or locked in another contract, making its “for sale” listing inherently false and misleading. When a purchaser goes to buy the NFT, the transaction would revert. 

Bundled simulations would prevent this with two simulation calls: 

  1. Simulation 1: Approve use of NFT by marketplace contract
  2. Simulation 2: Call marketplace method to list or transfer NFT

2. Decentralized Exchanges (DEXs)

Bundled Simulations are necessary to prevent one-way swaps. On decentralized exchanges (DEXs) or swapping websites, tokens can be covertly “one-way swappable,” which means that signers can swap a token in, but not swap an token out, thereby, risking and actualizing significant asset loss in the process. 

Bundled simulations would prevent this with multiple simulation calls: 

  1. Simulation 1: Confirm token A is swappable
  2. Simulation 2: Confirm token B is swappable
  3. Simulation 3: Confirm token A will be swapped for token B, from address 1 to address 2

How to Start Using Bundled Transaction Simulations on Alchemy 

Head to our Transaction Simulation Quickstart Guide to get started, and sign up for an Alchemy account to start building today.

Bundled transaction simulations enable previewing sequential transactions, where the output of the first simulated transaction is the input of the second simulated transaction. Bundled simulations ensure that people can accurately predict the outcome of a transaction whose results are predicated on the results of a previous transaction. This is often necessary to confirm that assets are available to be transferred and are not staked or locked in another smart contract. 

Alchemy's new Transaction Simulation API, which is one part of a larger suite of web3 transaction products, includes support for simulating asset changes, single transaction simulations, and bundle transaction simulations.

In this article, we’ll cover: 

  • What are bundled transaction simulations? 
  • How do bundled transactions work?
  • How are bundled transactions different from call and trace endpoints?  
  • How is the Bundle Simulation API used?
  • How to use Alchemy’s Bundle Transaction Simulation API? 

What are bundled transaction simulations? 

Bundled transaction simulations preview how multiple, sequential transactions will behave before they are published on the blockchain. 

Compared to standard simulations that simulate a single transaction, previewing a bundle of transactions previews an ordered set of transactions that are dependent on a previous transaction preview’s result. 

By previewing bundled transactions, users can determine which (if any) of the batched transactions will revert, thereby knowing transaction results ahead of time.

Generally, transaction simulations improve security and offer developers ways to help their web3 users protect themselves against fraudulent transactions and scammers.

How do bundled transactions work? 

With alchemy_simulateBundle, developers pass in an array of transactions to accurately preview sequential transactions, and after each transaction preview, the previous transaction’s state changes are persisted, which allows developers to preview the behavior of multiple contingent transactions.

Here’s an example of how simulating bundles on transactions work:

  1. Simulate modifying the chain, without really modifying it to return output 1
  2. Input the chain state from simulation 1 (i.e. output 1) to see if a transfer would be successful

Bundle simulation uses more robust infrastructure to sequentially simulate transactions (using outputs of initial transactions as the input of follow-on transactions).

How is the Bundle Transaction API better than eth_call and debug_traceCalls?

It is hard to simulate transactions and preview how your transactions will affect the chain. Existing solutions, e.g., eth_call or debug_traceCall suffer from important limitations:

  • Methods only allow simulation of one transaction
  • Method outputs are hard-to-parse
  • Methods are limited by the data they return 

For example, methods only return results of the executed contract call, but not internal transactions, logs, etc.

Alchemy’s Bundled Transaction Simulation API endpoint solves both limitations, by enabling developers to simulate multiple, sequential transactions, with robust data outputs including logs, events and trace data. 

How is the Bundle Simulation API different from other Transaction Simulation endpoints?

Asset Changes and Execution Simulation can call the simulation API multiple times, but it never persists the state changes that would enable running sequential transactions, whereas with the Bundle Simulation API simulates multiple dependent simulations with persistent state changes after each simulation.

1. Asset Changes

With alchemy_simulateAssetChanges, any transaction can be simulated, and the simulation output will provide clean, simple data showing the changes and approvals of token balances after the transaction is confirmed. 

The Bundle Transaction API endpoint includes this information, but also includes detailed trace data, logs, and event information to give builders and traders a more thorough understanding of how transactions will behave.

2. Execution Simulation 

With alchemy_simulateExecution, developers receive an end-to-end simulation of a single transaction’s EVM execution, inclusive of decoded ABI data, logs, events, and trace data.

While the Execution Simulation API endpoint is more robust than the Asset Changes API, it only displays information for a single transaction. 

Although a single transaction preview is helpful for simple types of transactions, advanced developers and traders running complex transactions will require the robustness of the Bundle Transaction API endpoint to see how a series of transactions behave on the blockchain.

How is the Bundle Simulation API used? 

The general use case for Bundled Simulation is fraud detection and transaction security, ensuring that sequences of transactions are executable by the signer. 

Bundled Simulation will have multiple real-world applications, including but not limited to NFT marketplaces and decentralized exchanges (DEXs).

1. NFT Marketplaces

Bundled Simulations are necessary to detect potential fraud during NFT listings. When a NFT is listed for sale in a NFT auction, it doesn’t guarantee that the NFT is actually transferable in a purchase. The ERC721 token can be staked or locked in another contract, making its “for sale” listing inherently false and misleading. When a purchaser goes to buy the NFT, the transaction would revert. 

Bundled simulations would prevent this with two simulation calls: 

  1. Simulation 1: Approve use of NFT by marketplace contract
  2. Simulation 2: Call marketplace method to list or transfer NFT

2. Decentralized Exchanges (DEXs)

Bundled Simulations are necessary to prevent one-way swaps. On decentralized exchanges (DEXs) or swapping websites, tokens can be covertly “one-way swappable,” which means that signers can swap a token in, but not swap an token out, thereby, risking and actualizing significant asset loss in the process. 

Bundled simulations would prevent this with multiple simulation calls: 

  1. Simulation 1: Confirm token A is swappable
  2. Simulation 2: Confirm token B is swappable
  3. Simulation 3: Confirm token A will be swapped for token B, from address 1 to address 2

How to Start Using Bundled Transaction Simulations on Alchemy 

Head to our Transaction Simulation Quickstart Guide to get started, and sign up for an Alchemy account to start building today.

Build web3 with Alchemy

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

 Start building