Flashbots is a research and development organization working on mitigating the negative externalities of current MEV extraction techniques and avoiding the existential risks MEV could cause to state-rich blockchains like Ethereum. Our primary focus is to enable a permissionless, transparent, and fair ecosystem for MEV extraction. It falls under three goals: Democratizing Access to MEV Revenue, Bringing Transparency to MEV Activity and Redistributing MEV Revenue.
We've released two projects so far:
- Flashbots Alpha: a proof of concept communication channel between miners and searchers for transparent and efficient MEV extraction.
- MEV-Explore: a public dashboard and live transactions explorer of MEV activity.
You can interact with Flashbots on Discord and Github. We have dedicated channels on Discord for each of our efforts and welcome contributions. Our work is open source and you can follow our progress in each repository of the Flashbots organization. In addition, we hold several recurring community calls: a monthly MEV Roast, a bi-weekly research workshop and a monthly transparency call to update the community on our progress.
The current repository you're in provides an overview of our activities, and contains our open job searches and the onboarding documents to start using the Alpha we've released, either as a miner or as a searcher.
Learn more about our values and our mission: Flashbots - Frontrunning the MEV Crisis
Join us on Discord: #Flashbots
Subscribe to our public calendar here
- Introduction
- Flashbots Alpha
- MEV-Explore
- Our organization & ways you can contribute
- List of resources, MEV Roasts recordings and how to navigate Flashbots' github
On Jan 6th 2021, we entered the Flashbots Alpha phase by establishing a proof-of-concept communication channel between traders (searchers) and miners. This proof-of-concept is made of two components: MEV-Geth, a slightly modified fork of the Ethereum Geth client, and MEV-Relay, a transaction bundle relayer.
How it works:
- Searchers send Flashbots "bundles" to MEV-Relay. A bundle contains:
- one or several transactions that can be the searcher's and/or other users' pending transactions from the mempool
- a sealed tip that is paid by the searcher to the miner via a smart contract call to
block.coinbase.transfer()
- Moreover, bundles have these properties:
- There can only be a single bundle per block (we are working on bundle merging to enable multiple)
- Flashbots bundles will always be at the top slot of the block
- MEV-Relay receives bundles and sends them to all whitelisted MEV-Geth miners
- Miners receive Flashbots bundles from MEV-Relay and process them in MEV-Geth
- MEV-Geth picks the most profitable bundle out of all bundles it is sent.
- MEV-Geth then compares the block that includes this bundle with a vanilla block that does not include any bundles. If it is more profitable to include a bundle MEV-Geth will do so, but otherwise it will default back to a vanilla Geth block.
- Only when the a searcher's bundle is included in a block is the tip associated with their bundle paid.
- If a bundle is not included it does not cost the searcher anything (i.e. no gas fees are paid for failed transactions)
This infrastructure allows:
- searchers to bypass the Ethereum mempool and avoid their strategy leaking before it is mined on-chain (i.e. being frontrun by generalized frontrunners)
- searchers to save money from avoiding to pay gas fees for failed transactions.
- miners to receive additional revenue in the form of the bundle tip, in exchange for including the most profitable bundle in the block they mined.
Interested in learning more?
Onboard Flashbots alpha as a searcher
Onboard Flashbots alpha as a miner
Jan 2021 Transparency Report
Feb 2021 Transparency Report
We are quickly iterating in public towards a permissionless infrastructure with full transaction privacy. We welcome all ecosystem participants to provide early technical feedback via Github issues and pull requests in the relevant repos, create open-source toolings to improve transparency within Flashbots ecosystem, and participate in ongoing discussions on Flashbots' Discord!
On Jan 22 2021, we released MEV-Explore v0 a public dashboard and live transaction explorer for MEV transactions.
How much MEV has been extracted on Ethereum? How much MEV do DeFi traders and bot operators capture? How much gas was spent on MEV transactions that went to the miners who mined the proof of work solutions with the MEV transactions? What are the most common types of MEV extraction strategies? Which DeFi protocols contain the most MEV? How much network resources do successful and failed MEV transactions take up?
With these questions in mind, we scraped Ethereum, covering over 8 major DeFi protocols and their clones, and collected more than 1.3 million MEV transactions that landed on-chain since Jan 1 2020 to provide a preliminary lower-bound to Extracted MEV. With the release of MEV-Explore, we're taking our first step at bringing transparency to MEV by quantifying the MEV that has been extracted on-chain.
Quantifying MEV: Introducing MEV-Explore v0 (blogpost)
Flashbots research and development are tightly-coupled dual engines that propel the organization in a phased approach:
- Long-term oriented research efforts spec out and update our roadmap, define our organization’s phases and identify key milestones associated with each of them;
- Milestone-oriented engineering efforts ship core infrastructure and ecosystem tools, while collecting data and producing other artifacts that feed back into research.
We are not your typical project, we are fully remote and our principles are based on that of a pirate hacker collective. If you are a self-directed individual who puts collective success above your own and are motivated by solving hard problems with asymmetric impact, you will fit right in.
- open job positions - full-time roles we're actively recruiting for.
- flashbots research fellowship - we issue research grants to flashbots research proposals submitters. Find out more in our research repo.
- flashbots part-time contractor - become a part-time contractor in Flashbots and join one of our ongoing projects. Reach out to the team to learn more!
- nothing fits in the above? reach out at info@flashbots.net
- Ethereum is a Dark Forest by Dan Robinson & Georgios Konstantopoulos
- How to get Front-Run on Ethereum mainnet by Scott Bigelow
- Escaping the Dark Forest by samczsun
- Frontrunning in DEXs, Miner Extractable Value, and Consensus Instability by Phil Daian at IEEE Symposium on Security and Privacy
- Flashbots: Frontrunning the MEV Crisis by Flashbots
- ETHOnline - Phil & Georgios Talk Miner Extractable Value
- Quantifying MEV: Introducing MEV-Explore v0 by Flashbots
You can check out a full list of MEV resources in our Research Vault
MEV Roast is a monthly discussion that stems from the research collective MEV Pi-rate Ship tradition. It's meant to service as a communication bridge between Flashbots and the broader community interested in understanding MEV and contribute to our research and engineering efforts. The format of our Roast is meant to invite constructive criticism on the Flashbots efforts and to address open questions.
No. | Date | Roast Master | Topic | Agenda | Notes | Recording |
---|---|---|---|---|---|---|
8 | Nov 25 | Dan Robinson | Intro to MEV & Flashbots | agenda | slides | video |
9 | Dec 16 | Dan Elitzer | MEV Mitigation on Network vs. Contract Level? | agenda | slides | video |
10 | Jan 13 | Tom Schmidt / Palkeo | Whitehat Rescue of NFTs using Flashbots | agenda | slides | video |
11 | Jan 28 | Sunny Aggarwal | Privacy Solutions for MEV Minimization | agenda | slides | video |
12 | Feb 25 | Hudson Jameson | MEV State Space Search: MEV from A to Z | agenda | slides | video |
13 | Mar 25 | Vitalik Buterin | The Blockspace Bazaar: Past, Present & Future | agenda | slides | video |
/pm
The repo you're currently in, contains an introduction to our organization, our job postings and the list of all the projects we're working on, updated frequently by the project's owners.
/mev-geth
A fork of the Geth client dubbed MEV-Geth modified to accept Flashbots transaction bundles and to compare Flashbots blocks to regular blocks.
/mev-geth-demo
Launches an MEV GETH node, and shows how a miner may profit from it by accepting MEV bundles
/mev-proxy
An example of a reverse proxy that a miner can run.
/mev-relay-js
The code for the entrypoint searchers send their Flashbots bundles to and miners connect to in order to receive bundles. Includes an example of a reverse proxy that a miner can run.
/ethers-provider-flashbots-bundle
Flashbots provider for ethers.js
/web3-flashbots
Flashbots provider for web3.py
/simple-arbitrage
An example arbitrage bot that uses Flashbots.
/mev-inspect-rs
The Rust codebase of the inspectors we run to scrape Ethereum data we use in MEV-Explore.
/mev-explore-public
All things MEV-Explore: report bugs, request features by opening an issue and start a discussion in the discussion tab.
/mev-research
All our research activity. Learn about our research organization, the MEV research fellowship, submit a Flashbots research proposal as a PR, open an issue to start a discussion.