The following guide is for users who are wondering how to transfer their tokens from Ethereum blockchain to Solana blockchain. Its for those who are looking to send their Ethereum tokens from Binance to Solana wallet and from SOL wallet to their exchange account. If you are looking to convert your ERC20 tokens to SPL tokens then this guide is meant for you.
Previously we’ve made a tutorial on how to create your SOL wallet, deposit funds and interact with SOL tokens on the Solana blockchain. It covers sending and receiving SOL based tokens on the Solana blockchain. What it not covers is how to transfer / send your ERC20 tokens to Solana so that you can trade, stake and farm Ethereum based tokens on the Solana ecosystem.
This guide is all about that. Here we’ll show you how to swap / convert ERC20 to SPL tokens. Also we’ll cover how to transfer funds in and out of the Solana blockchain.
Before we get into the guide let’s understand what is SPL and why to move tokens to Solana?
Solana Program Library, simply known as SPL is a collection of on-chain programs maintained by the Solana project. SPL is the token standard on the Solana blockchain similar to what ERC20 is on the Ethereum blockchain. These SPL tokens are designed specifically for DeFi applications.
The Solana team is committed to advancing the Solana ecosystem and is trying to build the infrastructure to power the next generation of crypto and DeFi apps.
More number of projects are getting developed and launched on the Solana ecosystem. One notable example is project serum – Providing fastest, cheapest transactions and is one of the most liquid on-chain DEX currently in the DeFi space.
The projects that are build on Solana are exclusive to Solana blockchain and they use the SPL token standard. ERC20 tokens on the other hand is native to the Ethereum platform which can also be used within the Solana chain. For this you need to move your assets from ETH to Solana by swapping the tokens.
Why convert ERC20 to SPL?
Well you know that speed and transaction costs are two of the largest barriers holding back DeFi (Decentralized Finance) today.
Unfortunately transacting on the Ethereum network is expensive. Moving around ERC20 tokens will cost high gas fees. Also not to mention the time it will take for your transaction to go through.
One way to get around the high gas fees and slow transaction times is to move your ERC20 tokens to Solana ecosystem. You can convert your ERC20 to SPL and use them to interact with DeFi on the Solana ecosystem. Once you get them to Solana network you can trade, swap, stake, farm much faster and much cheaper.
Now before we see how to move assets from Ethereum to Solana lets understand how the tokens work on both the blockchains.
ERC20 and SPL tokens
ERC20 and SPL tokens are interchangeable. The are same tokens but exist on different blockchains. One is on the Ethereum chain and the other one is on Solana chain. Same project which is both an ERC20 token and a SPL token. So how does it work?
Since Ethereum has been suffering from network congestion and record high transaction fees some tokens are also being issued on other blockchains.
One good example is USDT (Tether) – The largest stablecoin by market cap and is one of the most widely used stable crypto in the DeFi sector.
This coin exist on several different blockchains including Ethereum, EOS, TRON, OMG Network, Algorand and Solana. Solana is the seventh blockchain to issue USDT (Tether). So why it has been issued on several different blockchains? Mainly to benefit from that particular network.
Tether has issued USDT stablecoin on Solana so that it can benefit from the Solana network. Solana can scale up to 50,000 TPS and is fairly decentralized with 300+ validators making it a great alternative platform to Ethereum. USDT holders can now transfer for less than $0.00001 per transaction and at speeds greater than 50000 TPS using the Solana blockchain. Other than that they also benefit from increased liquidity and be able to access the various DeFi projects that are available on the Solana ecosystem.
Other than tokens that are issued on Solana there is also something called wrapped tokens
Open your SPL token wallet >> select add tokens and under popular tokens you’ll find several tokens starting with wrapped. Wrapped Bitcoin, Wrapped ETH, Wrapped XPR. Wrapped Chainlink, YFI etc.
All these belong to the respective blockchains. For example BTC works on the Bitcoin network. ETH is the native currency of the Ethereum platform. Chainlink and YFI are ERC20 tokens on the Ethereum blockchain. These coins and tokens are “wrapped” on Solana so that it can be made tradable on the Solana network. Not only Solana but you can also find these wrapped on different networks such as Binance Smart Chain, TRON etc. Since they are made tradable on different networks they largely benefit from high liquidity.
With Solana you can you can trade and transact the fast and inexpensive way.
So now how to move coins and tokens from other blockchain to Solana network?
There are different ways to convert ERC20 to SPL and move coins from other blockchains to Solana ecosystem. Which method you choose depends on where you are holding your funds. Whether in your wallet or an exchange account.
Swapping / converting ERC20 to SPL tokens
To convert ERC20 to SPL and to be able to receive as SOL token on the Solana blockchain you’ll first need a Solana (SPL token) wallet. Use Sollet.io which is a browser based wallet that provides similar user experience to that of Metamask.
Sollet SPL token wallet allows you to manage all your Solana assets and SOL based DeFi apps from one place. This wallet also allows you to convert ERC20 to SPL naively by connecting to the MetaMask wallet which we’ll show you shortly.
Now before you make any transfer first make sure you have some SOL in your wallet in case you don’t already have it. You’ll only need a small fraction of SOL and this is to cover the transaction fees on the Solana network. You can buy SOL from FTX or Binance and send it to your wallet. Once you have SOL deposited in your wallet you can send / receive SPL tokens and ERC20 tokens.
Also know how to add custom tokens on Solana wallet.
Once you’ve added the token its time to learn how to move tokens from Ethereum to Solana.
Transfer tokens to Solana
Moving ERC20 tokens from Ethereum to Solana using exchange.
In this first method we are assuming that you have your tokens on an exchange account. Binance, Coinbase, Kraken, FTX, Huobi or Bitfinex. Whichever it can be.
Do note that majority of the crypto exchanges only support ERC20 transfers. Binance on the other hand supports ERC20, BEP20 and TRC20. As of now only FTX supports SPL token transfers.
Also most of these centralized exchanges will charge you anywhere between $5 to $10 when you withdraw tokens except for FTX where there are no withdrawal fees for any tokens (particularly SPL token transfers).
So clearly FTX makes the conversion process simpler. If you already have coins or tokens on FTX exchange you can easily withdraw them over to your SPL wallet.
Just copy the token deposit address from Sollet wallet, enter it on the withdrawal address field and send them over to SPL wallet.
But what if you are holding tokens on other exchanges. Let’s say you have USDT on your Binance account and want to move it to your Sollet wallet. You can’t move it directly from Binance to Solana since Binance do not support SPL token (SOL network) withdrawals yet. You’ll need to send them to FTX and then withdraw them to Solana network.
Since the ERC20 transfer fees are high choose the TRC20 as transfer network on Binance and send it to FTX. From there send your USDT as SPL tokens to Sollet wallet.
You can basically transfer any coins and ERC-20 tokens onto FTX and perform a one-way swap to SPL token. Its that simple. Just ensure FTX supports the particular coin or token.
Note: Make sure you are choosing the right network, deposit and withdrawal address. Always try a test transaction with small amounts before you make a huge transfer. Also note that the Token Address or Mint Address is the token contract address i.e the token identifier. Never send any tokens to this address. Only use the deposit address to send your tokens to.
We hope you got your tokens from exchange to Solana wallet. Now how do you withdraw SPL tokens from Solana network?
Withdraw tokens from Solana wallet
Let’s assume you have USDC in your Sollet wallet which you used for trading in Serum DEX. You wish to cash out the USDC to real USD (fiat currency).
Its simple. Use the same method as above.
On your FTX account choose USD and Stablecoins, select deposit USDC and copy the SPL USDC deposit address.
On your Sollet wallet paste your FTX SPL USDC deposit address and send the USDC SPL token to FTX.
Other than stable coins if you have any other tokens then convert it to a stable coin through Serum DEX or transfer it to FTX and convert it there.
From FTX you can make a Fiat withdrawal. If you haven’t verified identity on FTX then you can transfer the tokens to other services like for example Coinbase and from there withdraw Fiat USD to your Bank account.
Note: While exchange supports different transfer network options your Sollet.io or Solflare wallets only lets you to withdraw tokens as a SPL token to Solana address. So as of now other than FTX you cannot send SPL tokens straight to Binance, Coinbase or any other exchanges.
Also while transferring SOL do not transfer the entire amount. Make sure you have some SOL to cover the transaction fees or else you’ll get the following error: “failed to send transaction: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x1”.
If you are from the United States then make an FTX.us account. Use the method above to transfer SPL tokens in and out of the Solana network.
How about if you live outside of regions served by FTX? In this case you can use the Sollet (Wallet) native conversion feature.
Convert ERC-20 tokens to SPL tokens
This method involves Sollet wallet and Metamask wallet. Sollet.io wallet allows you to convert ERC20 tokens and SPL Tokens 1:1 naively. You can convert ERC20 to SPL and vice versa. All you need to do is connect your Sollet to MetaMask wallet where you have your funds.
Convert ETH to SOL
Firstly ensure you got some SOL in your Sollet wallet to fuel the transaction. FYI Native ETH can also be converted to native SOL via MetaMask. To convert, you must already have SOL in your wallet.
The Ethereum will be converted to wrapped SPL token pegged to the price of the Ethereum.
Once you have SOL you can start swapping ERC20 to SPL tokens easily.
To do so first add the token that you wish to convert. If you can’t find the token in Sollet wallet then enter the ERC20 contract address. Add Token (+ sign), select ERC20 Token and paste the ERC-20 token contract address. The wallet will convert it to wrapped SPL token automatically.
Once the token is added to your wallet drop down the token, click receive and navigate to ERC20 tab.
Click connect to MetaMask and choose the account from your Metamask wallet. Once connected enter the amount of ERC20 token that you wish to swap and click convert. Take note on the estimated withdrawal transaction fee.
MetaMask popup window will now open for you to set the gas fees and confirm the transaction.
Click confirm and wait for the transaction to be confirmed on the Ethereum blockchain. It may take a while for the transaction to get processed.
Once the transaction gets confirmed the funds will be moved to Solana blockchain and it will show up in your SPL token wallet.
If you have funds stored on your hardware wallets such as Ledger or Trezor then first connect it to MetaMask. Then connect Sollet to Metamask and follow the procedure above to migrate your Ethereum tokens to Solana based tokens.
Using this convert function on your SPL wallet you can convert ETH and ERC20 tokens from your MetaMask wallet. But what if you have funds stored in your Trust wallet or some other Ethereum wallet.
Trust wallet SPL support:
Trust wallet has support for few SPL tokens. It supports the sending and receiving of SPL tokens via the Solana network.
To add SPL tokens open the menu >> look for the coin / token with SPL label underneath (USDC-SPL). Click the toggle button to add the SPL token. As we said not all tokens are supported on Trust wallet. Only limited support. Also currently Trust wallet does not have any inbuilt atomic swaps or cross chain swapping of ERC20 to SPL tokens. So you can’t swap erc20 to SPL in Trust wallet like you do in Sollet wallet. You have to use the exchange method mentioned above or transfer them to MetaMask and use the Sollet wallet for conversion.
Other than Trust wallet here are few other wallets that has support for SPL tokens.
- Math Wallet
- Coin98 Wallet
- Solong Wallet
- Bonfida Wallet
- Oxygen wallet
Among them Oxygen wallet has the option to swap ETH assets into SOL assets. It is a non-custodial wallet that allows you to store both Ethereum and Solana assets seamlessly. You can swap / store / send / receive ETH, ERC20, SOL and SPL tokens.
Also Math wallet app have cross chain support that can move tokens from ETH to Solana in a wrapped format. But do note that these conversions cost gas to transfer from one chain to another.
Solana / Ethereum Wormhole
There is another method to convert ERC20 tokens to SPL tokens and SPL to ERC20. Its called wormhole. The Ethereum / Solana Wormhole is a bidirectional, decentralized ERC-20 to SPL token bridge between Ethereum and Solana.
The wormhole consist of a set of oracles called “Guardians”. It is a decentralized cross chain bridge and all it allows you to do is wrap /unwrap eth based tokens on Solana or Sol based tokens on Eth. It facilitates the burn / mint process between Solana and Ethereum. What it does is it simply locks ERC20 tokens in an Ethereum smart contract and mints the corresponding SPL Tokens on Solana.
The migration process is quite complex and we’ll cover this in a separate guide.
Alright! Now that you have learned how to move assets from Ethereum to Solana we hope you’ve successfully converted your ERC20 to SPL tokens.
Once you have the tokens on Sollet wallet you can start trading on the Solana network. Connect your wallet to several decentralized exchanges and Solana based DeFi. You got Project Serum DEX which features both classic exchange and Uniswap style swapping. You got Bonfida, Raydium DEX and many other DeFi solutions.
Enjoy fast / cheap swaps and transfers on Solana network.