V2 or V3
Fees come from BOT Chain’s DEX core concepts.
Liquidity decides the price you get, not the version. On testnet on 2026-10-01, quoting 0.0005 WBOT to USDT returned 0.000512 USDT on the 0.05% V3 pool, 0.005159 on the 0.30% pool and 0.001093 on the 1.00% pool. Testnet pools are thin, so prices vary widely. Always quote every candidate pool and pick the best.
How a swap works
- Quote. Ask the router or quoter how much you’d get for your input, at the current pool state.
- Set a minimum. Take a little off the quote for price movement. See Slippage and deadlines.
- Approve. Let the router spend your input token. Approve only the amount you’re swapping. Native BOT needs no approval.
- Simulate. Run the swap as a call first. If it would revert, you find out without paying gas.
- Send with a deadline, so the swap can’t execute much later at a stale price.
Quotes are not promises
A quote reads the pool at one moment. Between the quote and your transaction, other trades can move the price. The minimum output you pass to the router is what protects you: if the swap would return less, it reverts. V3 quoting has one more detail. QuoterV2’s functions aren’t markedview: they run the swap and revert to return the result. Call them with simulateContract (or eth_call), never in a transaction.
The UniversalRouter
BDEX also deploys a UniversalRouter and Permit2, listed in Contract addresses. The UniversalRouter takes encoded commands rather than plain function calls, and the BDEX routing API that builds those routes isn’t public. These guides use Router02 and SwapRouter directly.Next steps
Swap on BDEX V2
Quote, approve and swap with Router02.
Swap on BDEX V3
Find a pool, quote with QuoterV2 and swap.
Slippage and deadlines
Pick safe defaults.
BDEX API
List pools and tokens over HTTP.