Skip to main content
This guide walks through integrating the InkyPump V2 hook into a JavaScript or TypeScript application. Examples use viem. The same calls work with ethers, web3.js, or any other library.

Setup

The hook ABI is published as part of the InkyPump SDK or can be pulled from the ABI page.

Read launch state

If state.finalized is true, the token has bonded. Route trades through the V4 pool instead.

Preview a buy

Previews use the LaunchViewModule at 0xce83E3659251116d114Ec1CA729ffB49B99403c3 with state read from getLaunchState. The hook also exposes wrapper preview functions, but the working path used by the InkyPump frontend is the view module call below.

Execute a buy

For trades after the anti-snipe window has passed, the captcha argument can be empty:

Listen for events

For referral events:

Create a launch

Withdraw creator fees

The hook sends your accrued ETH balance to the caller.

After bonding

Once getLaunchState returns finalized: true, trade through the Uniswap Universal Router at 0x551134e92e537cEAa217c2ef63210Af3CE96a065. The pool fee is 0.1 percent. Use the V4 Quoter for previews. For the pool key, derive it from the token and WETH:
The Universal Router takes a path encoded against this pool key. See the Uniswap V4 router docs for the full encoding.

Where to test

For a quick read-only test against the live system, read a launch state:
If the call returns a hex blob (the encoded LaunchConfig) without reverting, your setup is talking to the live hook correctly.

Doing this from your editor

The InkyPump MCP server wraps the hook so you can call these functions through Claude Code or Codex without writing the integration yourself. Useful for one off launches and testing.