An explanation of zkRouter workflow

Multichain (Previously Anyswap)
Published in
2 min readMay 10, 2023

When you initiate a zkRouter-based cross-chain transaction on, you will go through several processes as follows: Pending, Send, Finalizing, zkproving, Success.

  • Pending: User initiated cross-chain transaction, currently being processed on the blockchain.
  • Send: The cross-chain transaction has been uploaded to the chain, but a final consensus has not yet been formed, and there is a risk of rollback.
  • Finalizing: The block containing the transaction has been determined to be final by consensus, and there is no risk of transaction rollback.
  • zkproving: Generate proof and send it to the target chain for verification by the target chain’s light client contract.
  • Success: After verification, target chain operation is finished according to the source chain.


The Dashboard page provides a complete explanation of zkRouter as the underlying infrastructure, which enables trustless synchronization of every epoch on the Ethereum chain.

Ethereum’s consensus has thousands of attestations voting on the head of the chain in parallel every slot. Every epoch (32 slots, or 6.4 min), all active validators get a chance to attest once.


  • Finalized Slot: Each slot has a corresponding block, and the height of the block that is finally determined as finalized for this epoch is called Finalized Slot.
  • Update on FTM: The transaction hash of Ethereum finality confirmation submitted to the target chain.
  • Receipts root on ETH: The Merkle tree root hash of all receipts in this epoch’s blocks.
  • Zero Knowledge Proof: Consensus proof of submitting Source Chain consensus to Target Chain.



Multichain (Previously Anyswap)

Cross-Chain Router Protocol (CRP), an infrastructure for cross-chain interoperability, envisioned to be the ultimate router for Web3