This post is part of a series on how everyday investors can understand the word "fees" in the context of blockchain networks.
A fee is a payment required for a service rendered or access to a privilege. In general, it's a fixed amount paid by an individual, business, or government entity. Fees are everywhere in our lives, from legal fees and membership fees to filing fees. We spend much of our lives paying fees of some kind.
Fees are distinct from other types of payments in a few ways. First, they are typically negotiated before the service is rendered or the privilege is granted. Second, they are typically tied to a specific transaction rather than an ongoing relationship.
Buying crypto can be done onchain or offchain. The process from a convenience perspective is pretty similar, which makes fees one of the only real points of differentiation.
You want to buy some SOL. You have $100 in your bank account and want to invest it in SOL, the native token of the Solana blockchain network. How much of that $100 actually ends up as SOL in your hands, and how much gets eaten away as fees? In this article, we will walk through what it would look like investing on two very different types of platforms: a centralized exchange (Coinbase) and an onchain, non-custodial trading app (Meridian). There are different fees found at each step in this process.
Please note
The numbers below are from a single point-in-time comparison. They change constantly: by asset, by moment, by market conditions. The point isn't which platform "wins." It's showing you every place where fees live so you can do this comparison yourself.
Going from a bank account to holding crypto (on-ramping)
Before you can buy anything, you need to get your dollars from your bank account into crypto. This is often referred to as on-ramping.
On Coinbase, with full KYC and an ACH transfer, the on-ramp is free. Your $100 stays $100. Coinbase can likely offer this because of their scale, their banking infrastructure, and the fact that they co-own Circle, the issuer of USDC. They have leverage most platforms don't.
On Meridian, the on-ramp costs 0.5%. This fee isn't charged by Meridian but by a third-party on-ramp service provider. Meridian is non-custodial, meaning they never hold your funds. They rely on an external service for this step, and that service has a cost. Your $100 becomes $99.50.
There's a workaround worth knowing about: you could on-ramp for free through Coinbase, get USDC on the Solana network, and then send it to your Meridian wallet for a gas fee of ~$0.001. You avoid the 0.5% entirely, but you're adding steps and complexity. Whether that's worth it depends on how comfortable you are navigating between platforms.
Swapping from USDC to SOL
Now you're on the platform with some money. Time to swap your USDC for SOL. At this point, there are two types of fees to worry about: explicit fees, which are clearly outlined, and implicit fees, which are baked into the price you get executed at.
On Coinbase, the app quotes a 1% spread and an explicit fee of $1.84 on a $100 purchase of SOL. After those fees, you end up with about $98.16 worth of SOL, which came out to roughly 1.19 SOL at the time of comparison. One thing to understand here: the price you see on Coinbase is the price quoted by market makers on Coinbase specifically. It's not necessarily "the market price"; it's just the price on Coinbase.
On Meridian, the explicit trading fee is 0%. Similar to Coinbase, there is still a spread. The exact amount of the spread varies constantly and is based on the venues Meridian is routing you to. You're not interacting with one exchange like in the Coinbase case. You're being routed across many liquidity sources. The upside is that this aggregation can often get you a better price. The downside is you can't easily see what the spread is on any single source. At the time of this comparison, $99.50 on Meridian bought roughly 1.23 SOL.
Holding for some time
Fortunately, this step is free on both platforms. Your SOL just sits there. Neither Coinbase nor Meridian charges a platform fee or ongoing holding cost. On Coinbase, your assets are held in their custodial infrastructure. On Meridian, they're in your own self-custody wallet.
No subscription is required on either platform to simply hold. Some other platforms do charge a fee for holding assets on the platform.
Selling SOL for USDC
When it's time to exit, the fee structure works the same way it did when buying. Let's assume SOL's price hasn't changed so we can isolate just the impact of fees.
On Coinbase, you're starting with $98.16 worth of SOL. Expect a similar setup to the buy: an explicit fee on the sale plus a spread. Applying a comparable ~1% spread and ~$1.84 fee on the way out, you'd end up with roughly $95.34 in USD on Coinbase.
On Meridian, you're starting with $99.50 worth of SOL. The explicit fee remains 0%. The implicit spread still applies, with the same routing dynamics and variability. Your trade gets routed across multiple onchain venues, and the rate you get depends on the liquidity available at that moment. After the spread, you'd end up with roughly $99.50 minus whatever the spread takes. With no explicit fee eating into it, you're holding onto more. For the sake of tracking, let's estimate you end up with ~$98.50 in USDC.
Going from holding crypto to money in a bank account (off-ramping)
You've sold your SOL. Now you have USD on Coinbase or USDC on Meridian, and you want it back in your bank account.
On Coinbase, the off-ramp is free if you opt for ACH. This mirrors their on-ramp advantage. They have the infrastructure and banking relationships to make this seamless. Your ~$95.34 lands in your bank account more or less intact.
On Meridian, there's no direct off-ramp built into the app. What you'd actually do is send your USDC from your Meridian wallet to a centralized exchange like Coinbase and off-ramp from there for free. The send itself just costs a Solana network transaction fee, which amounts to fractions of a penny. Your ~$98.50 in USDC arrives on Coinbase essentially intact, and then you off-ramp for free just like a native Coinbase user would. You end up with roughly ~$98.50 back in your bank account.
After the full round trip, bank account to SOL and back, you're looking at roughly ~$95.34 on Coinbase and ~$98.50 on Meridian from your original $100. That gap is more meaningful than it might look on a single trade, and it's the kind of difference that compounds over years of investing.
Taxes
This "fee" is the same regardless of platform. If your SOL appreciated over those ten years, you'll owe capital gains tax on the profit when you sell. The rate depends on how long you held (long-term vs. short-term) and your tax situation.
It's worth noting that stablecoin fluctuations can technically be taxable events. USDC is designed to hold a $1 peg, but it does fluctuate slightly. If you bought USDC at $0.999 and sold at $1.001, that's technically a gain. In practice, this is often negligible, but it's something to be aware of, especially if you're holding stablecoins for extended periods between steps.
The Full Picture
Here is how the fees break down for the full lifecycle of the investment:
| Step | Coinbase | Meridina |
|---|---|---|
| On-ramp | Free → $100.00 | 0.5% → $99.50 |
| Swap | ~$1.84 + ~1% spread → $98.16 | Free + variable spread → ~$99.50 |
| Hold | Free | Free |
| Sell | Fee + spread → ~$95.34 | Variable spread → ~$98.50–$99.00 |
| Off-ramp | Free → ~$95.34 | Send USDC to Coinbase (negligible network fee), off-ramp free → ~$98.50–$99.00 |
| Taxes | Capital gains | Capital gains |
What's clear from this exercise is that there are many fees to consider when making investments on blockchain rails. Coinbase wins on the on-ramp and off-ramp. Meridian wins on trading fees. The spread is a moving target on both, but the onchain aggregation approach can sometimes deliver a better price per token.
The Jack Bogle lesson applies here just as much as it does to ETFs: these fees compound over time, and the differences that seem small on a single $100 trade start to matter when you're investing regularly over years. The 0.9% difference between getting 1.19 SOL and 1.23 SOL might not seem consequential, but do that math across dozens of trades and a decade of compounding, and it adds up.
Conclusion
The main takeaway should be to do a head-to-head comparison for yourself when making these decisions. Don't just look at the explicit fee on the trade screen and call it a day. Walk through every step (on-ramp, trade, hold, sell, off-ramp) and add it all up. Compare platforms for the specific asset you want to invest in.
The crypto fee landscape appears to be moving toward zero explicit trading fees, but implicit fees aren't going anywhere. The more you understand where they hide, the better equipped you are to make decisions that actually serve your long-term investment goals.
