Swap: one screen, every venue on Base
Swap trades any token on Base for any other. It is not an exchange of ours and it is not built on one venue — it is an aggregator: it asks several exchanges what they would give you, shows you all of their answers side by side, and executes the one you pick against that exchange's own contracts.
MPRO Lab never holds your funds. No deposit, no escrow, no custody: your wallet signs one transaction, and everything moves inside it. That transaction goes through the MPRO Lab swap router, a small contract of ours that does exactly two things — it takes the platform fee from the token you sell, and it passes the rest to the exchange that quoted you, checking that you received at least the minimum shown. It keeps nothing between transactions; if this platform disappeared in the middle of your trade, the transaction would simply not exist, and nothing of yours would be stranded anywhere.
The platform fee is shown in the summary before you confirm — currently 0.25 % of what you sell, taken in that same token. The estimate and the minimum received already have it deducted, so the number you see is the number you get. The fee goes to the same MPRO Lab wallet that funds licence minting.
You will find it at Swap in the menu. It shares a screen with Bridge — one tab each — because the two are the same errand: moving value, once between chains and once between tokens.
Where the prices come from
Every quote is read live from the blockchain, from four exchanges at once:
| Exchange | What it is |
|---|---|
| Aerodrome | Base's largest exchange — its standard pools, volatile and stable |
| Aerodrome Slipstream | Aerodrome's concentrated-liquidity pools |
| Uniswap v3 | Concentrated liquidity, four fee levels |
| Uniswap v2 | The classic constant-product pools |
And a fifth opinion from KyberSwap, an aggregator in its own right, asked in parallel. If KyberSwap beats everything we found, it is shown first and you can take it. We do not quietly bury a price that is better than ours.
Nothing here is a fork or a copy. These are the real, deployed contracts that everyone else on Base trades against, and the trade you send is indistinguishable from one sent from those exchanges' own websites.
How a route is found
For any pair, the page looks for two kinds of route:
- Direct — a pool holding both of your tokens.
- Two hops — through a common token when a direct pool is thin or missing. Your token to WETH, USDC, USDbC, DAI, cbBTC or AERO, and on to what you asked for.
Both legs of a two-hop route stay on the same exchange, so the whole trade settles in one transaction.
That search is wide: for a single pair the page asks around 170 questions about which pools exist, then prices every candidate it found. On a well-traded pair that regularly turns up dozens of distinct routes. The best five are listed, and one press shows the rest — nothing found is hidden, because a ranking you cannot inspect is a ranking you have to take on trust.
Quotes refresh on their own every fifteen seconds, and whenever you change an amount or a token.
The two numbers that decide a trade
Every route shows what it would return. Two more numbers sit under it, and they matter more than the headline.
Minimum received is the honest one. It is written into the transaction and enforced by the exchange: if the price moves so far that you would receive less, the trade fails instead of filling at a worse rate. The larger number above it is an estimate of a price that is still moving. The minimum is a promise.
Price impact is what your trade costs by being the size it is. A pool's price moves as you trade against it, so a large order gets a worse rate than a small one — that difference is the impact, and it is money you lose to the pool rather than a fee anyone charges you.
We do not estimate it from a formula. The page asks the same route for a thousandth of your amount and compares the two rates — so the number is measured against the pool you are actually about to trade with.
- Under 5 % — ordinary.
- 5 % and above — shown in amber. You are paying noticeably more per token than the market rate.
- 15 % and above — shown in red, and the button will not work until you tick a box saying you understand. At that point you are losing roughly a sixth of your money to the pool, and no interface should let that happen on a mis-click.
If your trade shows a high impact, the usual answer is that you are trading more than the pool can absorb: trade a smaller amount, or pick a route through a deeper pool.
What happens when you press the button
- The right chain. If your wallet is not on Base, you are asked to switch first. Nothing is signed before that.
- Approval, if needed. Selling a token (rather than ETH) means giving the exchange permission to move it. We ask for exactly the amount you are trading, to that one exchange — never an unlimited approval. A one-off permission that expires when it is used cannot be drained later.
- A rehearsal. Before your wallet asks you for anything, the exact transaction is run against the blockchain as a test, with no signature and no gas. If it would fail, you read a sentence explaining why and no wallet window ever opens. You do not pay to discover a trade was impossible.
- The transaction. You sign, you get the link to it immediately, and the page waits with you.
- What arrived. When it confirms, we report the amount read from your wallet — before and after — rather than repeating what the quote promised. If anything reduced it in transit, you see the real figure.
Settings
Behind the sliders icon:
Slippage tolerance — how far the price may move against you before the trade refuses to fill, between 0.1 % and 50 %. The default of 0.5 % suits most trades. Set it lower and a busy market may reject your trade; set it much higher and you accept a worse fill rather than a failure. It is the dial between "fail rather than pay more" and "fill it anyway".
Transaction deadline — how long your trade may sit unconfirmed before it expires by itself, twenty minutes by default. It stops a transaction that got stuck in a quiet moment from executing an hour later at a price nobody agreed to.
Both are remembered on your device.
Trading a token that is not on the list
The list holds the tokens with the deepest markets on Base. It is not a limit: paste any token's contract address into the search box and the page reads its name and decimals straight from the blockchain and offers it.
It will tell you plainly that the token is not on our list and that we do not vouch for it. Anyone can create a token and call it anything. Check the address against a source you trust before you trade — the page can tell you what a contract says about itself, and no more than that.
Tokens that take a fee on their own transfers
Some tokens deduct a percentage from every transfer. The page reads that behaviour for your wallet specifically before quoting, because such fees are often waived for some addresses.
When a fee applies, it says so, and it removes the routes that cannot deliver such a token — the concentrated-liquidity pools expect to receive exactly what was sent and refuse the trade otherwise. You are left with the routes that handle it correctly, rather than being offered one that reverts.
What Swap does not do
Said plainly, because a missing feature reads as a working one:
- It does not split one trade across exchanges. Each route uses a single exchange end to end.
- It does not rank by gas cost. Routes are ordered by what you receive. Base fees are a fraction of a cent, so a route that wins by a hair wins even if it costs marginally more to send.
- It does not do limit orders, and it does not work backwards from an amount you want to receive. You say what you are selling; it tells you what you get.
- It does not take a fee. MPRO Lab charges nothing on a swap. What you pay beyond the amount you are selling is the exchange's own pool fee and Base's gas — neither reaches us.
- It does not choose for you. The best route is selected by default and every other one is listed beside it with the exact difference. You can always take a different one.
If something goes wrong
Every failure is explained in a sentence rather than a code. The ones you are most likely to meet:
- "The price moved more than your slippage setting" — the market shifted between the quote and the confirmation. Refresh the quote, or raise your tolerance in settings.
- "You need a little ETH on Base to pay for gas" — every transaction on Base costs a small amount of ETH, including selling a token. Your tokens are untouched.
- "You cancelled the transaction in your wallet" — nothing happened, and nothing was charged.
- "We could not read the price" — we could not reach a blockchain node. This is our side, not yours; wait a moment and retry. It is deliberately worded differently from "no routes found", which means the pair genuinely has no pool to trade through — one is worth retrying and the other never will be.
If a failure is not one we have a sentence for, the page says so and records it, so it becomes one.