BaseStonk pools live in the canonical Uniswap v4 PoolManager on Base, with
a custom fee hook per launcher. Wallets cannot call the PoolManager
directly (v4 swaps happen inside an unlock callback), so trade through
BaseStonk’s router.
The router
Exact-in only. Approve the input currency to the router first.
Constructing the PoolKey
For any BaseStonk token:
Different launchers install different hooks, and a pool’s identity
includes its hook. An indexer that assumes one hook for every pool
computes pool ids that the other launcher’s swaps never match - those
tokens will chart flat while trading normally.
Two things every bot must handle
- The tax is taken inside the swap by the hook. Quote
minOut with
at least the token’s tax rate of headroom or the swap reverts. The
token’s rate is in its API record.
- Max wallet reverts oversized buys. A buy that would push the
recipient past a token’s holding cap reverts - surface it as reduce
size, not a generic failure. Oversized sells near the launch price can
also revert with
CurrencyNotSettled; see
the sell floor.