# Blockchains

[#predefined-blockchain-configurations](#predefined-blockchain-configurations "mention")

[#modify-the-configuration](#modify-the-configuration "mention")

[#add-custom-evm-compatible-chain](#add-custom-evm-compatible-chain "mention")

[#node-rate-limit-guard](#node-rate-limit-guard "mention")

## Predefined blockchain configurations

`0xWeb` includes some blockchain configurations and default public RPC endpoints for:

| Chain slug        | Name                              |
| ----------------- | --------------------------------- |
| `aurora`          | Aurora                            |
| `arbitrum`        | Arbitrum One                      |
| `avalanche`       | Avalanche                         |
| `bsc`             | Binance Smart Chain               |
| `celo`            | Celo Platform                     |
| `cronos`          | Cronos                            |
| `eth`             | Ethereum                          |
| `eth:goerli`      | Ethereum Testnet                  |
| `fantom`          | Fantom                            |
| `gnosis` ; `xdai` | Gnosis Chain                      |
| `hardhat`         | Local Hardhat Development Network |
| `heco`            | HECO Chain                        |
| `polygon`         | Polygon Network                   |
| `metis`           | Metis                             |
| `optimism`        | Optimism                          |

## Modify the configuration

[🙏](https://emojipedia.org/folded-hands/) Change the RPC endpoints for those chains in configuration. &#x20;

Edit the configuration `yml` by running:

```bash
0xweb config -e
```

A default configuration will be copied into the new configuration file, which should be opened with your default editor for `yml` files, if the file is not opened automatically, open the file manually, the file path will be printed in the terminal.

## Add custom EVM-compatible chain

* **1** Add a new platform to the `web3` section, for example:

```yaml
web3:
  foo:
    chainId: 5555
    chainToken: FOO
    endpoints:
      - url: 'https://foo-rpc-example'
      - url: 'wss://foo-socket-url-example'
      - url: 'https://some-other-url'
```

* **2** Add the Blockchain Explorer configuration optionally to read the ABI and the sources.

`0xWeb` supports `Etherscan` and `Blockscout` forks, if there is one for your custom chain, add that information to the `blockchainExplorer` section

```yaml
blockchainExplorer:
  foo:
    key: YOUR_KEY
    host: 'https://api.bscscan.com'
    www: 'https://bscscan.com'
```

### AD

## Node Rate Limit Guard

The Endpoints accept the rate limit configuration so that the clients' pool hander can handle better select and manage the Web3 Clients and Requests.  For example: \`100/1s\`  - means 100 requests per 1 second. You can also set multiple guards. Example:

### AD

```yaml
web3:
  eth:
    endpoints:
      - url: 'https://myendpoint-url'
        rateLimit: 100/1s;5000/1m
      # - ... other urls
```

### AD

### ## AD

### AD


---

# 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.0xweb.org/blockchains.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.
