migrate.family
LAYERZERO V2

Take your token to Robinhood.

One supply, every chain. Deploy your bridge, then holders migrate 1:1 with zero action.

SET UP A BRIDGE
BRIDGE TOKENS
Bridge IDA short unique name for your bridge. Lowercase letters, numbers, dashes. Used as its permanent identifier.
Token nameThe name your token will use on Robinhood Chain. Usually matches your existing token.
SymbolTicker symbol. 2-12 letters, no spaces.
Step 1 of 2. This deploys the Robinhood Chain side of your bridge. After it lands, you'll need to deploy the source-chain adapter (Ethereum, Base or BNB) and wire the two sides together. Read the docs for the full flow.
RH Chain · LayerZero v2 ~$2 gas
Ethereum
Base
BNB Chain
Token contractPaste the source-chain address of the token you want to bridge. A bridge must already exist for this token.
Amount
TOKEN
ETHEREUM → ROBINHOOD 1:1 · LZ v2
Confirming on-chain…
Waiting for wallet confirmation.
✓
Done
0 BRIDGES 0 MIGRATIONS RH CHAIN 4663

How migrate.family works

migrate.family is a two-sided protocol. Project owners deploy a bridge once. Then anyone holding that project's token can bridge it to Robinhood Chain and back, with no swap, no wrapping, no snapshot list.

01The two-sided flow (why you can't just bridge)

Bridging is possible only after a project owner sets up their bridge. This is a one-time step per token. Think of it like a Uniswap pool: someone has to create the pool before anyone can trade.

Two sides need to exist:

  • Robinhood Chain side — a canonical MigrateOFT ERC-20 that gets minted on-demand as holders bridge in. You deploy this via the "Set up a bridge" tab.
  • Source chain side — a MigrateOFTAdapter that wraps your existing token on Ethereum, Base or BNB. This is deployed via a script (details below).

The two are wired together as LayerZero V2 peers. Once wired, holders can bridge freely, both directions, no lockup.

02For project owners: set up your bridge

Step A — deploy the Robinhood-side OFT (this website).

  1. Connect a wallet with a small amount of ETH on Robinhood Chain (chain id 4663). ~$2 in gas is enough.
  2. Open the SET UP A BRIDGE tab.
  3. Pick a Bridge ID (a short unique name — lowercase letters/numbers/dashes).
  4. Enter the token name and symbol as you want them displayed on Robinhood Chain. Typically these match your existing token.
  5. Click Deploy bridge on Robinhood. Approve the transaction in your wallet.
  6. When it lands, save the MigrateOFT contract address that the page shows. You'll need it in step B.

Step B — deploy the source-chain OFTAdapter.

The adapter wraps your existing token on Ethereum, Base or BNB. This is a per-source-chain deploy done via CLI (Foundry). Repo:

git clone https://github.com/MigrateFamily/migrate-family
cd migrate-family && forge install

# Ethereum (source chain)
export OLD_TOKEN=<your token address on Ethereum>
export RH_OFT=<the MigrateOFT address from step A>
export DEPLOYER_PK=<your deployer private key>

forge script script/DeployBridgeAdapter.s.sol \
  --rpc-url $ETH_RPC --broadcast --private-key $DEPLOYER_PK

Repeat for each source chain you want to support (Base, BNB, etc.).

Step C — wire the peers.

Both sides need to know about each other. Run one call per direction:

# On Robinhood Chain (RH-side OFT recognizes the source-chain adapter)
cast send $RH_OFT 'setPeer(uint32,bytes32)' \
  30101 <bytes32 of source adapter address> \
  --rpc-url $RH_RPC --private-key $DEPLOYER_PK

# On each source chain (adapter recognizes the RH-side OFT)
cast send $ADAPTER 'setPeer(uint32,bytes32)' \
  30416 <bytes32 of RH OFT address> \
  --rpc-url $ETH_RPC --private-key $DEPLOYER_PK

EIDs: 30101 Ethereum · 30184 Base · 30102 BNB Chain · 30416 Robinhood Chain.

Once peers are wired, your bridge is live. Holders can start bridging.

03For holders: bridge your tokens

If a project owner has already set up a bridge for your token, you can bridge in either direction with a single signature. There's no swap, no wrapper, no snapshot.

  1. Connect your wallet on the source chain (Ethereum, Base, or BNB).
  2. Open the BRIDGE TOKENS tab.
  3. Pick the source chain, paste the source-chain token address, enter the amount.
  4. Click Bridge to Robinhood. Approve the token, then sign the bridge tx. Pay a small LayerZero fee in native ETH.
  5. ~30–60 seconds later, the same amount arrives at your address on Robinhood Chain.

Reverse it any time — the same flow works Robinhood → source. Your tokens on the source chain aren't burned, they're locked in the adapter and released 1:1 when you bridge back.

If your token isn't showing up when you paste its address, the project owner probably hasn't set up their bridge yet. Ping them.

04Mechanics: what happens under the hood

migrate.family is a thin wrapper around LayerZero V2 OFT (Omnichain Fungible Token). We don't invent a new bridge — we make it one click to deploy and expose it through a simple UI.

On the source chain, the MigrateOFTAdapter holds your existing token in escrow when someone bridges out, and returns it when they bridge back. Your original contract isn't touched.

On Robinhood Chain, the MigrateOFT mints and burns as messages arrive. Total supply across all chains stays constant.

Two LayerZero DVNs (Decentralized Verifier Networks) sign every packet independently before it can be delivered. One malicious DVN can't move tokens. This is the same trust model used by Uniswap X, Radiant, and others.

No admin key can drain the adapter. Deployment is immutable after setup.

05Fees

Bridging costs the LayerZero messaging fee in native ETH — typically 0.001–0.005 ETH depending on the source chain. No protocol fee on bridges.

Setting up a bridge costs deploy gas on Robinhood Chain plus each source chain you support. Total is usually under $10 across all sides.

migrate.family takes zero fees during the current early-launch phase. If we ever add a protocol fee, it will only apply to future new bridges — existing ones stay fee-free by contract.

06Contract addresses

All contracts live on Robinhood Chain (chain id 4663). Source-chain adapters are deployed per project.

NetworkRobinhood Chain · 4663
RPChttps://rpc.mainnet.chain.robinhood.com
BridgeRegistry0x3c945762719886Ef18f6349F5b1A3A01340f961e
FamilyRegistry0x04439FD4C2180020d842836A5676162a0b3D2Bfb
FeeVault0xac130Bf510eC62B6D8E55b30D40F77E2Fc5B53e8
LayerZero endpoint0x6F475642a6e85809B1c36Fa62763669b1b48DD5B
07Common questions

Do my holders need to do anything? No. Existing holders on the source chain keep their exact balance forever. Only people who choose to bridge move any tokens.

Is my original token still tradeable? Yes. It stays canonical on its home chain. Bridging just adds a second location where it can also live.

Can I bridge back? Yes, any time. Same bridge, opposite direction.

What if I lose access to the wallet that deployed the bridge? The bridge keeps working — it's non-upgradeable. Only the ability to add new source chains stops (and even that can be recovered if you set a second delegate at deploy).

Does bridging guarantee a Robinhood Chain listing? No. migrate.family provides the on-chain rails. Listings are a separate conversation with whoever runs the exchange side.

Where's the code? Fully open source. All contracts + deploy scripts on GitHub.