The LayerZero Endpoint is an immutable smart contract that implements a standardized interface for Omnichain Applications (OApps) to manage security configurations and seamlessly send and receive messages.
Developers can see the latest chains LayerZero supports in Endpoint Addresses.
The Endpoint exposes an interface for the OApp contract to use to send messages. When a caller invokes
_lzSend within an OApp's child contract:
Message Emission: Once the Packet has been constructed using the owner's configuration, the message is emitted via the
The configured DVNs within the Security Stack listen for the packet and verify the
PayloadHash in the destination MessageLib selected by the OApp:
Once the message has fulfilled the OApp's configured Security Stack, any caller (e.g., Executor) can commit the verified packet nonce to the destination Endpoint and execute the corresponding message via
lzReceive for the receiving application.
The default configuration includes a default Executor to automatically handle this permissionless call for convenience.
Developers can easily identify a chain's Endpoint via a unique Endpoint ID used for message routing.