HOOKWAY
One route through
every hook.
Launch, inspect, simulate and execute programmable tokens without making users understand the machinery underneath them.
Respects every hook's rules. Finds the valid path — never bypasses one.
Programmable tokens have a compatibility problem.
Extra accounts
A hooked transfer can need validation PDAs, config and per-wallet state. Miss one and the transfer fails.
Program state
Hooks read balances, allowlists, clocks and counters. Your wallet can't see those rules.
Special construction
Venues must forward hook accounts in the right order. Many can't.
Unreadable failures
“Simulation failed” isn't an explanation. Users deserve the actual rule.
Your wallet shouldn't have to understand every hook. That's our job.
From intent to execution, every hook accounted for.
The trade interface stays simpler than the system underneath it. Open the advanced panel any time to see every account, step and check.
- 01User intent
Swap, send or launch. Nothing else is asked of the user.
- 02Token inspection
Mint, program, Token-2022 extensions, authorities.
- 03Hook discovery
TransferHook extension → hook program ID → upgradeability.
- 04Account resolution
Validation PDA → ExtraAccountMetaList → seeds → addresses.
- 05Policy understanding
Manifest + adapter turn the hook's rules into plain English.
- 06Simulation
Every candidate route is simulated before it is shown.
- 07Valid route
Only routes the hook permits. Blocked routes say why.
- 08Transaction construction
Compute budget, ATAs, venue ix, hook accounts — in order.
- 09Execution
Sign, send, confirm. Re-simulate if state moved.
Know the route before you sign. Know why when there isn't one.
- ✓Mint inspectedToken-2022 · 3 extensions
- ✓Hook resolvedMax Wallet 1.2.0 · MaxWoq…
- ✓Hook program is immutableno upgrade authority
- ✓Validation account derivedseeds ['extra-account-metas', mint]
- ✓4 additional accounts resolved
- ✓Venue compatibleMeridian AMM
- ✓Wallet permittedMax Wallet adapter
- ✓Expected output calculated
- ✓Transaction simulation passed≈ 48,628 CU
- ✓Mint inspectedToken-2022 · 3 extensions
- ✓Hook resolvedMax Wallet 1.2.0 · MaxWoq…
- ✓Hook program is immutableno upgrade authority
- ✓Validation account derivedseeds ['extra-account-metas', mint]
- ✓4 additional accounts resolved
- ✓Venue compatibleMeridian AMM
- ×Blocked by hookPost-transfer balance exceeds token limit.
- Current balance
- 0.72%
- Expected
- 1.14%
- Token limit
- 1.00%
Reduce the amount to the maximum valid amount or below.
A launchpad and the infrastructure under it.
Hook Explorer
→Browse 100 hooked tokens and 30 hook programs. Filter by trust label, policy and venue support.
Token Inspector
→Paste a mint. Get extensions, hook program, upgrade authority, required state and a plain-English risk summary.
Router
→Asset in, asset out, amount. HOOKWAY resolves, simulates and ranks every venue.
Launchpad
→Launch hook-native: identity → hook → parameters → compatibility → simulate → launch.
Hook Registry
→Hooks as first-class objects: program, version, authority, schemas, compatibility, success rate.
Developer
→Manifest v0.1, SDK and API. Build the hook once. Route it everywhere.
An unknown hook is never a safe hook.
HOOKWAY labels what it can verify and says plainly what it can't. When account resolution, manifest checks or simulation fail, it fails closed — no route, no guess.
Read the security model- Verified
Source verified against the deployed program and manifest reviewed by HOOKWAY.
- Known
Recognised program with a published manifest; source not independently verified.
- Unverified
No verified source or manifest review. Simulation-only guarantees.
- Upgradeable
An upgrade authority can change this hook’s rules at any time.
- High Risk
Opaque behaviour, arbitrary CPI, or recent unexplained upgrades.
- Unsupported
HOOKWAY cannot resolve this hook’s accounts or simulate it safely. No routes.
Build the hook once.
Route it everywhere.
Describe your hook's accounts, config and error codes in a manifest. HOOKWAY cross-checks it against chain state and makes your token routable and explainable — without every wallet shipping custom code.
Developer docs// @hookway/sdk const hw = new Hookway({ connection }); const report = await hw.inspectToken(mint); const sim = await hw.simulateTransfer({ mint, from, to, amount }); if (!sim.ok) // “Post-transfer balance exceeds token limit.” showError(sim.blocked.reason); else await wallet.send(await hw.buildTransfer(sim));