HUKT turnout markHUKT

Solana · Token-2022 · Transfer Hook

Every transfer gets caught.

HUKT is a Token-2022 transfer-hook framework — a verified hook library, an on-chain registry with attestation, and an extra-account resolver that makes transfer-hook tokens safe to integrate.

CAHW8cwBUHhciAuZjuetEvhJ1JcrFzZDSLbhPXSj9pump
Hooks deployed
Transfers hooked
Tokens
Attested
Anchor 0.31Solana mainnetToken-2022

The problem

Hooks stall at the throat.

A Token-2022 transfer hook runs inside the token program on every transfer. Before the transfer can settle, the caller has to read the mint's ExtraAccountMetaList and append the exact extra accounts the hook expects, in the exact order. Miss one and the whole instruction fails.

That burden lands on everyone downstream. The hook was meant to enforce a rule; instead it strands the token, because hand-resolving accounts per mint is work no integrator signed up for.

  • Wallets must fetch the mint's ExtraAccountMetaList and append every extra account, in order, or the send fails.
  • DEX routers have to resolve the same accounts per hop, so a hooked token silently drops out of routes.
  • Programs that move the token by CPI must forward the exact accounts the hook expects, per mint.

So most integrators avoid hooked tokens altogether — and the rule never gets enforced.

Close-up of a classification-yard retarder rail catching a wagon
Retarder rail · every car is caught before it couples

The yard

One framework catches every transfer, then makes it safe to integrate.

HUKT builds the hook, proves it, and resolves the accounts every integrator needs — five tracks off a single hump.

  1. 01

    Verified hook library

    Eight audited transfer-hook presets you compose, instead of writing validation from scratch.

  2. 02

    On-chain registry + attestation

    Every deployed hook is cataloged, attested, and scanned for malicious patterns before a wallet trusts it.

  3. 03

    Extra-account resolver SDK

    Reads a mint's ExtraAccountMetaList and returns the exact accounts a transfer needs, in one call.

  4. 04

    Composability adapter

    Injects those extra accounts automatically when a hooked token moves through an integrating program.

  5. 05

    No-code builder

    Compose presets into a single hook and generate the deployable program with its ExtraAccountMetaList wiring.

Classification

Sort every transfer into its lane.

Five tracks make up the framework. Compose presets in the builder today; the resolver, registry, adapter, and CLI arrive on the same rails.

Extra Account Resolver SDK

Live

Reads a token's ExtraAccountMetaList and resolves the exact extra accounts each transfer needs, so integrators pass one call instead of hand-building account lists.

Open the lane

Hook Registry

Live

An on-chain registry that catalogs deployed transfer hooks with attestation and malicious-pattern scanning, so wallets can verify a hook before trusting it.

Open the lane

Composability Adapter

Live soon

Injects the required extra accounts automatically when a hooked token moves through an integrating program, keeping every transfer safe to compose.

Hook Builder

Live

Compose validated presets into a single transfer hook and generate the deployable program with its ExtraAccountMetaList wiring.

Open the lane

CLI SDK

Live

Scaffold, inspect, and attest transfer hooks from the command line with hukt-cli and the @hukt-labs/resolver package.

Open the lane

Hook presets

ProceedsHaltsConditional
  • Royalty

    Verifies that a creator royalty is honored on every transfer; because a transfer hook only validates, the payment itself is collected through the Token-2022 transfer-fee extension or a paired escrow.

  • Whitelist

    Permits a transfer only when the counterparties are on an approved allowlist, failing every other transfer at the token-program level.

  • Blacklist

    Halts any transfer that touches a flagged address, failing the instruction before the tokens settle.

  • Vesting

    Blocks transfers until an on-chain cliff has passed, then allows them to unlock linearly over a set duration.

  • AntiBot

    Throttles bursty activity by rejecting transfers that exceed a per-transfer size cap or arrive before a cooldown has elapsed.

  • KYCGate

    Requires each counterparty to hold a valid attestation from a named provider before a transfer is allowed to proceed.

  • FeeOnTransfer

    Enforces a proportional fee condition on every transfer; the hook validates it while the Token-2022 transfer-fee extension or an escrow moves the fee.

  • Soulbound

    Makes the token non-transferable between wallets, allowing only mint and burn so holdings stay bound to their owner.

Demonstration mint

Demonstration set

One mint, three hooks, every transfer caught.

The demonstration mint runs three composed hook programs at once. Each transfer rolls over the hump, and each hook decides its lane — proceed, hold, or halt — before the tokens settle.

HuKtYardRai1C1assif9Trackz7mNpQrStVwXbCdEfGh
oqht2...D22hhProceeds
RoyaltyWhitelist

Attested · 3 recent runs shown

9G7Lf...FJf1zHalts
Blacklist

Attested · 3 recent runs shown

SXRPV...aSY4YConditional
VestingAntiBot

Unattested · 3 recent runs shown

48,213 demonstration transfers hooked

Resolve it in the Inspector

Station board

$HUKT

The framework's utility token. It is used to post attestation bonds in the hook registry and to unlock builder access — a standard Token-2022 mint, no more moving parts than the yard needs.

Token-2022UtilityAttestation bondsBuilder access
CAHW8cwBUHhciAuZjuetEvhJ1JcrFzZDSLbhPXSj9pump

hukt.fun

Couple up

Bring a mint to the hump.

Inspect a hooked mint, compose a hook in the builder, or wire the resolver into your integration — every transfer gets caught the same way.

npm i -g hukt-cli

Ships with the CLI SDK