Skip to content

Reorganize rate limit docs #599

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Jan 14, 2025
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions docs/flashbots-mev-share/searchers/ratelimiting.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
title: Rate Limits
---

In order to protect our services from abuse we have rate limits on the number of requests that can be made. Currently, the rate limits are set as follows.

## `relay.flashbots.net` - Bundles

| Method | Limit |
|---------------------|--------------------|
| `eth_sendBundle` | 1800 / IP / 1 min |
| `mev_sendBundle` | 1800 / IP / 1 min |
| `eth_cancelBundle` | 600 / IP / 1 min |
| `mev_simBundle` | 300 / IP / 1 min |
| `eth_callBundle` | 300 / IP / 1 min |
| All others | 120 / IP / 1 min |

Note that this is _requests_ and not _transactions_ submitted per second. There is no limitation on the number of transactions in a request.

## Rate limiting exceptions

If you require a higher rate limit please reach out to [Shea Ketsdever](https://twitter.com/SheaKetsdever).
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Rate limiting
title: Rate Limits
---

In order to protect our services from abuse we have rate limits on the number of requests that can be made. Currently, the rate limits are set as follows.
Expand All @@ -17,17 +17,6 @@ In order to protect our services from abuse we have rate limits on the number of

Note that this is _requests_ and not _transactions_ submitted per second. There is no limitation on the number of transactions in a request. Note that you are not required to read JSON RPC requests to send transactions to Flashbots Protect RPC.

## `relay.flashbots.net` - Bundles

| Method | Limit |
|---------------------|--------------------|
| `eth_sendBundle` | 1800 / IP / 1 min |
| `mev_sendBundle` | 1800 / IP / 1 min |
| `eth_cancelBundle` | 600 / IP / 1 min |
| `mev_simBundle` | 300 / IP / 1 min |
| `eth_callBundle` | 300 / IP / 1 min |
| All others | 120 / IP / 1 min |

## Rate limiting exceptions

If you are a wallet or application integrating with protect and you require a higher rate limit please reach out to [Shea Ketsdever](https://twitter.com/SheaKetsdever).
Expand Down
9 changes: 7 additions & 2 deletions docs/guide-send-tx-bundle.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,11 @@ Flashbots offers two primary JSON-RPC endpoints on Ethereum Mainnet: `rpc.flashb
- **Purpose**: Designed specifically for retail users as a drop-in RPC replacement in their wallet.
- **Features**: Provides MEV protection and MEV refunds for eligible transactions. Support all the regular [Ethereum JSON RPC methods](https://docs.infura.io/networks/ethereum/json-rpc-methods/) but not [Flashbots specific JSON RPC
methods](flashbots-auction/advanced/rpc-endpoint).
- **Performance**: [Rate limited](/flashbots-protect/additional-documentation/ratelimiting) to satisfy the need of regular users.
- **Note**: Transactions are submitted through `eth_sendRawTransaction` to fit wallet RPC interface. Underneath, the endpoint uses `relay.flashbots.net` to submit transactions.

### `relay.flashbots.net` - For Advanced Users
- **Purpose**: Designed for advanced users, including searchers, applications, and Telegram bots. It accepts both transactions and bundles.
- **Features**: Support all [Flashbots specific JSON RPC methods](flashbots-auction/advanced/rpc-endpoint). Does not support regular [Ethereum JSON RPC methods](https://docs.infura.io/networks/ethereum/json-rpc-methods/).
- **Performance**: Offers a high [rate limit](flashbots-auction/advanced/rpc-endpoint) of 10,000 requests per second per IP address.
- **Recommendation**: Ideal for activities beyond simple transaction submissions via wallets.

## Choosing the Right JSON-RPC Method
Expand All @@ -30,3 +28,10 @@ With `relay.flashbots.net` identified as the go-to for advanced operations, the
- **Use**: `mev_sendBundle` for more flexibility and power, like leveraging the [new bundle format](flashbots-mev-share/searchers/understanding-bundles) and [MEV-Share](flashbots-mev-share/introduction).
- **Use**: `eth_sendBundle` if you want something simple and quick! The OG way of sending bundles.
- Both bundle APIs support [multiplexing to multiple builders](flashbots-auction/advanced/multiplexing).

## Rate Limits

In order to protect our services from abuse we have rate limits on the number of requests that can be made.

- [RPC rate limits for retail user transactions sent to](flashbots-protect/ratelimiting) `rpc.flashbots.net`
- [Relay rate limits for advanced user bundles sent to](flashbots-mev-share/searchers/ratelimiting) `relay.flashbots.net`
3 changes: 2 additions & 1 deletion docs/sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -60,10 +60,10 @@ module.exports = {
'flashbots-protect/nonce-management',
'flashbots-protect/stuck_transactions',
'flashbots-protect/large-transactions',
'flashbots-protect/ratelimiting',
{
'Additional Documentation': [
'flashbots-protect/additional-documentation/eth-sendPrivateTransaction',
'flashbots-protect/additional-documentation/ratelimiting',
],
}
],
Expand Down Expand Up @@ -131,6 +131,7 @@ module.exports = {
'flashbots-mev-share/searchers/understanding-bundles',
'flashbots-mev-share/searchers/sending-bundles',
'flashbots-mev-share/searchers/debugging',
'flashbots-mev-share/searchers/ratelimiting',
{
'Tutorials': [
{
Expand Down
Loading