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

IMD POOL4active

Routes contributions into POOL4 with CappedBurn semantics. The cap is enforced on the destination; the receipt reports the amount actually burned.

imd.pool4.v1v1.0.0Ethereumby IMD
Executions · 7d27
Success rate92.3%
Median latency41.1s
Calling apps1

Interface

CONTRIBUTE

35–50s to receipt

Contribute to POOL4 on behalf of the calling app.

Inputs

amountdecimal stringAmount in IMD.
beneficiarybytes32Solana account credited in the receipt.

Outputs

positionuint256Resulting POOL4 position.
example payload
{
  "amount": "250",
  "beneficiary": "IMDhK8vP2mQ7xR4tN9wLc3sF6yJ1aB5dE8gZuHo7kP2"
}

CAPPED_BURN

35–50s to receipt

Burn up to a cap. Burns min(amount, remaining cap) and reports the difference.

Inputs

amountdecimal stringRequested burn in IMD.
capdecimal stringHard cap for this call.

Outputs

burneddecimal stringAmount actually burned.
example payload
{
  "amount": "500",
  "cap": "400"
}

Usage

@wormhook/sdk
simulated
imd-contribute.ts
import { WormHookClient } from "@wormhook/sdk";

const client = new WormHookClient({ network: "devnet", appId: YOUR_APP_ID });

const call = await client.prepareCall({
  hookId: "imd.pool4.v1",
  action: "CONTRIBUTE",
  payload: {
    "amount": "250",
    "beneficiary": "IMDhK8vP2mQ7xR4tN9wLc3sF6yJ1aB5dE8gZuHo7kP2"
  },
  maxSpend: "2000", // ≤ per-call cap (2000 IMD)
  ttl: 900,
});

const execution = await client.simulate(call);
const receipt = await execution.waitForReceipt();

Registration

hook id
imd.pool4.v1
version
1.0.0
destination
Ethereum
permissions
Allowlist
spend cap
2000 IMD / call
author
IMD0x35167b…3957

Routes

  • Solana→Ethereumenabled
  • Wormhole 1 → 2 · receipt returns on the same route

Adapter

integration pending
kind
POOL4
contract
POOL4Adapter0xe864ac…8518
IWormHookAdapter.solconceptual
// Conceptual: final interface is defined in phase 2 (CORE_TECH_PLAN.md §Adapters)
interface IWormHookAdapter {
    function execute(
        bytes32 callId,
        bytes calldata payload
    ) external returns (bytes memory output);
}

Source & audit

repository
github.com/imd/wormhook-adapters (placeholder)
commit
a4c91e0
audit
audit planned

Risk notes

  • Moves value on the destination chain. Spend caps are enforced at the gateway and the adapter.
  • CappedBurn compatibility depends on the POOL4 contract version deployed. Pinned in phase 2.

Versions

  1. 1.0.0current2026-09-10Initial registration.

Allowlisted apps

Execution history

latest 10
All →