Skip to main content
This quickstart shows how to use Biconomy MEE’s Fusion execution mode to batch-send ERC-20 tokens (USDC) on a single chain (Base Sepolia) using a regular EOA wallet (e.g. MetaMask). It demonstrates how an externally owned account can:
  • Batch transfer tokens to multiple recipients
  • Pay for gas using ERC-20 tokens (not ETH)
  • Do this all with a single signature
  • Without using smart wallets or EIP-7702

Why not EIP-7702?

While EIP-7702 allowed for smart account code to be set to the EOA address on the blockchain level - all major wallets prevent apps from installing their own code onto users EOA addresses. This is done due to the security concerns wallets have around apps installing malicious code.
The approach wallets have taken is to expose a set of permissions to the apps where they can “request” certain tokens, etc… This effort has been spearheaded by MetaMask with their ERC-7715 integration and their DeleGator framework.
Other major wallets (Rabby, Trust, Rainbow, Coinbase, Phantom, Uniswap, …) have not publically stated whether they’ll add support for ERC-7715.
The method Biconomy uses is universally compatible with all EOA wallets which means you can count on offering these features to everyone.
Use EIP-7702 with Biconomy + Embedded WalletsBiconomy has full support for EIP-7702. If you wish to take advantage of those features - build by using embedded wallets (e.g. Privy, Dynamic, Turnkey, …)

How It Works

With Fusion, externally owned accounts (EOAs) can authorize a Companion Smart Account (aka “Orchestrator”) to pull tokens and execute instructions. The Companion is invisible to users, acting as a passthrough executor that handles batching, permissions, and fee payments.

Flow Summary

1

User Authorization

The user signs a quote from MEE authorizing their Companion to pull tokens (e.g. USDC)
2

Batch Execution

The Companion executes the batched instructions, using the pulled tokens to:
  • pay for gas
  • send funds to multiple recipients
3

Seamless Experience

From the user’s perspective, they signed once and completed the action — no additional UX overhead

Setup

1. Create the project

2. Install dependencies

3. Wrap App in providers

Edit main.tsx to include WagmiProvider and QueryClientProvider:
Then create wagmi.ts:

Key Concepts in App

Wallet & Companion Initialization

First, we need to connect to the wallet extension. This tutorial uses the window.ethereum method, but you should use a more comprehensive solution (e.g. ReOwn AppKit, Web3Modal, RainbowKit, …)

Building Transfer Instructions

You batch multiple transfer instructions using orchestrator.buildComposable(...):

Triggering Fusion Execution

Fusion flows require a trigger that pulls tokens from the EOA:
The signature over this quote includes the hash of all instructions and the fee + pull logic. One signature does it all.

Execute & Monitor


Full Example Files

Ready to publish this to the official docs or format it as a starter repository!