Ah, the age old question - “Where’s the best place to buy crypto?”
We hear this so often in our Milk Road PRO Discord that we decided it’s better to write a whole-ass blog about it.
There are 3 main ways to buy crypto:
- Centralized exchange (CEX)
- Decentralized exchange (DEX)
- Directly from your non-custodial wallet
We’ll first break down the key differences between CEXs and DEXs; then, we’ll guide you step-by-step through methods #2 and #3. After all this, we'll break down problems you might have encountered along the way and how to deal with them.
Feel free to use the table of contents on the right (bottom of the screen if you're on your phone) to jump to any section you're interested in.
Alright, enough chit chat. Let’s get into the good stuff now.
Centralized Exchanges vs Decentralized Exchanges
I’m just gonna pause and be real with you here.
Trading on decentralized exchanges (DEXs) can be painful:
- You need to get the right token address
- Find a DEX that trades that token
- Make sure you have the correct wallet
- On top of all this, you need to have enough gas fees for each network you trade on.
Why is there no “one-stop solution” for all this?
Well, there actually is and it’s called a Centralized Exchange (CEX).
With CEXs, there’s no token address to worry about, no wallet setup, and no gas fees. Just simple, straightforward trading.
So, why does this blog focus on how to swap crypto onchain instead?
Because CEXs aren’t as perfect as they seem. They come with some serious drawbacks, like:
- They are centralized… duh
- They often exclude smaller tokens.
- They have geographical restrictions.
Let's dive a little deeper into each drawback:
They are centralized... duh
Centralization = your funds are at the mercy of the exchange.
If it collapses, your money could vanish just overnight.
Just ask our GM, Tyler—he was holding most of his $BTC on Celcius when it collapsed...
He now solely trades on DEXs because he can’t lose his hair for a third time now.
They often exclude smaller tokens
Since CEXs are centralized, they have to perform significant due diligence before listing a new asset.
So, when you discover the next big token trending on Twitter, chances are it won’t be listed on a CEX yet because it hasn’t been approved yet.
DEXs, however, allow trading of any token as long as you have the correct token address.
They have geographical restrictions
Crypto regulations differ by country, meaning not all CEXs operate everywhere.
For instance, Coinbase is mostly dominant in North America, while OKX is big mainly in Asia.
DEXs, on the other hand, are permissionless and can be accessed by anyone, anywhere—no restrictions.
Due to these major drawbacks, we prefer to swap crypto onchain.
As promised, below is a step-by-step guide on how to buy tokens on a DEX (method #2) and directly through your wallet (method #3).
How to Swap Crypto Onchain Using a DEX
Step 1: How to Find the Token Address
Crypto is rife with scams. A common trick? When a new token launches, scammers create a similar token with a nearly identical name to trap unsuspecting buyers. People end up purchasing the fake token and, worse, get their wallets drained.
We’re not here to scare you, but it’s something you should be aware of.
The good news? There’s an easy way to avoid this: always verify the correct token address using platforms like CoinGecko or CoinMarketCap.
Token address? What's that?
It's the unique identifier for a specific token. There can be many tokens with the same name but none with the same token address.
To find the token address, our go-to poison is CoinMarketCap so here’s a quick walkthrough to get you started. 👇
How to use CoinMarketCap to find a token address
Let’s say I want to buy some $PEPE.
Step 1.1: Head to CoinMarketCap and search for “Pepe.”
Sometimes the token you’re looking for might not appear, it’s likely not prominent enough. In that case, try DEXScreener—it’s a solid backup for smaller, less popular tokens (but beware there's a bunch of scam tokens on DEXScreener).
Step 1.2: Once you’re on the token’s page on CoinMarketCap, find “Contracts” on the left side of the page.

Step 1.3:Hit the copy button and you’re good to go.
Once you’ve copied the address, you can be confident you’re trading the legitimate $PEPE token—not a random scam.
The next step? Find a DEX to trade this token.
Step 2: Which DEX do I Choose?
We use Milk Road Swap (duh) to trade tokens on Ethereum, Base, Arbitrum, or Solana.
For any other blockchain you'll need to use CoinMarketCap again.
Step 2.1: Head to CoinMarketCap and search for “Pepe.”
Step 2.2:Scroll down to the section of “Markets”.

Here, you will find all the markets where the token is tradable.
More often than not, this list is dominated by centralized exchanges (because the majority of trading volume comes from CEXs).
To find the major DEXs that trade this token, just click on “DEX” to filter out all the other exchanges. 👇

You now have the list of DEXs that trade this token.
We recommend using Milk Road Swap if your token is on Ethereum, Base, Arbitrum or Solana. However, if it's not, choose the exchange with the highest volume and liquidity - in this case, Uniswap.
Step 3: Paste the Token Address on the Decentralized Exchange
You currently have:
- The token address
- The DEX you want to trade on
The next step is simple: Paste the token address on your desired DEX.
In our example, you paste the address on Milk Road Swap, and voilà—the legit $PEPE token will show up.

Step 4: How to buy a token on a DEX
Congrats, you’ve now reached the final step of this process.
Step 4.1: Click on “Connect Wallet”
There will be a pop-up with multiple wallet options.

Choose the wallet you are most familiar with but we’re going to go ahead with Phantom.
If you’re new to crypto, download Phantom wallet asap (it’s the only wallet where you can transact across Bitcoin, Ethereum, Solana and Base).
Step 4.2: Choose the network you wish to trade on.
Milk Road Swap has 6 options: Ethereum, Solana, Base, Arbitrum, Gnosis Chain and Sepolia (an Ethereum testnet).

Step 4.3:Input the amount of $PEPE you wish to buy.
Check how much the transaction will cost under “Estimated Fees”.
Note: You will need to hold extra $ETH in your wallet to pay gas fees for your transaction.

Step 4.4: Click on “Swap”
This will trigger a pop-up from your Phantom Wallet.

Click on “Confirm” and you’re all done.
You have successfully bought $PEPE from a DEX!
That’s it for Method #2—let’s move on to Method #3.
How to Swap Crypto Onchain Inside Your Wallet
Step 1: Which wallet do I use?
There are (too) many wallets in crypto.
And each one only works on specific networks.
So before you go scour the web on which wallet you should use, we’ll give you the answer right here.
Here are the 3 wallets we would recommend:
| Milk Man's Favorite Wallets | Networks Supported |
|---|---|
| Phantom Wallet | Solana, Ethereum, Bitcoin, Base and Polygon |
| Coinbase Wallet | Ethereum, Solana, Bitcoin, Dogecoin, Litecoin and multiple Ethereum Layer 2 (L2) networks. |
| Rabby Wallet | Most EVM-compatible networks |
We’ve tried plenty of wallets (MetaMask, Coinbase Wallet, you name it), but Phantom is hands-down the easiest to use.
That’s why the rest of this guide is all about how to buy tokens directly through your Phantom wallet.
Step 2: Find the Token Address
We’re not going to walk through this again.
It’s the same process outlined in step 1 of method #2. Scroll up to check it out if you haven’t already.
Step 3: Paste Token Address on Wallet
Step 3.1: Open your Phantom wallet and click on “Swap” or the middle toggle at the bottom of the screen.

Step 3.2: By default, the "You Pay" asset (asset you will sell) will be set to $SOL.
If you wish to trade ERC-20 tokens (such as $PEPE), you need to set your "You Pay" asset to $ETH (as shown below).

Step 3.3: Now, you can paste $PEPE's token address and the legit token will pop up.

Step 4: Buy Token on wallet
Step 4.1:Input the amount of $PEPE you wish to buy.
This is how your screen might look:

There’s a lot happening in this picture so let us break it all down:
Provider: Uniswap V4 via 0x
This is telling you where your transaction is taking place.
As Phantom doesn’t have a DEX of its own, it gathers quotes from various Ethereum-based DEXs.
In this case, Uniswap via 0x (0x is a DEX aggregator) is providing the best quote for the swap.
Price: 1 ETH = 327,124,110 $PEPE
This is the exchange rate at which you are swapping $ETH for $PEPE.
Fees: $3.26
Total fees = Ethereum gas fees + Phantom’s transaction fees
While it’s true that buying crypto through your wallet is simpler, convenience comes at a cost:
- Uniswap: Fee rate of 0.25%
- Phantom: Fee rate of 0.85%
That’s more than 3x the cost on Phantom! This is why we prefer trading directly through a DEX (like Milk Road Swap).
Anyhoo, let’s get back to the walkthrough.
Step 4.2: Once you’ve reviewed the details for the transaction, click on the “Swap now” button.
Note: You will need to hold extra $ETH in your wallet to pay gas fees for your transaction.
Once you see the confirmation below, you have successfully bought $PEPE directly from your Phantom Wallet. 🎉

Problems you might face when you swap crypto onchain
Most of you probably had a smooth experience, but some of you might have hit a snag along the way.
No worries—here’s a list of common issues you might’ve faced. Simply click on the dropdown for step-by-step guidance to resolve them.
To Sum It Up
Long story short: we prefer to swap crypto onchain instead of a CEXs.
Within onchain trading, DEXs are our top choice—they’re significantly cheaper than buying directly through a decentralized wallet.
That said, centralized exchanges are a great starting point for beginners.
Once you’ve got the hang of things, consider switching to decentralized exchanges like Milk Road Swap to take full control of your tokens.







![CoinRabbit Review [year]: Pros, Cons, & Features](/_next/image/?url=https%3A%2F%2Fmilkroad.b-cdn.net%2F6955406aab8ef4954fca8966620dd4af5fce31c4-1400x786.png%3Fw%3D600&w=3840&q=75)
![Peoples Reserve Review [year]: Get a Mortgage with $BTC?](/_next/image/?url=https%3A%2F%2Fmilkroad.b-cdn.net%2Fd45ac201ff1ea0b81c9f815989631d642012a4c8-1400x786.png%3Fw%3D600&w=3840&q=75)