# Customize Endpoint Advanced Features

To determine whether a specific network supports any features, refer to the "Advanced Feature" column in the API Key List. For more detailed supported advanced features, please go to [this page](/build/supported-networks-and-advanced-features.md).

<figure><img src="/files/MqkqH3rgSne9izgfBGbd" alt=""><figcaption></figcaption></figure>

## Endpoint Whitelist

Each endpoint can have an independent whitelist, allowing you to set up to 10 IP addresses and domains. Once the whitelist feature is enabled, any requests sent to this endpoint will be checked; if they are not on the whitelist, an error will be returned.

<figure><img src="/files/qEgW0Yl6Dg8XPKUMFRb7" alt=""><figcaption></figcaption></figure>

## Archive Mode

If you require access to data from earlier blocks, you can utilize the **Archive Mode**. This feature enables users to retrieve and access the complete historical data of the blockchain.

Enabling Archive mode will route all requests sent to this API key to the archive nodes of the blockchain network. It's important to note that there is a **30% increase in RU consumption**, since running an archive node requires significant storage capacity.&#x20;

In order to optimize efficiency, we recommend activating Archive mode only when necessary, or generate an individual API key to send the archive requests. Check [Best Practices](/basic-tutorials/best-practices.md) to more efficiently use the feature. Additionally, processing times may be longer due to the substantial amount of data involved. Check [here ](/build/supported-networks-and-advanced-features.md)for the full list of chains that the Archive mode is supported.

By default, the Archive mode is set to off. To enable it, simply click on the Archive mode symbol corresponding to the endpoint in the API Key list.

<figure><img src="/files/OU5CBq6Staa4vo83KNDF" alt=""><figcaption></figcaption></figure>

## ERC-4337 Bundler Service

BlockPI now provides Bundler Service for Account Abstraction users on **OP Mainnet**, **Base Mainnet,** **Polygon Mainnet and Taiko Hekla**. The BlockPI team integrated different open-source Bundler clients in the BlockPI network, providing users with the flexibility to choose their preferred client. The currently supported clients are from Etherspot, Candide, Stackup and Pimlico.

To customize it, go to the BlockPI [dashboard](https://dashboard.blockpi.io), click the endpoint which has the 'ERC-4337' mark. You will be directed to the subpage of the endpoint. (If you do not have any endpoint, please refer to the [Generate API Key](/basic-tutorials/api-key/generate-an-api-key.md) page to generate a private endpoint).&#x20;

<figure><img src="/files/dCY39mO5YTjj3oDlNrjH" alt=""><figcaption></figcaption></figure>

On the subpage of the endpoint, there is the 'AA Service' section, which presents you with five different options to choose.&#x20;

'Auto' is the best practice maintained by the BlockPI team. By selecting 'Auto,' BlockPI will automatically assign the most optimal bundler based on each connectivity condition.

<figure><img src="/files/HXAXSDYaXzPoteOBXekC" alt=""><figcaption></figcaption></figure>

The remaining four are Bundler clients by Stackup, Candide, Pimlico, and Etherspot. When you choose one of these clients, your requests will be processed exclusively by the selected Bundler client.&#x20;

Please check [this page](/build/api-reference/polygon.md) for Polygon Bundler RPC references.&#x20;

## MEV Protection & Global Cast

To provide users with a better experience in using BlockPI RPC, we have implemented MEV protection function on **BSC Mainnet, Ethereum Mainnet, Base Mainnet, and Polygon Mainnet**. Enabling MEV protection safeguards your transactions against **front-running** and **sandwich attacks**. And this feature does not increase RU consumption. We highly recommend enabling it. We employ the MEV-Boost protocol, which is currently the industry's most mature and stable MEV protection protocols. Additionally, we have implemented our own load balancing mechanism. If there is any congestion on the MEV network, we will immediately route user transaction requests to the public mempool. \
\
In contrast, Global Cast can send users' transactions to BlockPI's global network instead of just sending them to a specific node in the node pool, allowing their transactions to quickly fill the public mempool across the entire blockchain network. With this feature enabled, there are two improvements:

1. **Elimination of Performance Fluctuations**: It removes the performance and network fluctuations of individual RPC nodes, ensuring that users experience the fastest transaction sending from the node pool.
2. **Increased Transaction Success Rate**: It guarantees the success rate of user transactions, ensuring that transactions are effectively and quickly added to the mempool and reach the blockbuilder, especially during times of network congestion like airdrop claim events.

{% hint style="info" %}
This feature is mutually exclusive with the MEV functionality because MEV uses private mempool.
{% endhint %}

To use these functions, go to the Endpoint List of the user's dashboard, click the broadcast icon.

<figure><img src="/files/Zo4d7g7Con2jU42kd1nh" alt=""><figcaption></figcaption></figure>

You are able to switch it to Normal, MEV Protection or Global Cast. Only one of the three can be selected.<br>

<figure><img src="/files/WjY1p2QRDFd1gIUhd4wt" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.blockpi.io/basic-tutorials/api-key/customize-endpoint-advanced-features.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
