Notes
- L1 to L2 via L1MessageService. L2 to L1 via L2MessageService on Linea
sendMessageis a general-purpose L1-to-L2 message sender — ETH transfer is implicit via msg.value- The
_feeparameter incentivizes postmen (relayers) to deliver the message. Set to 0 and self-claim viaclaimMessage _calldataenables 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) payableclaimMessage(address _from, address _to, uint256 _fee, uint256 _value, address _feeRecipient, bytes _calldata, uint256 _nonce)
Next steps
- Protocols: the other protocols, by what they do.
- Protocols and tokens: calling a contract by its namespace, or through its ABI.
- Glossary: the words these pages use, in plain terms.
