# EVM

Learn how to build and use programs that call Switchboard data feeds on EVM chains like [Ethereum](https://ethereum.org), [Monad](https://monad.xyz), and [Hyperliquid](https://hyperliquid.xyz).

If you need to create a custom data feed, check out the [custom feeds section](/custom-feeds/build-and-deploy-feed.md).

If you are integrating a Feed Builder feed or any `bytes32` feed ID from the explorer on EVM, use the v2 feed-hash flow:

1. Fetch the definition with `/v2/fetch/{feedId}`
2. Simulate with `/v2/simulate/{feedHashes}` or `CrossbarClient.simulateFeed(...)`
3. Build the on-chain payload with `/v2/update/{feedHashes}?chain=evm&network=mainnet|testnet&use_timestamp=true`

The legacy `/simulate/evm` and `/updates/evm` routes are only for older aggregator-based integrations.

## Monad Example Network Switch

The packaged Monad examples in `sb-on-demand-examples/evm` now share one network selector:

* `NETWORK=monad-testnet`
* `NETWORK=monad-mainnet`

`RPC_URL` remains optional as an override, but the example scripts now verify that it matches the selected network before they broadcast transactions. The Monad guides under this section use that shared env contract.

## Deployments

The Switchboard contract has been deployed to the following EVM networks:

| Chain    | Network | Chain ID | Address                                      |
| -------- | ------- | -------- | -------------------------------------------- |
| Arbitrum | Mainnet | 42161    | `0xAd9b8604b6B97187CDe9E826cDeB7033C8C37198` |
| Arbitrum | Sepolia | 421614   | `0xA2a0425fA3C5669d384f4e6c8068dfCf64485b3b` |
| Core     | Mainnet | 1116     | `0x33A5066f65f66161bEb3f827A3e40fce7d7A2e6C` |
| Core     | Testnet | 1114     | `0x2f833D73bA1086F3E5CDE9e9a695783984636A76` |
| HyperEVM | Mainnet | 999      | `0xcDb299Cb902D1E39F83F54c7725f54eDDa7F3347` |
| Monad    | Mainnet | 143      | `0xB7F03eee7B9F56347e32cC71DaD65B303D5a0E67` |
| Monad    | Testnet | 10143    | `0x6724818814927e057a693f4e3A172b6cC1eA690C` |
| Morph    | Mainnet | -        | `0x33A5066f65f66161bEb3f827A3e40fce7d7A2e6C` |
| Morph    | Holesky | -        | `0x3c1604DF82FDc873D289a47c6bb07AFA21f299e5` |


---

# 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.switchboard.xyz/docs-by-chain/evm.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.
