project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5

MultiZap

Atomic swaps between Ethereum and Starknet via Dutch auctions and HTLC-based trustless escrows.

MultiZap

Created At

Unite Defi

Project Description

MultiZap is a fully-functional prototype for cross-chain Dutch-auction-based atomic swaps between EVM (Ethereum Sepolia) and Starknet (Sepolia).

It extends the 1inch Fusion+ architecture by enabling trustless token swaps between L1 and L2 chains, powered by off-chain agents and HTLC smart contracts. Users can swap tokens (like USDC) across Ethereum and Starknet without relying on centralized bridges or custodians.

At the heart of the system is a Dutch auction mechanism that allows resolvers (off-chain liquidity providers) to bid competitively on user-submitted swap orders. The winning resolver deposits liquidity on both chains into time-locked, hash-locked escrows. This ensures a trust-minimized atomic swap, where either both sides are executed or none are.


🧩 System Components

  • 🔗 Smart Contracts on both Ethereum and Starknet:

    • HTLC escrow contracts
    • Escrow factory contracts for deterministic deployments
  • 🛰 Relayer Service (Node.js backend):

    • Manages order book
    • Runs Dutch auctions
    • Exposes APIs for frontend and resolvers
  • 🛠 Resolver Bot:

    • Computes bids for Dutch auctions
    • Deploys escrows on both chains
    • Coordinates settlement and secret revelation
  • 💻 Frontend DApp:

    • Allows users to create cross-chain swap orders
    • Tracks order and escrow status
    • Interacts with relayer and wallet providers (Metamask, ArgentX)

🔐 Why It Matters

  • No Bridges: Swaps are native and require no centralized bridge.
  • 🔒 Fully Trustless: Uses hash-locked and time-locked escrows to ensure atomicity.
  • 🔧 Composable: Resolver and relayer logic are modular and extendable to any token or chain.
  • ⚙️ 1inch Fusion+ Upgrade: Makes existing L1 DEX infrastructure usable for Starknet ↔ Ethereum flows.

📈 Example Use Case

Alice wants to swap 100 USDC from Ethereum to Starknet. She places a swap order using the frontend.
The relayer runs a Dutch auction for resolvers to compete in fulfilling her swap.
The winning resolver deposits 100 USDC on Starknet and locks 100 USDC on Ethereum in an HTLC.
Alice claims her funds on Starknet by revealing a secret, which the resolver then uses to claim their funds on Ethereum.

How it's Made

MultiZap is built using a modular architecture with on-chain HTLC escrows and off-chain coordination for Dutch auctions and swap execution.

Technologies Used

  • Solidity + Foundry for EVM smart contracts (HTLCEscrowFactory, HTLCEscrow)
  • Cairo 1.0 + Starkli for Starknet contracts with equivalent escrow logic
  • React + TypeScript frontend with ethers.js and starknet.js for dual-chain wallet support
  • Node.js (Express) backend as the Relayer, which:
    • Manages swap orders and Dutch auctions
    • Exposes REST APIs to frontend and resolvers
  • Resolver Bot written in Node.js:
    • Polls relayer for orders
    • Bids in auctions
    • Deploys escrows and handles claims on both chains

Integrations & Benefits

  • 1inch Fusion+ model extended cross-chain with HTLCs and off-chain bidding
  • Keccak-based HTLC coordination between Solidity and Cairo (no bridges used)
  • Factory pattern for deterministic escrow address prediction

Notable Hacks

  • Dutch auction logic is entirely off-chain for gas efficiency
  • Secrets are revealed by users and reused by resolvers to complete swaps atomically
  • Fully trustless design with no dependency on centralized relayers or bridges
background image mobile

Join the mailing list

Get the latest news and updates