# Should builder discard failed transactions from bundles when they're specified as reverting transaction hashes?

**URL:** https://collective.flashbots.net/t/should-builder-discard-failed-transactions-from-bundles-when-theyre-specified-as-reverting-transaction-hashes/2039
**Category:** Searchers
**Tags:** mev-boost, question
**Created:** [July 21, 2023, 9:31pm UTC](https://collective.flashbots.net/t/should-builder-discard-failed-transactions-from-bundles-when-theyre-specified-as-reverting-transaction-hashes/2039 "2023-07-21T21:31:12Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![wasif](https://collective.flashbots.net/letter_avatar_proxy/v4/letter/w/ebca7d/32.png) [@wasif](https://collective.flashbots.net/u/wasif)
#### Post date: [July 21, 2023, 9:31pm UTC](https://collective.flashbots.net/t/should-builder-discard-failed-transactions-from-bundles-when-theyre-specified-as-reverting-transaction-hashes/2039/1 "2023-07-21T21:31:13Z")

</div>

_Calling Searchers and Builders: should Flashbots’ builder discard failed transactions from bundles when they’re specified as reverting transaction hashes?_

## Context

Flashbots’ builder can accept [bundles of transactions](https://docs.flashbots.net/flashbots-mev-share/searchers/understanding-bundles#bundle-definition), which provide certain guarantees:

1. **All** transactions in a bundle must be included in specified order, with no transaction inserted between them
2. If _any_ transaction reverts, **no transaction** from the bundle will be included **EXCEPT**  
a. When request specifies [reverting transaction hash(es)](https://github.com/flashbots/mev-share/blob/main/specs/bundles/v0.1.md#body), the builder can _still include the bundle_ if the specified transaction(s) revert within it

We received a feature suggestion where: If reverting transaction hash is specified in a bundle, and that transaction **FAILS** , the builder **discards** the transaction and continues attempt to build block with the given bundle.

* * *

## Definitions

It’s important to note the distinction between transaction _failure_ and _revert_:

- **Failure** : There was an issue with the transaction prior to its execution. For example, if the nonce is too high or too low for the transaction, it’s considered invalid and fails - the builder doesn’t try to execute it.
- **Revert** : There was an issue with the transaction during its execution that caused it to revert. Revert status is derived from the transaction receipt, as described here: [https://ethereum.stackexchange.com/questions/28889/what-is-the-exact-meaning-of-a-transactions-new-receipt-status-field](https://ethereum.stackexchange.com/questions/28889/what-is-the-exact-meaning-of-a-transactions-new-receipt-status-field)

* * *

## Summary

Currently the Flashbots builder stops bundle processing on [failure](https://collective.flashbots.net/t/should-builder-discard-failed-transactions-from-bundles-when-theyre-specified-as-reverting-transaction-hashes/2039#definitions-2) - the whole bundle is discarded.

The feature suggestion would allow our builder to continue processing a bundle on transaction failure, provided it’s specified as a transaction that [can revert](https://github.com/flashbots/mev-share/blob/main/specs/bundles/v0.1.md#example) in the request. Failed transactions that can revert are discarded from the bundle.

Searchers & Builders, we’d like to hear from you: should we discard failed transactions from bundles when they’re specified as reverting transaction hashes? Why or why not? Is this feature valuable to the community, or are there negative implications with this change?

**Note** :

- Discarding failed transactions is a feature other builders already support, e.g. [builder0x69](https://docs.builder0x69.io/)
- Would appreciate feedback on this feature by **Friday 2023-07-29T00:00:00Z** and subject to feedback and discussion we’d go live by week of 2023-08-07T00:00:00Z

Look forward to your input and friendly discussion, thank you!

* * *

## TL;DR

- We’re considering builder update to discard failed transactions from bundles if their hash is specified in request as [`canRevert`](https://docs.flashbots.net/flashbots-mev-share/searchers/understanding-bundles#bundle-definition)  
– **Note** : Failed is different from reverted, see [definitions above](https://collective.flashbots.net/t/should-builder-discard-failed-transactions-from-bundles-when-theyre-specified-as-reverting-transaction-hashes/2039#definitions-2)
- Searchers & Builders: Is this feature valuable to the community, or are there negative implications with this change?  
– **Note** : Discarding failed transactions is a feature other builders already support, e.g. [builder0x69](https://docs.builder0x69.io/)
- We’d appreciate feedback on this feature by **Friday 2023-07-29T00:00:00Z**  
– Subject to feedback and discussion we’d go live by week of 2023-08-07T00:00:00Z

* * *

## References

- [mev\_sendBundle JSON-RPC Specification](https://github.com/flashbots/mev-share/blob/main/specs/bundles/v0.1.md#example)
- [Flashbots Docs - Understanding Bundles](https://docs.flashbots.net/flashbots-mev-share/searchers/understanding-bundles#bundle-definition)
- [https://ethereum.stackexchange.com/questions/28889/what-is-the-exact-meaning-of-a-transactions-new-receipt-status-field](https://ethereum.stackexchange.com/questions/28889/what-is-the-exact-meaning-of-a-transactions-new-receipt-status-field)  
 ![px](https://collective.flashbots.net/uploads/default/original/2X/c/ca60e38032b234ad59a56965fe98b2abf584da78.png)
