1
Read the token record
GET /api/launchpad/tokens/{address}?chain={chain} - pair, hook (curve), tax (buyTaxBps / sellTaxBps, or taxBps pre-V6). One batched call beats a loop; a 429 is refused, never empty.2
Build the PoolKey
(token, pair, 3000, 60, hook). The hook is part of the pool’s identity - the per-generation trap.3
Quote at the live rate
AdvancedFeeHookV6.taxFor(key, zeroForOne) - includes the anti-sniper toll on a fresh launch. Set minOut with at least that headroom. The three rules4
Swap through the router
Exact-in, approve first. The router
5
Decode reverts by name
CurrencyNotSettled is reduce size. HopTooThin (0xb5377e60) is the pair’s feed refusing, raised by a contract the launcher calls. The table
