Before You Start
Make sure you have:
- Your source wallet (the one you want to migrate from) available in MetaMask or a WalletConnect-compatible wallet
- Your destination wallet address (the address you are moving assets to) — this does not need to be connected, just the address
- Enough native token (ETH, MATIC, etc.) on the source wallet for gas fees
- A stable internet connection — do not interrupt a migration mid-session
Step 1: Connect Your Source Wallet
Open MovingWallet and click Connect Wallet. Choose MetaMask or use WalletConnect to connect any compatible wallet (Ledger, Trezor, Rainbow, etc.).
You will be prompted to sign a message to verify ownership. This is a read-only signature — no tokens are moved at this stage.
Step 2: Asset Detection
Once connected, MovingWallet scans your wallet across all supported chains. Detection typically takes 10–30 seconds depending on the number of chains and tokens.
After detection, you will see:
- Native balances (ETH, MATIC, etc.) per chain
- ERC-20 token holdings
NFTs and DeFi positions aren't supported in this flow yet. Manage them separately with the relevant wallet or protocol.
Review the detected assets. If anything looks incorrect, you can exclude specific assets before proceeding.
Step 3: Specify Your Destination
Enter the destination wallet address. MovingWallet validates the address format and checksum. Double-check this address carefully — transactions sent to the wrong address are irreversible.
If you are migrating to a new hardware wallet, make sure you have already set up the hardware wallet and have access to its address before starting.
Step 4: Review the Migration Plan
MovingWallet generates a step-by-step plan. Each step shows:
- Which asset is being moved
- Source chain and destination chain
- Transaction type (direct transfer, bridge, swap)
- Estimated gas cost
- Estimated wait time (relevant for bridge steps)
The plan is sequenced to avoid gas issues — native token transfers are scheduled after all other assets are moved, and a gas reserve is calculated automatically.
Step 5: Check the Plan Before Signing
Before signing anything, go through the plan once more:
- The assets and the destination address are the ones you intend
- The route for any bridge or swap step
- The estimated costs
A plan can be blocked before execution — for example, if there isn't enough gas or a token is flagged. If something doesn't look right, change your selection and build the plan again.
Step 6: Execute the Plan
Once you are satisfied with the plan, start execution. For each step, you will be prompted to sign a transaction in your wallet.
Important: Each transaction requires your explicit signature. Nothing is submitted automatically. You can pause between steps.
For bridge steps, you sign the deposit transaction. The bridge will then process the transfer — this can take anywhere from a few minutes (third-party bridges) to several hours (native L2 bridges with challenge periods).
Step 7: Verify Completion
After all steps are complete, MovingWallet shows a summary of what moved and what is now in your destination wallet. You can also verify independently by checking the destination address on any block explorer (Etherscan, Polygonscan, etc.).
Common Issues
Not enough gas for all steps: Keep some native token on the source wallet beyond what MovingWallet estimates. Gas prices fluctuate.
Bridge taking longer than expected: Bridge wait times are estimates. Optimistic rollup withdrawals (Arbitrum, Optimism native bridge) have mandatory 7-day challenge periods — use third-party bridges (Hop, Across) for faster finality.
NFTs or DeFi positions don't appear in the plan: NFTs and DeFi positions aren't supported in this flow yet. Manage them separately with the relevant wallet or protocol.
After Migration
- Verify all assets have arrived at the destination
- Keep the source wallet seed phrase safely stored — do not discard it
- The source wallet address still exists on-chain and can receive future transactions
- Export the migration audit log from MovingWallet for your records