Skip to main content

Cross-Chain Token Launches

One of Omni.fun’s most distinctive features: a user on any supported chain can launch a token that deploys on Base. The entire flow happens via a single LayerZero message.

How It Works

EVM → Base (RemoteLauncher)

RemoteLauncher contracts are deployed on BSC and Ethereum. A user calls launch(name, symbol) with LZ fees attached. The contract sends a LayerZero message to CrossChainLauncher on Base, which calls factory.launchFor() — deploying the token and bonding curve with the remote user as the creator.
BSC/Ethereum                           Base
┌──────────────────┐   LayerZero V2   ┌──────────────────────┐
│ RemoteLauncher   │ ── lzSend ─────→ │ CrossChainLauncher   │
│ launch(name,sym) │                   │ _lzReceive()         │
│ + LZ native fee  │                   │   → factory          │
└──────────────────┘                   │     .launchFor()     │
                                       │   → Token + Curve    │
                                       └──────────────────────┘
LZ Options: 6M gas allocation for factory deployment on Base.

Solana → Base (Token Launcher)

The Solana Token Launcher is an Anchor program that ABI-encodes the launch parameters and sends them via LayerZero’s Solana endpoint. This is a cross-VM launch — Solana to EVM via LayerZero.
Solana                                  Base
┌──────────────────┐   LayerZero V2   ┌──────────────────────┐
│ Token Launcher   │ ── lzSend ─────→ │ CrossChainLauncher   │
│ create_token()   │   (cross-VM)     │ _lzReceive()         │
│ ABI-encoded      │                   │   → decode payload   │
│ payload          │                   │   → factory          │
└──────────────────┘                   │     .launchFor()     │
                                       └──────────────────────┘
The Anchor program encodes (deployer, name, symbol) in Solidity ABI format, matching what the CrossChainLauncher expects. LayerZero handles the cross-VM message delivery between Solana and Base.

Live Evidence

All three cross-chain launches were executed on mainnet and verified:

LZDEMOBNB — Launched from BSC

PropertyValue
Origin ChainBSC (EID 30102)
LauncherRemoteLauncher 0x883d5199E85b68E70D017335AcE642fC069b2eB3
Token (Base)0x1f62c65103a0ad0112b91a923da303ca0b2f4a4d
Curve (Base)0x36d5dae1a7180d974e209947350549ce7d54d911
Status✅ Deployed, indexed, tradeable
Post-launch buy0x82f0fef0ff79b1a3264745c96c7afa93c1c796f006b16d289bcb467d50cc9696

LZDEMOETH — Launched from Ethereum

PropertyValue
Origin ChainEthereum (EID 30101)
LauncherRemoteLauncher 0x0A43Cb04B8b6498aEd8BCD5FEC817c890ed7E376
Token (Base)0xde6f6f27adc60e7948d1831933d86ecc40d072be
Curve (Base)0x5dc71c2fea96be2780376fb21d79e818210f83b9
Status✅ Deployed, indexed, tradeable
Post-launch buy0xfbdb57a4a57786248ad77f413e8b86946c628e8ace6b9a4f695a34481f9a6b02

LZDEMOSOL — Launched from Solana

PropertyValue
Origin ChainSolana (EID 30168)
LauncherToken Launcher 8AkSHTD2PBhZhAED1zG3vgZ3y3SyPdbL7xBJ8SfXg9bx
Token (Base)0x7cbd2ed22802583fe128928e7807bc1d2fd43d09
Curve (Base)0x122abee05c8d1bbb39d0c3795fa2835ca77879fc
Origin TXexvfdo58HCNS...
Status✅ Deployed, indexed, tradeable
Cross-VM milestone: LZDEMOSOL was launched from a Solana Anchor program, delivered via LayerZero to an EVM contract on Base, which deployed a standard ERC-20 token and bonding curve. This is a production cross-VM token launch — Solana → LayerZero → EVM.

Auto OFT Deployment

After a token is launched (from any chain), the OFTFactory can deploy the full OFT infrastructure in a single Base transaction:
  1. CREATE2 deploy OmniOFTAdapter on Base
  2. Predict all 6 remote OFT addresses deterministically
  3. Set bidirectional peers on the adapter (using predicted addresses)
  4. Set enforced options (65K gas, msgType 1) for all 6 routes
  5. Send 6 LayerZero messages to OFTFactoryRemote contracts
  6. Register adapter in CCBuyerV3 for cross-chain buy auto-bridge-back
  7. Refund excess ETH to caller
On each remote chain (~30–60s after the Base transaction):
  1. OFTFactoryRemote receives the LZ message via _lzReceive()
  2. CREATE2 deploys OmniOFT with matching salt
  3. Sets peer back to the Base OFTAdapter
  4. Sets enforced options for home chain sends
  5. Transfers ownership to configured owner
Total cost: ~$1.60 in LZ fees for 6-chain OFT deployment. Total time: 1 Base transaction + ~60 seconds for all 6 remote deployments.

Five Launch Paths, One Factory

Every launch path ultimately calls the same factory on Base:
PathOriginMechanismFactory Call
Direct (Base)BaseUser → factory.launch()launch()
BSCBSCRemoteLauncher → LZ → CrossChainLauncherlaunchFor()
EthereumEthereumRemoteLauncher → LZ → CrossChainLauncherlaunchFor()
SolanaSolanaToken Launcher → LZ → CrossChainLauncherlaunchFor()
AI AgentAnyAPI → signed tx → factorylaunchFor()
All tokens, regardless of origin, are identical ERC-20s on Base with the same bonding curve mechanics, fee structure, and graduation path.