Skip to main content
Official Linea zkEVM bridge via L1MessageService. Deposits ETH from Ethereum to Linea with ZK proof-based finality.

Notes

  • L1 to L2 via L1MessageService. L2 to L1 via L2MessageService on Linea
  • sendMessage is a general-purpose L1-to-L2 message sender — ETH transfer is implicit via msg.value
  • The _fee parameter incentivizes postmen (relayers) to deliver the message. Set to 0 and self-claim via claimMessage
  • _calldata enables arbitrary contract execution on L2 when the message is delivered
  • zkEVM architecture — finality with ZK proofs (typically 8-32 hours for proof generation)
  • L2 to L1 withdrawals also require ZK proof finalization
  • For ERC-20 bridging, use the Linea Token Bridge contracts (separate from the message service)
  • Canonical bridge, secured by Linea’s ZK proving system (Consensys)

Its names in a program

On Ethereum, LineaBridge is a namespace: its contracts need no import.

Deployments

ABI

LineaL1MessageServiceABI

import LineaL1MessageServiceABI from "./protocols/linea-bridge/LineaL1MessageServiceABI.json"; Speaks for: l1MessageService.
  • sendMessage(address _to, uint256 _fee, bytes _calldata) payable
  • claimMessage(address _from, address _to, uint256 _fee, uint256 _value, address _feeRecipient, bytes _calldata, uint256 _nonce)

Next steps