Developer console simulated
Walk the full developer flow: register an app, install the SDK, prepare a HookCall, inspect it, simulate every stage and receive a receipt. No credentials, no network calls, nothing on-chain.
Create an app
An app is the Solana caller WORMHOOK accepts HookCalls from. In phase 2 this registers your program with the router.
Install the SDK
The skeleton SDK exposes the final call surface. send() is disabled until phase 2; simulate() runs locally.
npm i @wormhook/sdkimport { WormHookClient } from "@wormhook/sdk";
const client = new WormHookClient({
network: "devnet",
appId: "<create an app first>",
});Prepare a HookCall
Choose a registered hook and action, then fill the payload. Expiry and nonce are set by the client.
Inspect the payload
This is what the router would post. The call ID is deterministic, so a retry can never execute twice.
Run the simulation
Plays the ten-stage lifecycle with compressed timings. Pick an outcome to see how each failure surfaces.
Receive the receipt
Every outcome that can produce a receipt does. waitForReceipt() rejects only when no receipt can exist.