How to trade crypto assets using decentralized exchanges

Surreal Thoughts Think Tank
11 min readMar 30, 2022

Before we jump in here’s an obligatory DYOR statement because some of you reading this are degen g̶a̶m̶b̶l̶e̶r̶s̶ traders: Please do your own research, this guide is not meant to be viewed as financial or investment advice.

Photo by NeONBRAND on Unsplash

What: Here’s a step-by-step guide to moving funds from your bank account into blockchain wallets to purchase Solana and Ethereum based crypto-assets through decentralized exchanges.

Why: Whether you’re an investor, day-trader, or Web3 application end-user, there are often benefits to being an early holder of crypto-assets. The problem is many assets aren’t available on centralized exchanges upon their public release. To stay ahead of the market and get the best rates, use decentralized exchanges.

Key terms before we dive into the details:

  • Centralized Exchange (CEX): An exchange that facilitates asset transactions by acting as a middle man or third party. Typically these exchanges have large reserves of fiat currencies (government-issued currency) and crypto-assets. As a result, buyers and sellers can only purchase and sell assets that the CEXs hold.
  • Decentralized Exchange (DEX): An exchange offering direct peer-to-peer asset transactions without the need for an intermediary. DEXs typically have a wider variety of assets available for trading. I’ll cover the Uniswap and Orca DEXs in this guide.
  • Blockchain Wallet: A digital wallet that holds the “keys” to your crypto stored on Blockchains such as the Ethereum, Solana, and Bitcoin networks.
  • USD Stablecoin: Crypto-assets pegged to the value of the U.S. dollar. A popular stablecoin is USDC. USDC “is fully backed by cash and equivalents and short-duration U.S. Treasuries, so that it is always redeemable 1:1 for U.S. dollars. Each month, we publish attestation reports by Grant Thornton regarding the reserve balances backing USDC.”

Overview of Steps

  1. Fiat On-ramp via CEX
  2. Create a Blockchain Wallet
  3. Transfer Funds from CEX to Blockchain Wallet
  4. Connect Blockchain Wallet to DEX and Trade

Step 1: Fiat On-ramp via CEX

The cheapest way to use fiat money from your bank account to purchase crypto is to convert it into a USD stablecoin, such as USDC, via CEX. I’ll use FTX (CEX) to demonstrate the process in this guide. FTX allows you to convert your fiat into Ethereum-based USDC or Solana-based USDC. The flexibility is great if you plan to purchase both Ethereum and Solana based assets.

First, create an account:

Create an FTX account. The easiest way to do this is to create an account using your Gmail.

FTX — Create Account Page

Second, verify your identity:

On the following screen, you’ll see that FTX requires you to verify your identity to create an account. You’ll only need Level 1 Identity Verification. Select the “individual” verification type, enter your information, and click “Submit Information.” This confirmation process typically takes 1–3 business days.

FTX — Identity Verification Screen

Third, connect your bank account:

Once FTX has verified your identity, you can connect your bank account. From the FTX homepage, select your name at the top right corner and click “Wallet.” Once on the “Wallet” page, select the “Balances” tab and then click “All Balances.” Locate USD in the table on the bottom half of the screen (it should be the first entry). Click “deposit.”

When the “Deposit USD” window appears, select “Deposit from bank account (ACH).”

FTX — Deposit from bank

Click “Connect another bank account” and agree to the disclaimer on the next window.

FTX — Connect bank account

A Plaid window will appear; click “continue.”

Select your bank; click “continue.” A pop-up window will appear, asking you to sign in to your bank account. Once you’ve signed in, follow the prompts for your bank’s 2FA if you have that setup.

FTX — Sign into bank account via Plaid

Once your bank account is connected, you can deposit funds via ACH. Due to FTX’s internal risk measures, you’ll need to wait ~7 days from when the funds clear to withdraw.

FTX — Deposit money from bank account

Step 2: Create a Blockchain Wallet

A blockchain wallet is required to interact with DEXs. There are plenty of these out there, but I’ll cover MetaMask and Phantom in this guide.

First, determine if you want to trade Ethereum or Solana assets:

Determine if you want to purchase Ethereum or Solana based assets.

Download the MetaMask Google Chrome extension if you want to purchase Ethereum-based assets.

Download the Phantom Google Chrome extension if you want to purchase Solana-based assets.

Phantom download page

Second, complete your blockchain wallet setup:

MetaMask and Phantom both provide user-friendly guided instructions for completing wallet setup. To keep this document short(ish), I didn’t include a detailed step-by-step here since it’s relatively straightforward. If you’re having issues or prefer to follow my wallet setup guides, I’ve linked them below. The key takeaway is to make sure you save your seed phrase. A seed phrase is a collection of words that act as a “master password.” If you ever lose your wallet password or decide to connect your wallet to another device, you’ll need your seed phrase.

Step 3: Transfer Funds from CEX to Blockchain Wallet

Once your funds are cleared for withdrawal within FTX (which usually takes less than 10 days), you can transfer them over to your blockchain wallet. I’ve split this section up into two parts. The first part covers FTX to MetaMask transfers, and the second covers FTX to Phantom transfers.

I know I said this was the cheapest method. However, due to the congestion on the Ethereum network, FTX charged me 10 USDC at the time of withdrawal to my Ethereum wallet (MetaMask) to offset gas fees (transaction fees paid to the decentralized network of computers maintaining the blockchain). Withdrawals to Solana wallets (Phantom) will be free as the network has negligible gas fees and much higher throughput.

FTX to MetaMask

First, navigate to your USD balance:

