> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tenderly.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Bridges

> Relay LayerZero, Chainlink CCIP, Across, and CCTP messages between networks in a Multichain Virtual Environment, with configurable relay modes.

The Bridge Module connects the networks in a [Multichain Virtual Environment](/virtual-environments/multichain/overview). With it enabled, a source-chain transaction that emits a bridge event triggers the corresponding delivery on the destination chain within the same Virtual Environment. Relay runs in the mode you configure (immediate or delayed) and uses no real funds.

<Note>
  The Bridge Module is available on plans that include multichain capabilities. [Contact us](https://tenderly.co/contact-us) to enable it on your account.
</Note>

## Enabling the Bridge Module

Open the **Settings** page for your Virtual Environment and expand the **Advanced** panel. Check **Bridge** ("Enable cross-network bridge"), then **Save Changes**. Once enabled, relay covers every supported protocol on the networks attached to the Virtual Environment.

Two settings control how messages are relayed:

* **Relay mode**: `Auto relay` delivers the destination transaction as soon as the source event is detected. `Delayed relay` holds delivery for a fixed interval so you can test in-flight timing and destination-chain latency.
* **Delayed relay seconds**: the delay applied in `Delayed relay` mode (for example `3600`).

<Frame caption="Bridge Settings → Advanced: the Bridge enable checkbox, Relay mode (Auto relay / Delayed relay) with a delay-in-seconds field, and the supported protocols Layer Zero, Chainlink, Across, and CCTP.">
  <img src="https://mintcdn.com/tenderly/hvaiyEOO1iQDC_-X/images/testnets/bridge-settings.webp?fit=max&auto=format&n=hvaiyEOO1iQDC_-X&q=85&s=74958d73b8ba4ff6925ed9aea678df6b" alt="Bridge settings Advanced panel showing the Bridge enable checkbox, a Relay mode dropdown set to Delayed relay, a Delayed relay seconds field set to 3600, and the supported protocols Layer Zero, Chainlink, Across, and CCTP with descriptions" width="1205" height="610" data-path="images/testnets/bridge-settings.webp" />
</Frame>

The module only relays where the protocol contracts are already deployed. If a protocol is not present on a network in your Virtual Environment, that route is not available. The [Bridge contracts panel](#bridge-dashboard) shows which protocol router contracts are deployed per network.

## Supported protocols

| Protocol           | Version support                     | What it relays                                                                                                                                   |
| ------------------ | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| **LayerZero**      | Standard messaging (see note below) | Omnichain messaging protocol with configurable security. A source `PacketSent` triggers the destination delivery (`lzReceive`).                  |
| **Chainlink CCIP** | v1.5 and v1.6                       | Chainlink's cross-chain interoperability protocol. A source `CCIPMessageSent` triggers the destination delivery (for example `manuallyExecute`). |
| **Across**         | V3                                  | Intent-based bridge with optimistic verification. A source `V3FundsDeposited` triggers the destination fill.                                     |
| **CCTP**           | v2.0                                | Circle's Cross-Chain Transfer Protocol for native USDC transfers across chains.                                                                  |

LayerZero relay covers standard omnichain messages. LayerZero Read requests are relayed on Ethereum Mainnet only, and composed messages (`lzCompose`) are not relayed.

## Supported networks

Bridge protocol availability is narrower than overall network support because the Bridge Module relies on the real protocol contracts being present on a given network. Initial coverage:

| Protocol       | Initially supported networks                |
| -------------- | ------------------------------------------- |
| LayerZero      | Ethereum, Arbitrum, Optimism, Base, Polygon |
| Chainlink CCIP | Ethereum, Arbitrum, Optimism, Base, Polygon |
| Across         | Ethereum, Arbitrum, Optimism, Base, Polygon |
| CCTP           | Ethereum, Arbitrum, Optimism, Base, Polygon |

Per-network protocol support follows the protocol's own deployments. For Chainlink CCIP, check the [CCIP Directory](https://docs.chain.link/ccip/directory/mainnet) to confirm which networks CCIP supports.

Coverage expands based on customer demand. If you need a specific network enabled for a bridge protocol, reach out to us at [support@tenderly.co](mailto:support@tenderly.co).

## Bridge dashboard

The **Overview** tab gives you operational visibility into all bridge activity in the Virtual Environment:

* **Top routes**: each source-to-destination network pair, its protocol, and the number of relayed operations.
* **Bridge contracts**: the protocol router contracts deployed on each network, with network, contract name, address, and protocol.
* **Bridge transactions**: a list of every relayed operation with its status, source network and transaction, destination network and transaction, protocol, and relative time. An auto-refresh interval control keeps the list current.

<Frame caption="Bridge Overview: the Top routes and Bridge contracts panels above the relayed-operations list, with Layer Zero, Across, Chainlink, and CCTP routes across Ethereum, Arbitrum, Optimism, Base, and Polygon.">
  <img src="https://mintcdn.com/tenderly/hvaiyEOO1iQDC_-X/images/testnets/bridge-overview.webp?fit=max&auto=format&n=hvaiyEOO1iQDC_-X&q=85&s=d50fd89d924feeda6a42d5a19e00d9c9" alt="Bridge Overview tab showing a Top routes panel (route, protocol, relayed count), a Bridge contracts panel (network, name, address, protocol), and a transaction list with status, source and destination networks and transactions, protocol, and relative time" width="1600" height="1000" data-path="images/testnets/bridge-overview.webp" />
</Frame>

To confirm a round-trip, find the source transaction (for example a LayerZero `PacketSent`) and follow its row across to the matching destination transaction (`lzReceive`).

### Bridge operation detail

Selecting a row opens the bridge operation, which shows the protocol, the overall status, and the chain of transactions that make up the cross-chain message: each step's network, status, function (for example `verify`, `lzReceive`), block, transaction hash, sender, recipient, and gas used. An **Input** viewer renders the decoded message payload (`srcEid`, `dstEid`, `guid`, `options`, `sendLibrary`) with a Decoded/Raw toggle.

<Frame caption="A single bridge operation: protocol and status, the constituent transactions with their functions and gas used, and the decoded message payload.">
  <img src="https://mintcdn.com/tenderly/hvaiyEOO1iQDC_-X/images/testnets/bridge-operation-detail.webp?fit=max&auto=format&n=hvaiyEOO1iQDC_-X&q=85&s=f6d59a9c7ef36f7eeef9c5520127c285" alt="Bridge operation detail page showing protocol layerzero with completed status, a table of constituent transactions with functions verify and lzReceive and their gas used, and a decoded input payload with srcEid, dstEid, guid, options, and sendLibrary fields" width="1600" height="645" data-path="images/testnets/bridge-operation-detail.webp" />
</Frame>

## When to use bridging

| Scenario                                                               | Use                                                                                          |
| ---------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| Cross-chain dApps, bridges, governance, and multi-chain protocol logic | [Multichain Virtual Environment](/virtual-environments/multichain/overview) with bridging on |
| Single-network development with no bridge concerns                     | A standard [Virtual Environment](/virtual-environments/quickstart) per network               |

## See also

* [Multichain Virtual Environments overview](/virtual-environments/multichain/overview)
* [Multichain quickstart](/virtual-environments/multichain/quickstart)
* [Unlimited Faucet](/virtual-environments/unlimited-faucet)
* [Admin RPC](/virtual-environments/admin-rpc)
