How to swap tokens at the best price without giving up custody
Swapping one token for another does not require handing your coins to an exchange. With a non-custodial swap, an aggregator finds the best price across many liquidity sources, and your wallet signs the transaction directly — custody never changes hands. What follows is where the price comes from, which costs are hiding in a quote, and how to tell a good execution from a bad one.
Where the liquidity actually is
On-chain trading does not use an order book with buyers and sellers waiting to be matched. Most of it runs on automated market makers: pools holding two tokens, where the price is set by the ratio between them. You trade against the pool, and your trade changes that ratio, which changes the price.
There are thousands of these pools spread across many decentralized exchanges, and the same pair exists in several of them at different depths. A pool holding ten million dollars of liquidity will barely notice a five thousand dollar swap. A pool holding fifty thousand will move sharply against you for the same trade.
This is why the same swap can return noticeably different amounts depending on where it is executed, and why picking a venue by habit costs money on anything but the deepest pairs.
What an aggregator does with that
An aggregator queries the available venues, simulates your specific trade size against each, and returns the route that leaves you with the most tokens. Often the answer is not a single venue at all — splitting an order across three pools can beat the best single one, because each slice moves its pool less than the whole order would.
The advantage grows with size. On a small swap the difference between venues might be a rounding error next to gas. On a large one, routing is frequently the difference between a fair fill and a painful one.
The aggregator only computes and builds. It never holds your tokens, and it cannot execute anything without a signature from your wallet.
The three costs inside a quote
Price impact is what your own trade does to the price. It comes from pool depth relative to your size, it is not a fee anyone charges, and it is the cost most people miss. A quote showing significant price impact is telling you the pool is too thin for your order — splitting the trade or choosing a deeper pair is usually cheaper than accepting it.
Slippage is the gap between the quoted price and the executed one, caused by other trades landing between your quote and your confirmation. Slippage tolerance is the ceiling you set on that gap: too tight and the transaction reverts and wastes gas, too loose and you can be filled at a materially worse price. For deep, stable pairs a fraction of a percent is normal; volatile or thin tokens need more room and deserve more caution.
Gas is the network fee for including your transaction, paid in the chain's native token regardless of which tokens you are swapping. This is why you need a little ETH on Base to swap USDC on Base — the tokens you hold and the token that pays the fee are separate concerns.
Why the first swap of a token takes two steps
Before a contract can move an ERC-20 token on your behalf, you have to grant it permission. That approval is its own transaction, which is why a first-time swap can ask you to confirm twice: once to approve the token, once to perform the swap. Subsequent swaps of the same token usually need only one.
Newer flows replace the on-chain approval with a signed message — you sign a permit that authorizes a specific amount for a limited time, with no gas cost for the approval step itself. It looks unfamiliar because your wallet shows structured data rather than a plain transfer, but it is generally the safer pattern: the permission is bounded rather than open-ended.
Either way, read what you are approving. An unlimited approval to a contract you did not intend to use is one of the few ways a self-custody wallet loses funds without the owner signing an obviously wrong transaction. Approvals can be revoked later, and reviewing old ones periodically is a good habit.
Reading a quote before you sign
Compare the amount received, not the headline rate. The rate is a nice round number; the received amount is what actually arrives after routing, impact, and fees.
Check the network. Swapping on the wrong chain is a common and entirely avoidable mistake, and the same token symbol exists on several of them.
Sanity-check the token itself. Anyone can deploy a token called USDC. If you are trading something obscure, confirm the contract address rather than trusting the symbol.
Watch the gas estimate against the trade size. A five dollar swap costing four dollars in gas is not a trade worth making — move to a layer-2 network or batch it into something larger.
How swaps work on 1stopcrypto
Swaps are routed through a DEX aggregator across Ethereum, Base, Arbitrum, Optimism and Polygon. The terminal shows the expected output, the estimated network cost, and our fee before anything reaches your wallet for signature.
When a token needs an approval first, the terminal names the step for what it is rather than showing you two identical confirm buttons — an approval is not a swap, and a prompt that says otherwise trains people to click through things they should read.
The transaction is signed in your own wallet and broadcast from there. We never take custody of either side of the trade, and a failed or rejected signature costs you nothing but the gas of a reverted transaction, if it reached the network at all.
Frequently asked questions
Is a non-custodial swap safe?+
The swap itself is signed by your own wallet, so custody never leaves you. The real risks are approving a transaction you have not read and interacting with an unknown token contract. Both are avoidable by checking the details before confirming.
Why is an aggregator price better than a single DEX?+
It compares many liquidity sources for your specific trade size and can split the order across several pools, which reduces price impact compared with pushing the whole trade through one venue.
Why did my swap ask me to confirm twice?+
The first confirmation grants permission to move that token; the second performs the swap. It happens on the first swap of a given token, and later swaps of the same token normally need one confirmation.
What slippage tolerance should I set?+
Deep, liquid pairs are usually fine with a few tenths of a percent. Thin or volatile tokens need more room or the transaction will revert. Setting it very high is not a fix — it just means you have agreed in advance to accept a worse fill.
Why did my quote change while I was looking at it?+
Quotes are live. Other trades against the same pools move the price, so the terminal refreshes to show what you would actually receive now rather than leaving a stale number on screen.
Can I swap tokens across two different chains?+
A swap happens within one network. Moving value between chains is a bridge, which is a separate operation with its own risks. Check which network your tokens are on before you trade.
Related guides
See it in the live terminal
Charts, indicators, and best-price swaps — wired to your own wallet.
Open the terminal