From the FTX homepage, select your name at the top right corner and click “Wallet.”

Once on the Wallet page, select the “Balances” tab and then click “All Balances.” Locate USD in the table on the bottom half of the screen (it should be the first entry). Click “withdraw” then select “Withdraw USDC.”

Second, withdraw your USD balance:

In the pop-up “Withdraw USDC” window, select “Withdraw USDC,” then enter the amount you wish to withdraw.

Withdraw USDC

Then navigate to your MetaMask wallet via the browser extension. Copy your MetaMask wallet address.

Copy MetaMask wallet address

Paste your MetaMask wallet address into the “USDC Address” field within the “Withdraw USDC” pop-up window. Then select “Ethereum ERC20” in the “Withdrawal Method” drop-down field. Lastly, enter in your FTX 2FA if you have that setup.

Paste MetaMask address into FTX withdrawal pop-up window

It should take less than 15 minutes for your USDC to appear in your MetaMask wallet. The withdrawal cost from FTX to MetaMask will vary depending on Ethereum network congestion. At the time of my withdrawal, the fee was 10 USDC. If you’ve waited over an hour and don’t see your USDC in your MetaMask, click “Refresh list” at the bottom of your wallet user interface.

View USDC in MetaMask

FTX to Phantom

First, navigate to your USD balance:

From the FTX homepage, select your name at the top right corner and click “Wallet.”

Once on the Wallet page, select the “Balances” tab and then click “All Balances.” Locate USD in the table on the bottom half of the screen (it should be the first entry). Click “withdraw” then select “Withdraw USDC.”

Second, withdraw your USD balance:

In the pop-up “Withdraw USDC” window, select “Withdraw USDC,” then enter the amount you wish to withdraw.

Withdraw USDC

Then navigate to your Phantom wallet via the browser extension. Copy your Phantom wallet address.

Copy Phantom address

Paste your Phantom wallet address into the “USDC Address” field within the “Withdraw USDC” pop-up window. Then select “Solana SPL” in the “Withdrawal Method” drop-down field. Lastly, enter in your FTX 2FA if you have that setup.

Withdraw USDC to Phantom wallet

It should take less than 5 minutes for your USDC to appear in your Phantom wallet. The withdrawal from FTX to Phantom should be free.

Step 4: Connect Blockchain Wallet to DEX and Trade

Once your USDC is in your blockchain wallet, you’re ready to start trading.

Like Step 3, I’ve split Step 4 into two parts. The first part covers using MetaMask to trade with Uniswap; the second covers using Phantom to trade with Orca.

  • Navigate to Uniswap if you want to trade Ethereum-based assets.
  • Navigate to Orca if you want to trade Solana-based assets.

Use MetaMask to trade with Uniswap

First, connect your MetaMask wallet:

In the Uniswap page, click on “Connect Wallet” in the top right corner

Uniswap homepage

In the “Connect a wallet” pop-up window, select MetaMask

Select MetaMask in Uniswap

MetaMask allows you to have multiple wallets. Select the wallet holding your USDC in the MetaMask pop-up window.

Select MetaMask wallet address with USDC balance

Click “Connect” to confirm the connection between MetaMask and Uniswap.

Confirm connection between MetaMask and Uniswap

Second, start trading using your USDC:

Click on the drop-down menu in the top entry of the center swap console and select “USDC.”

Select USDC in Uniswap to sell

In the bottom entry of the center swap console, click on the drop-down and select the token you want to purchase. In this example, I chose MATIC.

Select token in Uniswap to purchase

Enter the amount of USDC you want to trade for the purchase token. Then, allow Uniswap to use your USDC. Click on the blue banner “Allow the Uniswap Protocol to use your USDC” and then click “Sign” in the MetaMask pop-up window to approve.

Let Uniswap use your USDC

Click on “Swap” to confirm the trade. You can review the gas fees in the center console before executing the trade.

In my example, I’m trading $50 USDC for MATIC. Uniswap provided me with an estimated gas fee of ~$22. In the MetaMask confirmation window, gas fees jumped to ~$42.

I didn’t want to purchase $50 worth of MATIC and pay a $42 transaction fee, so I rejected the trade. Due to the congestion on the Ethereum network, I wouldn’t recommend trading on Uniswap unless you plan to trade >$1000.

Use Phantom to trade with Orca

First, connect your Phantom wallet:

In the Orca page, click on “Connect Wallet” in the top right corner

In the “Connect a wallet” drop-down menu, select Phantom and enter your password

Phantom allows you to have multiple wallets. Make sure the Phantom extension is set to the wallet holding your USDC

Second, start trading using your USDC:

Click on the drop-down menu in the top entry of the center swap console and select “USDC.”

In the bottom entry of the center swap console, click on the drop-down and select the token you want to purchase. In this example, I chose SHDW.

Enter the amount of USDC you want to trade for the purchase token. I specified $100 worth of USDC. Click on the “Fair price” drop-down to see transaction details along with the estimated gas fees. For my trade, the estimated Orca fees were 0.4 SHDW which was ~ $0.30 at the time of the trade. Note: the Orca fee is separate from the Solana gas fees. This fee supports the Orca DEX.

Click on “Exchange” in the center swap console to execute the transaction. Then select “Approve” in the Phantom pop-up window. In the pop-up window, you can see that gas fees on Solana are <0.00001 SOL (insanely cheap).

The trade will execute almost instantly, and you can see that my balance of SHDW increased.

Closing Statement

This content was put together in February 2022 so things may be different by the time you read this article. If you have any questions/need help, feel free to reach out or drop a comment.

--

--