Skip to main content
The Buy and Sell tabs on a token’s trade page submit different contract calls depending on whether the token is still on the bonding curve or has bonded to its Uniswap V4 pool. The UI hides this. The inputs you see and what they mean are the same either way.

Buying

You enter an ETH amount. The UI shows:
FieldWhat it means
Expected tokens outTokens you receive at the current curve price
Price impactHow much your buy moves the curve price
Fee2 percent of your ETH input on the curve, 0.1 percent on the pool
Min receivedThe slippage floor. If less than this would come out, the transaction reverts
The contract call on the curve is buy(launchId, minTokensOut, captcha). With a referral code in local storage, the UI calls buyWithReferral(launchId, minTokensOut, captcha, referralCode) instead. The minimum buy is MIN_BUY_ETH = 0.00001 ether per the contract. After bonding, buys route through the Uniswap Universal Router.

Selling

You enter a token amount. The UI shows:
FieldWhat it means
Expected ETH outETH you receive net of the fee
Price impactHow much your sell moves the curve price
Fee2 percent of the gross ETH on the curve, 0.1 percent on the pool
Min receivedThe slippage floor. If less than this would come out, the transaction reverts
The contract call on the curve is sell(launchId, tokenAmount, minEthOut, captcha). With a referral code, it switches to sellWithReferral. The minimum sell is MIN_SELL_TOKENS = 1 ether (1 token). After bonding, sells route through the Uniswap Universal Router.

How the preview works

The UI calls a view function on the V2 hook to compute the expected output before you sign:
  • For buys: previewBuy(launchId, ethIn) returns tokens out, cost, refund, and tokens remaining on the curve
  • For sells: previewSell(launchId, tokenAmount) returns the net payout and the fee breakdown
These functions are read only and free. They reflect the current curve state. After bonding, the preview comes from the Uniswap V4 Quoter at 0x3972C00f7ed4885e145823eb7C655375d275A1C5.

Anti-snipe behaviour

During the anti-snipe window (0 to 60 seconds after launch, set by the creator), buys and sells require a captcha signature. The InkyPump UI gets this signature automatically. Direct contract calls without the signature revert with CaptchaRequired(). See Anti-Snipe.

Refund on a partial fill

If you submit a buy that would push the curve past the bond target, the contract fills as much as it can on the curve and refunds any unused ETH in the same transaction. The bond happens as part of the same call. You end up with tokens at the curve price plus a refund. The UI shows this as a single combined buy. The transaction trace shows the refund.