Skip to main content

Message format

Every message is a packed byte string. The Mailbox builds it in dispatch; recipients only see the parsed fields in handle.

OffsetBytesFieldNotes
01version3
14noncePer-origin-Mailbox counter, starting at 0
54originOrigin domain id
932senderSending contract, left-padded to 32 bytes
414destinationDestination domain id
4532recipientRecipient, left-padded to 32 bytes
77anybodyYour bytes

The message id is keccak256(message).

The format is identical to Hyperlane's version 3, and messages can be decoded with the CLI:

rlink message decode --bytes 0x03…