When a V2 token raises its target ETH, the curve closes and the remaining liquidity migrates to a Uniswap V4 pool with the InkyPump V2 hook attached. This is the bond event. It happens atomically in the transaction that pushes the cumulative raise over the target.Documentation Index
Fetch the complete documentation index at: https://docs.inkyswap.com/llms.txt
Use this file to discover all available pages before exploring further.
What gets created at bonding
The contract creates one new Uniswap V4 pool:| Field | Value |
|---|---|
| Token A | The launched token |
| Token B | WETH (0x4200000000000000000000000000000000000006) |
| Fee | 0.1 percent (1000 in V4 fee units) |
| Tick spacing | 60 |
| Hook | The InkyPump V2 hook at 0x4cC8F6d5B7cE150CCC0A9B7664532B1283b96AC4 |
- All ETH raised through the curve, paired with
- The liquidity supply of tokens computed by
SaleSplitCalculatorat launch
What happens to the curve
After bonding, the curve contract stops accepting buys and sells. Anybuy or sell call against the launch reverts. Trading moves entirely to the V4 pool.
The launch state stays readable. You can still call getLaunchState(launchId) and read everything about the curve.
What changes for traders
Before bonding, traders calledbuy or sell on the InkyPump V2 hook with a launch ID.
After bonding, traders swap against the V4 pool through the Uniswap Universal Router at 0x551134e92e537cEAa217c2ef63210Af3CE96a065. The InkyPump UI handles this switch automatically. From a user perspective the trade page looks the same and the buttons still say “Buy” and “Sell”.
Fees also change. Before bonding it was 2 percent total. After bonding it is 0.1 percent on the V4 pool.
What changes for the creator
The variable fee split still applies, but now it routes through the V4 hook on every swap instead of through the curve. The creator continues to earn from trades. The split is still controlled bycreatorFeeSplitBps.
The buyback portion still flows to a buyback that buys and burns the token from the pool.
Withdrawal is still done with withdrawFees() on the hook.
How to tell if a token has bonded
Three signals:- Call
getLaunchState(launchId)on the hook. The returned struct has a flag indicating whether the launch is finalized. - Listen for the
LaunchFinalizedevent. It is emitted in the same transaction as the bond. - In the UI, the bonding curve card on the trade page shows “BONDED” instead of a live progress percentage, and the chart switches from the curve to the V4 pool price.