Skip to content
Mainnet Live. All executions, addresses and hashes are live.
WORMHOOK

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.

  1. 1Create app
  2. 2Install SDK
  3. 3Prepare HookCall
  4. 4Inspect payload
  5. 5Run simulation
  6. 6Receipt
01

Create an app

An app is the Solana caller WORMHOOK accepts HookCalls from. In phase 2 this registers your program with the router.

02

Install the SDK

The skeleton SDK exposes the final call surface. send() is disabled until phase 2; simulate() runs locally.

terminal
npm i @wormhook/sdk
client.ts
import { WormHookClient } from "@wormhook/sdk";

const client = new WormHookClient({
  network: "devnet",
  appId: "<create an app first>",
});
03

Prepare a HookCall

Choose a registered hook and action, then fill the payload. Expiry and nonce are set by the client.

Destination: Base · Mint Mirror
04

Inspect the payload

This is what the router would post. The call ID is deterministic, so a retry can never execute twice.

simulated
05

Run the simulation

Plays the ten-stage lifecycle with compressed timings. Pick an outcome to see how each failure surfaces.

simulated
Simulation outcome
local only · no network
06

Receive the receipt

Every outcome that can produce a receipt does. waitForReceipt() rejects only when no receipt can exist.

simulated