On this page
Originals & Omniassets
An ERC-20 starts on one original EVM chain. Omnisea locks that canonical token in a dedicated Vault and mints an equal Omniasset supply on another connected chain.
The asset cycle
sendOriginalmoves a canonical token intoOmniseaVaultand sends its identity through the Router.- The destination Registry deploys the deterministic OFT when needed, then the core mints the received amount.
sendOFTburns an Omniasset. Another destination can mint it, or its original chain can unlock the canonical backing.
Representation-to-representation transfers do not need to pass through the original chain. The origin identity remains unchanged throughout the route.
The core enforces the direction: sendOriginal rejects an Omniasset, while sendOFT rejects a token that the local Registry does not recognize.
One identity on every destination
The canonical source Registry freezes one rendered identity on the first transfer:
symbol = om{original symbol}
name = {original name} ({original chain name})Ethereum wBTC is therefore omwBTC / Wrapped Bitcoin (Ethereum) on Base, Robinhood Chain, Polygon, and every later destination. A Base-to-Robinhood transfer does not add another om or replace Ethereum with Base.
The chain name comes from the immutable deployment configuration. Decimals and contract URI are carried with the same origin record. A new destination copies the propagated owner()-compatible issuer owner at initialization. After that, only a direct message from the original chain can replace it; retries and multi-hop messages cannot overwrite the existing owner.
Modular contracts
Omniseais the public send/receive and accounting entrypoint.OmniseaRouteris the only LayerZero OApp.OmniseaVaultholds original backing.OmniseaRegistryowns deterministic identity and OFT clone deployment.OmniseaFeesManagerkeeps bridge fees separate from backing.OFTis the ERC-20 Permit representation.
Every companion accepts calls only from its exact precomputed Omnisea. The system is non-upgradeable and has no route-pause function.
Discovery
The public discovery ABI remains typed by the EVM origin:
function representationFor(
uint32 originalChainId,
uint8 originalTokenAddressType,
bytes32 originalToken
) external view returns (address);
function oftToOriginal(address representation)
external view
returns (uint32, uint8, bytes32, bool);EVM address type is 1, and the token address is left-padded to bytes32.
First transfers
Representations deploy lazily, so a first transfer needs more lzReceive gas than a normal mint or unlock. The sender passes isFirstTransfer consistently to quote and send. Router validation applies minCreationGas for first transfers and minTransferGas otherwise.
Use representationFor or predictRepresentation to determine whether the destination token already exists. Read Executor options for receive and compose gas encoding.
Trust boundary
LayerZero verifies a message from the configured remote Router pathway. The destination then treats that peer's payload as authoritative for minting or unlocking. Router peers and their EID-to-chain-ID records are one-time settings. Read Security model for the exact owner powers and Failed messages for permissionless retry and restore.