diff --git a/docs/flashbots-auction/advanced/troubleshooting.mdx b/docs/flashbots-auction/advanced/troubleshooting.mdx index f6d5a859..e05bc350 100644 --- a/docs/flashbots-auction/advanced/troubleshooting.mdx +++ b/docs/flashbots-auction/advanced/troubleshooting.mdx @@ -211,7 +211,7 @@ Each bundle submission is designed to target a specific block number. Therefore, All these steps need to be completed before the targeted block is proposed. If you're targeting `blockNumber +1`, which is common for most bundles, it's vital to deliver your bundle to your builder(s) as quickly as you can. -It's important to remember that there's a time frame for every block when your local perspective of block height is `X`, while `X+1` has already been discovered and propagated to a portion of the network, but hasn't reached your local node yet. During this period of partial propagation, submitting a bundle targeting `X+1` may seem valid from your network perspective, but could be pointless if builders have already started working on solving X+2. In rare cases, targeting the `X+1` block just before its discovery can also cause bundle failure due to insufficient time for the bundle to complete the above listed 4 steps, each of which takes aroun 1-2 seconds. +It's important to remember that there's a time frame for every block when your local perspective of block height is `X`, while `X+1` has already been discovered and propagated to a portion of the network, but hasn't reached your local node yet. During this period of partial propagation, submitting a bundle targeting `X+1` may seem valid from your network perspective, but could be pointless if builders have already started working on solving X+2. In rare cases, targeting the `X+1` block just before its discovery can also cause bundle failure due to insufficient time for the bundle to complete the above listed 4 steps, each of which takes around 1-2 seconds. To monitor the time taken from the submission of your bundle to the Flashbots and the proposal of the next block, Flashbots provides an RPC endpoint `eth_getBundleStats`. This endpoint returns timing information based on a previously-submitted bundle. Each submitted bundle is uniquely identified by a bundleHash and target block number for future reference. The bundleHash is straightforward to calculate, as shown [here](https://github.com/flashbots/ethers-provider-flashbots-bundle/blob/0d404bb041b82c12789bd62b18e218304a095b6f/src/index.ts#L266-L269). diff --git a/docs/flashbots-auction/libraries/web3py-provider.md b/docs/flashbots-auction/libraries/web3py-provider.md index e4f82f2d..25041032 100644 --- a/docs/flashbots-auction/libraries/web3py-provider.md +++ b/docs/flashbots-auction/libraries/web3py-provider.md @@ -5,6 +5,6 @@ web3-flashbots is a repository containing a library that works by injecting a ne a middleware which captures calls to `eth_sendBundle` and `eth_callBundle`, and sends them to an RPC endpoint which you have specified, which corresponds your preferred block builder. -To apply correct headers we use FlashbotProvider which injects the correct header on post +To apply correct headers, we use FlashbotProvider which injects the correct header on post. Access the web3-flashbots repository [here](https://github.com/flashbots/web3-flashbots). diff --git a/docs/flashbots-auction/quick-start.mdx b/docs/flashbots-auction/quick-start.mdx index 419184fb..bf194acb 100644 --- a/docs/flashbots-auction/quick-start.mdx +++ b/docs/flashbots-auction/quick-start.mdx @@ -38,7 +38,7 @@ To access the Flashbots network you will need three things: - [Alchemy](https://docs.alchemy.com/docs/how-to-send-a-private-transaction-on-ethereum?a=fb) provides a convenient way to dispatch individual transactions to Flashbots. 3. A "bundle" comprising your transactions -When you send bundles to Flashbots, they are signed with your key, which allows us to confirm your identity and accumulate your [reputation](/flashbots-auction/advanced/reputation) over time. Reputation system is set up to protect the infrastructure from attacks like DDoS. Searcheres with higher reputation will have better access to the network especially during times of high congestion. +When you send bundles to Flashbots, they are signed with your key, which allows us to confirm your identity and accumulate your [reputation](/flashbots-auction/advanced/reputation) over time. Reputation system is set up to protect the infrastructure from attacks like DDoS. Searchers with higher reputation will have better access to the network especially during times of high congestion. It's crucial to understand that this key **does not** manage any funds and does **not** have to be the main Ethereum key used for authenticating transactions. Its only function is to establish your identity with Flashbots. You can use any ECDSA-secp256k1 key for this purpose. diff --git a/docs/flashbots-data/dashboard.md b/docs/flashbots-data/dashboard.md index df57bd0f..bd16dddf 100644 --- a/docs/flashbots-data/dashboard.md +++ b/docs/flashbots-data/dashboard.md @@ -4,4 +4,4 @@ title: Flashbots Transparency Dashboard The [Flashbots Transparency Dashboard](https://transparency.flashbots.net/) is a public dashboard with metrics on Realised Extractable Value (REV) on Ethereum, as well as data related to the Flashbots MEV-Boost Relay. The dashboard includes data from the Ethereum mainnet since block #15537940 on September 15th 2022 and has a freshness delay of 1 week. Pre-merge MEV activity can be explored here: [MEV-Explore](https://explore.flashbots.net/). -The Transparency Dashboard is a key component of our commitment to provide transparency on the wider MEV ecosystem and our products. It serves as a valuable resource for contributors and collaborators by providing data for research. Methodology and more information can be found in the [forum post](https://collective.flashbots.net/t/will-the-real-mev-please-stand-up/1686)) introducing the dashboard. +The Transparency Dashboard is a key component of our commitment to provide transparency on the wider MEV ecosystem and our products. It serves as a valuable resource for contributors and collaborators by providing data for research. Methodology and more information can be found in the [forum post](https://collective.flashbots.net/t/will-the-real-mev-please-stand-up/1686) introducing the dashboard. diff --git a/docs/flashbots-mev-share/introduction.mdx b/docs/flashbots-mev-share/introduction.mdx index 93e32003..9e7a272c 100644 --- a/docs/flashbots-mev-share/introduction.mdx +++ b/docs/flashbots-mev-share/introduction.mdx @@ -9,7 +9,7 @@ import WhatsMevShareAdvanced from "../specs/mev-share/blurbs/_whatsMevShareAdvan ## What is MEV-Share? -To start earning MEV refunds from MEV-share, submit your transactions to the Flashbots **MEV-Share Node**, either by [connecting your wallet to the Protect RPC](/flashbots-protect/quick-start/#using-flashbots-protect), or sending a [private transaction](/flashbots-auction/advanced/rpc-endpoint#eth_sendprivatetransaction) to the MEV-Share Node API. +To start earning MEV refunds from MEV-Share, submit your transactions to the Flashbots **MEV-Share Node**, either by [connecting your wallet to the Protect RPC](/flashbots-protect/quick-start/#using-flashbots-protect), or sending a [private transaction](/flashbots-auction/advanced/rpc-endpoint#eth_sendprivatetransaction) to the MEV-Share Node API. ## Why MEV-Share? MEV-Share redistributes MEV back to the party that creates it in the first place: users. It does so through a design that is built to scale and be decentralized, which means that it is permissionless for searchers to integrate and it does not enshrine a single block builder. @@ -17,10 +17,10 @@ MEV-Share redistributes MEV back to the party that creates it in the first place ## How does MEV-Share work? Users send their transactions to a specialized actor called a MEV-Share Node. The MEV-Share Node selectively shares information about the user's transaction according to their privacy preferences. Seeing this information, searchers submit partial bundles to the MEV-Share Node to attempt to extract MEV from user's transactions without seeing the full transaction data. MEV-Share Nodes simulate each of these searcher bundles and forward the successful ones on to builders along with a condition that the user must be paid back specified percentage (by default 90%) of the MEV their transactions create. -At the moment, MEV-Share Nodes ony accept backruns. +At the moment, MEV-Share Nodes only accept backruns. ## How do I use MEV-Share? -The most simple way to use MEV-Share is by sending transactions to [Flashbots Protect](/flashbots-protect/quick-start), which leverages the [Flashbots MEV-Share Node](/flashbots-protect/mev-share). Wallet and application developers should check out the [Flashbots Protect MEV-Share section](/flashbots-protect/mev-share) for information about integrating and configuring the Flashbots MEV-Share Node. +The simplest way to use MEV-Share is by sending transactions to [Flashbots Protect](/flashbots-protect/quick-start), which leverages the [Flashbots MEV-Share Node](/flashbots-protect/mev-share). Wallet and application developers should check out the [Flashbots Protect MEV-Share section](/flashbots-protect/mev-share) for information about integrating and configuring the Flashbots MEV-Share Node. ## How do I search on MEV-Share? -Searchers should see the [Getting Started](/flashbots-mev-share/searchers/getting-started) guide for a walkthrough of MEV-Share and how it differs from traditional searching. \ No newline at end of file +Searchers should see the [Getting Started](/flashbots-mev-share/searchers/getting-started) guide for a walkthrough of MEV-Share and how it differs from traditional searching. diff --git a/docs/flashbots-mev-share/release-notes/2023-03.mdx b/docs/flashbots-mev-share/release-notes/2023-03.mdx index 60cfee33..056d35a9 100644 --- a/docs/flashbots-mev-share/release-notes/2023-03.mdx +++ b/docs/flashbots-mev-share/release-notes/2023-03.mdx @@ -8,7 +8,7 @@ https://github.com/flashbots/mev-share New endpoints added to Flashbots bundle relay (relay.flashbots.net): -- `mev_sendBundle` - send bundles with a [new format](https://github.com/flashbots/mev-share/blob/main/specs/bundles/v0.1.md), enabling modular privacy settings and sets the stage for future innovations +- `mev_sendBundle` - send bundles with a [new format](https://github.com/flashbots/mev-share/blob/main/specs/bundles/v0.1.md), enabling modular privacy settings and sets the stage for future innovations. - `mev_simBundle` - simulate bundles in the context of MEV-Share using the new format. ## SSE Event Stream diff --git a/docs/flashbots-mev-share/searchers/getting-started.mdx b/docs/flashbots-mev-share/searchers/getting-started.mdx index 5daf2629..9d54353e 100644 --- a/docs/flashbots-mev-share/searchers/getting-started.mdx +++ b/docs/flashbots-mev-share/searchers/getting-started.mdx @@ -9,7 +9,7 @@ To start searching on MEV-Share, you will first need to connect to a MEV-Share N ## Connect to MEV-Share Node -Flashbots operates an MEV-Share Node on the Ethereum mainnet. This Node provides endpoints for user transactions and searcher bundles. Additionally, it offers an Server-Sent Events (SSE) streaming endpoint, broadcasting pending events/transactions to searchers. +Flashbots operates an MEV-Share Node on the Ethereum mainnet. This Node provides endpoints for user transactions and searcher bundles. Additionally, it offers a Server-Sent Events (SSE) streaming endpoint, broadcasting pending events/transactions to searchers. The simplest way to connect to the Flashbots MEV-Share Node is to use a [client library](/flashbots-auction/libraries/mev-share-clients). For this guide, we'll refer to [mev-share-client-ts](https://github.com/flashbots/mev-share-client-ts). @@ -63,7 +63,7 @@ Further documentation on the client library can be found in the [mev-share-clien For Rust users, thanks to Paradigm's effort, we have a Rust MEV-Share client [mev-share-rs](https://github.com/paradigmxyz/mev-share-rs). -If you want a complete MEV bot framework, could also directly go for [Artemis](https://github.com/paradigmxyz/artemis), which has built-in support for MEV-Share as outlined in this [example](https://github.com/paradigmxyz/artemis/blob/main/examples/mev-share-arb/src/main.rs). +If you want a complete MEV bot framework, you could also directly go for [Artemis](https://github.com/paradigmxyz/artemis), which has built-in support for MEV-Share as outlined in this [example](https://github.com/paradigmxyz/artemis/blob/main/examples/mev-share-arb/src/main.rs). diff --git a/docs/flashbots-mev-share/searchers/tutorials/limit-order/sending-bundles.mdx b/docs/flashbots-mev-share/searchers/tutorials/limit-order/sending-bundles.mdx index 6d08b8df..4c5b6f8e 100644 --- a/docs/flashbots-mev-share/searchers/tutorials/limit-order/sending-bundles.mdx +++ b/docs/flashbots-mev-share/searchers/tutorials/limit-order/sending-bundles.mdx @@ -73,7 +73,7 @@ async function backrunAttempt( currentBlockNumber: number, nonce: number, pendin } ``` -The `getSignedBackrunTx` function creates the transaction we'll send to execute our trade on Uniswap. We set a fixed gas price here for simplicity. If you prefer, you could replace the with dynamic fees that track the base fee of the chain. But constant gas prices may work better if you don't want to spend a lot on gas, and don't mind having to wait if the network's base fee exceeds your settings. +The `getSignedBackrunTx` function creates the transaction we'll send to execute our trade on Uniswap. We set a fixed gas price here for simplicity. If you prefer, you could replace it with dynamic fees that track the base fee of the chain. But constant gas prices may work better if you don't want to spend a lot on gas, and don't mind having to wait if the network's base fee exceeds your settings. The `backrunAttempt` function defines our price requirement logic: we make sure that `outputAmount` is at least our previously-defined cutoff amount. However, if the simulated output amount is higher, then we set `outputAmount` to expect that much, which protects us from [slippage](https://en.wikipedia.org/wiki/Slippage_(finance)) in case other transactions in the block happen to trade on the same pair. This function then sends our bundle to MEV-Share. If the bundle was received successfully, we should see a bundle hash logged to our console. diff --git a/docs/flashbots-protect/additional-documentation/bundle-cache.md b/docs/flashbots-protect/additional-documentation/bundle-cache.md index e84fbff7..70c89021 100644 --- a/docs/flashbots-protect/additional-documentation/bundle-cache.md +++ b/docs/flashbots-protect/additional-documentation/bundle-cache.md @@ -1,3 +1,8 @@ + + + + + --- title: bundle cache API --- @@ -8,7 +13,7 @@ This will be used for whitehat recoveries. By enabling users to sign transaction ## Create a Bundle ID -To start addding transactions to a bundle, first create a bundle ID. We recommend using a UUID (v4). You can generate a UUID at [uuidgenerator.net](https://www.uuidgenerator.net/version4) or with any uuid library. +To start adding transactions to a bundle, first create a bundle ID. We recommend using a UUID (v4). You can generate a UUID at [uuidgenerator.net](https://www.uuidgenerator.net/version4) or with any UUID library. ## Connect to Flashbots Protect with Bundle ID diff --git a/docs/welcome.mdx b/docs/welcome.mdx index f70b92a7..ead10fc5 100644 --- a/docs/welcome.mdx +++ b/docs/welcome.mdx @@ -42,7 +42,7 @@ Link your wallet to Flashbots Protect to safeguard against frontrunning, benefit Leverage MEV-Boost to access a competitive block-building market, fostering greater competition, decentralization, and censorship-resistance for Ethereum. -- [Mev-Boost Docs](/flashbots-mev-boost/introduction)
+- [MEV-Boost Docs](/flashbots-mev-boost/introduction)
@@ -60,6 +60,6 @@ Product & research are the semi-autonomous dual engines that propel our organiza - [Flashbots Product](/) builds core infrastructure and ecosystem tooling that redefine the block production supply chain across blockchains. - [Flashbots Research](https://github.com/flashbots/mev-research) explores MEV market dynamics and blockchain design challenges at the intersection of economics, security, and cryptography. -You can interact with Flashbots on [Discord](https://discord.gg/7hvTycdNcK), [Github](https://github.com/flashbots/pm), and our [Discourse forum](https://collective.flashbots.net/). We have dedicated channels on Discord for each of our efforts and welcome your contributions. Our work is open source and you can follow our progress in each Github repository of the Flashbots organization. +You can interact with Flashbots on [Discord](https://discord.gg/7hvTycdNcK), [GitHub](https://github.com/flashbots/pm), and our [Discourse forum](https://collective.flashbots.net/). We have dedicated channels on Discord for each of our efforts and welcome your contributions. Our work is open source and you can follow our progress in each Github repository of the Flashbots organization. -[Mission](https://writings.flashbots.net/frontrunning-mev-crisis) | [Discord](https://discord.gg/7hvTycdNcK) | [Discourse Forum](https://collective.flashbots.net/) | [Blog](https://writings.flashbots.net) | [Github](https://github.com/flashbots/pm) | [Transparency Reports](https://writings.flashbots.net/tags/transparency-report) | [Status](https://status.flashbots.net) +[Mission](https://writings.flashbots.net/frontrunning-mev-crisis) | [Discord](https://discord.gg/7hvTycdNcK) | [Discourse Forum](https://collective.flashbots.net/) | [Blog](https://writings.flashbots.net) | [GitHub](https://github.com/flashbots/pm) | [Transparency Reports](https://writings.flashbots.net/tags/transparency-report) | [Status](https://status.flashbots.net)