# Flashbots Auction v0.4 proposal
## megabundle
mev-geth currently has a single rpc method for bundle submission, `eth_sendBundle`. This rpc makes use of a bundle scoring function and multi-worker architecture to generate blocks with multiple bundles and compare them for profitability. However, the scoring function used is known to have [a bias for smaller bundles](https://hackmd.io/@flashbots/core-v2-proposal#Revamped-auction-pricing).
This proposal brings back a feature excluded from the v0.2 release which provides the ability to insert large bundles directly into the multi-worker architecture. `eth_sendMegaBundle` would effectively be an implementation of full block scoring. Megabundles will help experiment with new approaches to bundle scoring and bundle merging and produce more profitable blocks for the miners while also increase the inclusion rate and the ability for searchers to land large bundles.
Because producing a full block for every bundle is a computationally expensive task, the relays are expected to send very few mega-bundles every block. To help the miner manage the load, mev-geth will have a new config parameter `megabundlerelays` which accepts an array of addresses. This allows for a separate worker to be dedicated for the verification of bundles from each relay. *For performance reasons, the number of relays being accepted should be kept to a minimum and not exceed the number of cores on the machine.*
mev-geth makes the assumptions that a relay only sends an updated megabundle if it is more profitable than the previous bundle. As such, mev-geth only retains the latest bundle received and the bundle currently being processed. To process a bundle, mev-geth builds a block with the megabundle at the top, and the remainder filled with transactions from the txpool. The block is then inserted in the multi-worker in charge of profit-switching. It is TBD if megabundles will provide elements of the block header.
Discussion: https://github.com/flashbots/pm/discussions/52