<!-- Canonical: https://docs.linea.build/protocol/architecture/interoperability -->

> For the complete Linea documentation index, see [llms.txt](/llms.txt).
> Agents can fetch this page as Markdown at [https://docs.linea.build/protocol/architecture/interoperability.md](https://docs.linea.build/protocol/architecture/interoperability.md).

# Interoperability

Interoperability in Linea is enabled by:

-   [Canonical token bridge](/protocol/architecture/interoperability/canonical-token-bridge): a protocol contract and process that allows token transfers with finalization guarantees.
-   [Message service](/protocol/architecture/interoperability/canonical-message-service): a generalized cross-chain messaging primitive for application data.

The [Linea public network](/network/overview) leverages the [`LineaRollup`](/network/build/contracts) to support these functions. This smart contract provides the rollup and L1 message services, providing a trustless mechanism for passing messages across the two domains—-such as token transfers, contract calls, or state synchronization—-ensuring they are executed only when the underlying zk-SNARK proof attests to the correctness of the state transitions that produced those messages.

By anchoring messages to verified state roots, the contract facilitates cross-chain communication, ensuring Ethereum-level security, full transparency, and interoperability while preserving the scalability benefits of Linea.The following sections cover in detail the protocol-level mechanisms that enable secure cross-chain communication, value transfer, and message verification between Linea and other chains.
