Cross-Chain Messaging

By LayerZeroJun 29, 20269 min read

Cross-chain messaging is a protocol layer that lets applications send data and instructions between blockchains. A message is created on a source chain, verified, and executed on a destination chain, where it can trigger destination contract logic. It is the primitive beneath cross-chain token transfers, omnichain governance, and applications that run across more than one network.

This page explains what cross-chain messaging is, how it works, how it differs from bridging, and how LayerZero implements it. To send a cross-chain message, visit Developers.

What is cross-chain messaging?

Cross-chain messaging is the process of sending application data from one blockchain to another. A message can carry a token transfer instruction, a contract call, a governance action, a game update, or any other payload the receiving application understands.

It does not make two chains share state. The source chain records an event, the message is verified, and the destination chain runs its own local logic based on that verified message. Applications need this because users, liquidity, and contracts are spread across many chains; without messaging, each chain behaves like a separate market with its own contracts and user experience.

This is also why cross-chain messaging is broader than bridging. A bridge usually moves assets. A messaging layer moves arbitrary instructions, and asset movement becomes one application of it. The shift for developers is that cross-chain behavior becomes programmable: the application defines what a message means and how the destination contract should respond.

How cross-chain messaging works

A cross-chain message usually follows five steps.

  1. A user or contract sends a transaction on the source chain.
  2. The source application creates a message payload.
  3. The messaging protocol verifies the source-chain event.
  4. The destination pathway accepts the verified message.
  5. The destination application executes the instruction.

Verification and execution are separate. Verification proves the message is valid. Execution applies it on the destination chain. In LayerZero, the message starts in an Omnichain Application, enters the Endpoint, is processed by message libraries, verified through the application's configured security stack, and delivered to the destination application.

Cross-chain messaging vs bridges

A bridge is an application that moves assets between blockchains. Cross-chain messaging is the broader underlying communication layer that can support bridges and many other use cases.

AspectCross-Chain MessagingBridge
What it movesAny payload, including asset transfersAssets only
What it isA general communication layerA single-purpose application
IntegrationOne integration reaches many chainsOften wired per chain pair
Asset movementOne of many supported actionsThe entire purpose
LiquidityEnables unified supply across chains (e.g. OFT)Often uses wrapped assets or pools, which fragments liquidity

Asset movement is just one cross-chain workflow. The same messaging layer also carries governance actions, NFTs, lending instructions, game state, identity, and settlement.

Security and trust models

Cross-chain messaging is only as secure as its verification step, and that is where almost all of the risk in the category lives. Systems use one of four trust models to prove a message genuinely originated on the source chain.

  • Natively verified. The destination chain checks the source chain's consensus directly, usually with a light client. Most trust-minimized, but the hardest to scale to many chains.
  • Externally verified. An independent set of verifiers attests that a message is valid. Reaches almost any chain, but trust shifts to the verifier set.
  • Optimistically verified. A message is assumed valid unless challenged within a fraud-proof window. Lower cost, but adds latency from the challenge window.
  • Locally verified. Only the two counterparties to a transfer verify it. Trust-minimized, but does not generalize to arbitrary data.

Many general-purpose messaging systems use external verification because it can support more heterogeneous chains. The practical question is therefore who the verifiers are, whether they can be replaced, and whether the application can configure them. Most large losses in the category have come from compromised verifier keys or flawed message verification, not from the underlying chains.

LayerZero uses a configurable, modular security model in which the application configures its own security stack per pathway, rather than inheriting one fixed validator set for every route. That configurability lets each application match its verification to the value at risk: high-value pathways can combine multiple independent verifiers, higher block confirmations, and monitoring, while lower-value routes can favor speed and cost.

How LayerZero implements cross-chain messaging

LayerZero implements cross-chain messaging with five core components: Omnichain Applications, Endpoints, message libraries, Decentralized Verifier Networks, and Executors.

  • Omnichain Applications (OApps). OApps define the business logic. They decide what messages can be sent, which peers are trusted, and how received payloads are handled.
  • Endpoints. The Endpoint is an immutable onchain contract that is the single entry and exit point on each chain. It manages message state, nonces and verification status.
  • Message libraries. Message libraries handle protocol-level send and receive behavior for a pathway, including how a message is encoded and how its verification is checked.
  • Decentralized Verifier Networks (DVNs). DVNs verify messages against an application-defined security stack. An application configures which verifiers it trusts, and the threshold required, per pathway.
  • Executors. Executors deliver verified messages to the destination application and supply destination gas. Applications can use LayerZero-provided, third-party, or manual execution.

