Cross-Chain Transaction Flow

Cross-chain Transfer:

  1. Cross-chain users deposit their assets into the Mitosis Vault on the source chain with a message containing information about the cross-chain transfer, including the desired destination chain, receiver address, token type, and amount

  2. The Mitosis Vault puts the message into the mailbox contract of AMB protocol

  3. Once validators sign the message, relayers pick up the message from the mailbox

  4. Relayers deliver the message to the mailbox contract on the Mitosis Chain

  5. The mailbox contract calls the Mitosis ISM to verify the message

  6. Once the message passes the verification of the Mitosis ISM, the mailbox contract sends the message to the Mitosis Ledger Module

  7. The Mitosis Ledger Module organizes the incoming transfers and decides whether or not the transfer is executable

  8. If the transfer is executable, the Mitosis Ledger Module sends a message with transfer information to the mailbox contract

  9. Once again, the message is signed by validators, relayed by relayers to the mailbox on the destination chain, and verified by the Mitosis ISM

  10. Once the message passes the verification, the mailbox contract calls the Mitosis Vault to handle the message

  11. Finally, the Mitosis Vault sends the corresponding asset to the receiver address

As Mitosis Ecosystem matures, more cross-chain actions will be supported. Let's look at an example - cross-chain DEX.

Cross-chain DEX: User wants to exchange his/her ETH on source chain for USDC on destination chain.

  1. User deposits ETH into the Mitosis Vault on the source chain with a message containing information about the cross-chain DEX including the destination chain, desired token type, receiver address and slippage tolerance

  2. The message is delivered to the Mitosis Chain and miETH equivalent to deposited ETH is minted

  3. Minted miETH is exchanged for miUSDC on a DEX within the Mitosis Ecosystem

  4. If the slippage tolerance condition is met, redemption of miUSDC is triggered from the Mitosis Chain

  5. miUSDC is burnt on the Mitosis Chain while the message containing information about the redemption is delivered from the Mitosis Chain to the destination chain

  6. On the destination chain, redeemed USDC is transferred from the Mitosis Vault to the user’s address

More about validators and relayers: link to Hyperlane Docs

Last updated