hook_address, launch_id, denomination_kind, and lifecycle from GET /api/token.
Route by lifecycle
Do not replace an older token’s hook with the active creation hook.
Native curve buy
msg.value is the native input. Set minTokensOut from a fresh preview and your slippage policy.
Native curve sell
tokenAmount of the launch token to the exact hook before selling. Do not approve the current creation hook when the token belongs to another deployment.
xStocks curve buy
quoteIn of the xStocks wrapper to the launch’s per-asset hook. The wrapper, not its rebasing underlying, is the canonical quote asset.
Referrals
Native deployments can exposebuyWithReferral and sellWithReferral. Contract-event referral codes and permanent fee-earning referral bindings are separate systems. Do not assume an emitted string created a cash referral binding.
See Referral API for the signature-based binding flow.
Anti-snipe authorization
{ deadline: 0, signature: 0x }. During the window, the signature must bind the wallet, chain, hook context, launch, and deadline.
The current captcha signer endpoint is a first-party service protected by Turnstile and origin policy. Third-party launchpads should set antiSnipeDuration to zero unless InkyPump has enabled their origin and captcha flow.
Fees
Current checked curve deployments charge a 1% protocol fee and a 1% variable fee. The creator receivescreatorFeeSplitBps of the variable fee.
The rest of the variable fee is deployment-specific:
- Current Ink uses holder fee sharing.
- Older Ink uses buy-and-burn.
- Other deployments must be read from their versioned capability data.
Events
price and ethAmount use wrapper quote units despite the historical field name.
The canonical Trade topic is:
After bonding
Resolve the deployment before reading the pool. Corrected native hooks and current xStocks hooks expose the getter:hookAbi: "ink-legacy" and does not expose that selector. For it, reconstruct the key only from the complete indexed pool_currency0, pool_currency1, pool_fee, pool_tick_spacing, pool_hook, and pool_id values returned by GET /api/token.
In both cases, verify the token and launch identity, currency pair, original hook, positive fee, nonzero tick spacing, and the derived pool ID. The derived ID is keccak256(abi.encode(currency0, currency1, fee, tickSpacing, hooks)) and must equal the 32-byte launch ID. Fail closed when legacy fields are missing. See Post-Bond Pool for the full procedure.
For current native Ink launches, the quote currency is native ETH represented by the zero address. A token/WETH key is not the same pool.
Converted payment assets
Paying with ETH or a stablecoin for a wrapper-quoted launch needs a separate executable conversion route into that wrapper. The reverse applies on sell. A USD mark does not provide route liquidity. InkyPump’s market-route APIs use first-party origin and rate controls. Until a partner route contract is agreed, the safest external integration is:- Native quote asset for native launches.
- Exact wrapper quote asset for xStocks launches.
- InkyPump trade-page link for optional converted assets.
Slippage and freshness
- Preview immediately before simulation.
- Compute minimum output with integers.
- Simulate the exact approval and trade path.
- Bind the shown quote to chain, hook, launch ID, input asset, amount, block, and expiry.
- Requote when any bound value changes.
- Treat an RPC or route error as route-specific; keep valid direct quote-asset trading available.