A defining property is that verification and execution are separate roles, so the party that confirms a message is not necessarily the party that delivers it. The same design supports composability: with composed messages, one message can trigger a sequence of destination calls that each succeed or fail independently, and Omnichain Queries (lzRead) let a contract request data from another chain and receive a verified response without pushing a state-changing message to the target chain. LayerZero exposes a common messaging model across 170+ chains spanning EVM, Solana, Sui, Move, and TON environments, while implementation details remain VM-specific. As of June 2026, the protocol has carried over 161 million messages and more than $270 billion in transferred value.

Use cases

  • Token transfers. A token can move across chains while preserving supply accounting. The OFT Standard is built for this pattern.
  • Cross-chain governance. A DAO can vote on one chain and execute decisions on another.
  • DeFi actions. A user can move assets and trigger a destination action such as deposit, swap, borrow, or stake.
  • NFTs and games. Applications can move or update digital assets across chains while keeping their logic consistent, using the ONFT Standard for NFTs.
  • Cross-chain reads. Some applications need to query data from another chain rather than change state, which lzRead supports.

Frequently asked questions

What is cross-chain messaging?

Cross-chain messaging is the process of sending application data or instructions from one blockchain to another, so a contract on the destination chain can act on a verified message.

Why do we need cross-chain messaging?

Users, liquidity, and applications are spread across many chains. Cross-chain messaging lets them coordinate, so an action on one chain can trigger a result on another instead of each chain working in isolation.

Is cross-chain messaging the same as a bridge?

No. A bridge usually moves assets. Cross-chain messaging is a broader communication layer that can move arbitrary instructions, including the instructions a bridge uses.

How does LayerZero verify messages?

LayerZero lets applications configure Decentralized Verifier Networks for each pathway. Those verifiers must attest to a message before it can be accepted and executed on the destination chain.

How fast are cross-chain messages?

Speed depends on source-chain finality, verification, execution, and destination congestion. A message can settle in seconds from a fast-finality chain or take several minutes when waiting for full finality. There is no single number for every chain pair.

What are cross-chain messaging fees?

Fees can include source-chain gas, verification fees, executor fees, and prepaid destination gas. Costs vary by route, gas markets, security stack, executor settings, message options, and destination execution complexity.

What happens if a cross-chain message gets stuck?

A message can stall during finality, verification, delivery, or destination execution. Because verification and execution are separate, a verified message can usually be retried without resending it from the source, and a stuck payload can be skipped, cleared, temporarily invalidated, or permanently discarded. A confirmed message is not reversed on the source chain, so applications should plan for retries and failed-delivery handling.

Which blockchains support cross-chain messaging?

Cross-chain messaging works across every major virtual machine, not only EVM chains. LayerZero supports 170+ chains across EVM, Solana, Sui, Move, and TON environments. See the deployments page for the live list.

How do I choose a cross-chain messaging protocol?

Match the protocol to your requirements: the chains it covers, who verifies messages and whether you can configure them, latency and cost on your exact route, what you are moving, and how a failed message is recovered. The right fit depends on those factors rather than a single ranking.

Can I send NFTs using cross-chain messaging?

Yes. The ONFT Standard moves an NFT across chains while preserving ownership and uniqueness, using burn-and-mint or an adapter that locks the original and mints on the destination.

Can a cross-chain message call multiple functions or be batched?

Yes. With composed messages, a single message can trigger a sequence of destination calls, each its own packet, so steps can succeed or fail independently. A separate batch-send pattern lets one source transaction fan a message out to many destination chains at once.

What is an omnichain application?

An omnichain application, or OApp, is a single application deployed across multiple chains that behaves as one system by passing messages between its deployments. An omnichain token is the most common example.

Build with LayerZero

Cross-chain messaging is useful when an application needs to coordinate state, value, or instructions across more than one blockchain. Start with the message, define the destination behavior, choose the right verification model, and design failure handling before launch.

To build an OApp, issue an OFT, integrate existing crosschain assets, or test custom messaging flows, visit Developers or reach out to our team.

Connect to our team

Start building