Skip to main content
An execution quote answers “how many tokens or quote units will this call return?” USD valuation is a separate display layer and must not block a direct on-chain quote.

Pre-bond buy

On current deployments, call the launch’s own hook:
For a native launch, quoteIn, cost, and refund are native wei. For an xStocks launch, they are wrapper units.
If refund is nonzero, execution consumes only cost and returns the rest. A buy can sell the final curve inventory and finalize in the same transaction.

Pre-bond sell

The return amounts use the launch’s quote denomination. The buybackFee field name is historical; the current Ink deployment routes that share to holders.

Full-fill preview

Current hooks expose previewFill(launchId) for the exact external input needed to sell the remaining curve supply. It returns fee, user, buyback/holder-allocation, and refund fields in one struct. Use it only after resolving a compatible hookAbi. Older deployment families do not expose every current view selector.

Sale split before launch

Call this on the active hook or its configured viewer path. For xStocks, both price outputs use wrapper units.

Historical Ink previews

The deprecated Ink hook has a separate legacy viewer path. Resolve the token’s deployment first and use an ABI/viewer compatible with that deployment. Do not call the current Ink viewer with old state merely because both contracts are on chain.

Post-bond quote

Once getLaunchState(launchId).finalized is true, curve previews no longer describe the executable market. Corrected native hooks and current xStocks hooks expose the exact pool key:
Then quote through the canonicalV4.quoter from that deployment’s capabilities. The deprecated Ink deployment marked hookAbi: "ink-legacy" does not expose this getter. For those tokens, require all immutable indexed pool fields from GET /api/token, validate them, and derive the pool ID. See Post-Bond Pool. Never guess missing legacy values.
Do not assume the pool is token/WETH. Current native Ink launches use native ETH as the zero-address currency. xStocks pools use their wrapper.

Quote checks before signing

For every trade:
  1. Confirm chain, hook, launch ID, and lifecycle.
  2. Confirm the input asset and its decimals.
  3. Read or build the quote at a recent block.
  4. Compute the minimum output with integer math.
  5. Simulate the exact call with the current account and allowance.
  6. Requote after an account, chain, block, amount, or route change.

External asset conversions

ETH-to-wrapper, stablecoin-to-wrapper, and reverse paths need executable liquidity outside the launch curve. An indicative stock price or USD mark is not an executable route. Keep direct native or wrapper quotes available when an external provider fails. InkyPump’s market-route endpoint is currently a first-party service; third parties should not depend on it without an agreed origin and service policy.