How to migrate your assets to a new wallet
This guide walks you through moving all your crypto assets to a brand new wallet derived from a fresh Secret Recovery Phrase. This is the right guide if you suspect your SRP has been compromised, noticed unauthorized transactions, or simply want to rotate your keys for peace of mind.
If you're looking to import an existing wallet into MetaMask or switch from another provider, see this guide instead.
Before you start
Every transfer happens on-chain, so you'll pay gas fees for each one. Costs can add up if you have a lot of assets, so it's worth noting everything you own in priority order before you begin — and accounting for things like token lockups or liquidity positions that may need to be exited first.
Assets you may need to move:
- ERC-20 tokens
- NFTs (ERC-721, ERC-1155)
- Liquidity provider positions
- Smart contract ownerships (e.g. a Gnosis Safe)
What assets do I have?
MetaMask Portfolio is an easy way to get a full picture of what you own across accounts, including NFTs, ERC-20 tokens, and DeFi positions. For NFTs, marketplaces like OpenSea also list everything held by an address.
For a chain-by-chain breakdown, use a block explorer such as Etherscan or Ethplorer. If you're active across multiple chains, paste your address into Blockscan to get links to explorers on every chain where your account has been active.
For DeFi positions and liquidity, Zapper and Zerion are good aggregators. No single tool surfaces everything, so it's worth checking a couple before you start moving funds.
Steps to migrate your assets
First, you need to know whether you connected your MetaMask to your Google, Apple, or Telegram account, or if you access your MetaMask via your Secret Recovery Phrase. The two options have distinct processes, so make sure you know which one you are using before proceeding.
- My MetaMask is connected to my Google, Apple, or Telegram account
- My accounts are secured exclusively by private keys or SRPs
If you connected your MetaMask to your Google, Apple, or Telegram account, and want to move your cryptoassets to a completely new, separate wallet, then you need to create a brand new instance of MetaMask that is not connected to the original Google, Apple, or Telegram account.
If you suspect your MetaMask, Google/Apple/Telegram account, or hardware has been compromised, you need to create new SRPs and private keys that are in no way associated with your old accounts.
Your old wallets and accounts are all tied to that Google, Apple, or Telegram account, and there is no way to disconnect them. You cannot just create a new wallet or account in the same MetaMask Extension or Mobile app, because that wallet would automatically be connected to the original Google, Apple, or Telegram account.
If you like having a Google, Apple, or Telegram account connected to your MetaMask, you can choose a new account to connect. Keep reading for next steps.
Step One: Ensure a safe environment#
In order to keep your new wallet safe, you need to be in a safe situation.
This means:
- You are not being physically observed
- Your system is free from malware or spyware
- You have a secure medium on which to record your new SRP/password
- You are not being directed to do this by a person you don't trust
- You are not doing this under duress
- Traffic on your Internet connection is not being monitored
- Hint: a VPN connection under such circumstances can be very helpful!
Step Two: Create a new wallet#
This is easily done using MetaMask.
- You need to open a new instance of MetaMask. You can do so by creating a new browser profile, downloading MetaMask Mobile (if you only use Extension) or downloading MetaMask Extension (if you only use Mobile).
- For guidance on creating a new browser profile, visit your browser's support page.
- If using MetaMask Extension, navigate to metamask.io/download (type in the address: don't click on a web search result).
- Install the extension or application, and decide if you want to connect a new Google, Apple, or Telegram account to your new wallet, or if you want to write down your new Secret Recovery Phrase. If you choose to connect a Google, Apple, or Telegram account, make sure it's a different account than the one you connected your old wallet to, and create a brand new password for your new wallet.
- Write down your new password and Secret Recovery Phrase, and keep them somewhere safe.
Step Three: Get a safe address to send your tokens to#
- Follow the instructions here to copy the public address of the default account generated by your new SRP.
- Have that address at hand on the device that has the "original" SRP; it might help to open it in Etherscan, or you could hold it in a synced note, because it's a public address--you should never, ever, ever put an SRP in a cloud-synced note app.
Note: You can generate as many accounts as you want in your new wallet, and divide up your tokens however you wish among them. Also, if you have a hardware wallet on hand, now would be a convenient time to transfer assets to an address generated by an SRP that is only present on your hardware wallet.
Step Four: Transfer your stuff#
This part of the process will vary depending on your specific situation. You may need to do some reading below.
The process is currently manual: you will be sending all of your assets to the new address(es), one transaction at a time. If you're unfamiliar with sending assets, see how to send tokens from MetaMask.
Your network gas tokens (ETH, POL (previously MATIC), etc.) should be the LAST THING YOU TRANSFER. Otherwise, you'll have no way to pay for the transfer fees of your other assets.
- Start with NFTs
- NFTS are likely to be the most expensive to transfer, so start with these. Currently, you can use MetaMask Mobile to transfer them; also, you can use OpenSea's transfer function.
- Keep in mind: if your account has been compromised, then adding more of the network's gas token to your account in order to transfer assets out of it may result in the new gas token balance being "swept out" before you can take any actions. If this is the case, read this guide on beating an Ethereum sweeper.
- NFTS are likely to be the most expensive to transfer, so start with these. Currently, you can use MetaMask Mobile to transfer them; also, you can use OpenSea's transfer function.
- Move on to other ERC-20 tokens
- Gas Tokens: First in, Last out. Depending on the contents of your accounts and the network you're on, you may use a significant amount of the network gas token--so don't send it away while you still need it!
- Remember, ETH isn't technically an ERC-20 token, so automated ERC-20 sweeping tools may not automatically include balances of ETH.
Note: If you transferred an ENS name to your new address, and you use that ENS name to receive cryptoassets, make sure you update the routing information in the ENS app so that assets routed to that ETH name go to the new address, and not the old one!
Step One: Ensure a safe environment#
In order to keep your new wallet safe, you need to be in a safe situation.
This means:
- You are not being physically observed
- Your system is free from malware or spyware
- You have a secure medium on which to record your new SRP
- You are not being directed to do this by a person you don't trust
- You are not doing this under duress
- Traffic on your Internet connection is not being monitored
- Hint: a VPN connection under such circumstances can be very helpful!
Step Two: Create a new wallet#
This is easily done using MetaMask.
- You need to open a new instance of MetaMask. You can do so by creating a new browser profile, downloading MetaMask Mobile (if you only use Extension) or downloading MetaMask Extension (if you only use Mobile).
- For guidance on creating a new browser profile, visit your browser's support page.
- If using MetaMask Extension, navigate to metamask.io/download (type in the address: don't click on a web search result).
- Install the extension or application, and decide if you want to connect a new Google, Apple, or Telegram account to your new wallet, or if you want to write down your new Secret Recovery Phrase.
- Write down your new Secret Recovery Phrase, and keep them somewhere safe.
Step Three: Get a safe address to send your tokens to#
- Follow the instructions here to copy the public address of the default account generated by your new SRP.
- Have that address at hand on the device that has the "original" SRP; it might help to open it in Etherscan, or you could hold it in a synced note, because it's a public address--you should never, ever, ever put an SRP in a cloud-synced note app.
Note: You can generate as many accounts as you want in your new wallet, and divide up your tokens however you wish among them. Also, if you have a hardware wallet on hand, now would be a convenient time to transfer assets to an address generated by an SRP that is only present on your hardware wallet.
Step Four: Transfer your stuff#
This part of the process will vary depending on your specific situation. You may need to do some reading below.
The process is currently manual: you will be sending all of your assets to the new address(es), one transaction at a time. If you're unfamiliar with sending assets, see how to send tokens from MetaMask.
Your network gas tokens (ETH, POL (previously MATIC), etc.) should be the LAST THING YOU TRANSFER. Otherwise, you'll have no way to pay for the transfer fees of your other assets.
- Start with NFTs
- NFTS are likely to be the most expensive to transfer, so start with these. Currently, you can use MetaMask Mobile to transfer them; also, you can use OpenSea's transfer function.
- Keep in mind: if your account has been compromised, then adding more of the network's gas token to your account in order to transfer assets out of it may result in the new gas token balance being "swept out" before you can take any actions. If this is the case, read this guide on beating an Ethereum sweeper.
- NFTS are likely to be the most expensive to transfer, so start with these. Currently, you can use MetaMask Mobile to transfer them; also, you can use OpenSea's transfer function.
- Move on to other ERC-20 tokens
- Gas Tokens: First in, Last out. Depending on the contents of your accounts and the network you're on, you may use a significant amount of the network gas token--so don't send it away while you still need it!
- Remember, ETH isn't technically an ERC-20 token, so automated ERC-20 sweeping tools may not automatically include balances of ETH.
Note: If you transferred an ENS name to your new address, and you use that ENS name to receive cryptoassets, make sure you update the routing information in the ENS app so that assets routed to that ETH name go to the new address, and not the old one!
What if my address is being actively drained?
If your account has been compromised and a bot is watching the mempool to sweep any funds you deposit, standard transactions won’t work — the bot will frontrun you. You can submit a request to the Flashbots Whitehat team for help creating transaction bundles that bypass the public mempool. For more background on how sweepers work and recovery options, read this guide.
As always, keep your Secret Recovery Phrase safe. It is for your eyes and your eyes alone, and when you ask for help in various places there may be bad actors waiting to reach out to you and attempt to steal your funds.