IMD Swarmactive
Dispatches a task to a swarm of IMD workers. Sub-jobs can be accepted independently, so this hook can return partial receipts.
imd.swarm.v1v1.0.0Ethereumby IMD
Executions · 7d25
Success rate92.0%
Median latency41.2s
Calling apps1
Interface
DISPATCH_SWARM
35–55s to receiptFan a task out to N workers. Each accepted sub-job is listed in the output.
Inputs
| task | string | Task description. |
| workers | uint8 | 1–16 workers. |
| budget | decimal string | Total budget across workers. |
Outputs
| accepted | uint8 | Sub-jobs accepted. |
| jobIds | bytes8[] | Accepted sub-job IDs. |
example payload
{
"task": "Label 3,000 governance proposals by category",
"workers": 3,
"budget": "180"
}Usage
@wormhook/sdkimd-dispatch_swarm.ts
import { WormHookClient } from "@wormhook/sdk";
const client = new WormHookClient({ network: "devnet", appId: YOUR_APP_ID });
const call = await client.prepareCall({
hookId: "imd.swarm.v1",
action: "DISPATCH_SWARM",
payload: {
"task": "Label 3,000 governance proposals by category",
"workers": 3,
"budget": "180"
},
maxSpend: "1000", // ≤ per-call cap (1000 IMD)
ttl: 900,
});
const execution = await client.simulate(call);
const receipt = await execution.waitForReceipt();Registration
- hook id
- imd.swarm.v1
- version
- 1.0.0
- destination
- Ethereum
- permissions
- Allowlist
- spend cap
- 1000 IMD / call
- author
- IMD0x35167b…3957
Routes
- Solana→Ethereumenabled
- Wormhole 1 → 2 · receipt returns on the same route
Adapter
- kind
- IMD
- contract
- IMDAdapter0xe864ac…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
- Partial receipts are expected behaviour. Callers must handle status = partial.
Versions
- 1.0.0current2026-08-20Initial registration.
Allowlisted apps
Execution history
latest 10| Status | Call ID | Hook | Route | Created | Latency | Receipt |
|---|---|---|---|---|---|---|
| Success | 0x9c62a5…5c67#17484 | imd.swarm.v1DISPATCH_SWARM | SOL→ETH | 26m ago | 44.1s | ✓ returned |
| Partial | 0xcccb1c…6439#17602 | imd.swarm.v1DISPATCH_SWARM | SOL→ETH | 1h ago | 43.3s | partial |
| Expired | 0x369b56…283e#17604 | imd.swarm.v1DISPATCH_SWARM | SOL→ETH | 2h ago | 17m 38s | failed |
| Success | 0x6012f3…8dfe#17450 | imd.swarm.v1DISPATCH_SWARM | SOL→ETH | 2h ago | 41.1s | ✓ returned |
| Success | 0xe0bc1f…3105#17557 | imd.swarm.v1DISPATCH_SWARM | SOL→ETH | 11h ago | 43.1s | ✓ returned |
| Success | 0x97c58d…c651#17571 | imd.swarm.v1DISPATCH_SWARM | SOL→ETH | 12h ago | 40.3s | ✓ returned |
| Partial | 0x00315c…8995#17559 | imd.swarm.v1DISPATCH_SWARM | SOL→ETH | 15h ago | 41.6s | partial |
| Success | 0x87c23b…9f5c#17457 | imd.swarm.v1DISPATCH_SWARM | SOL→ETH | 15h ago | 43.6s | ✓ returned |
| Success | 0xbb2715…766b#17535 | imd.swarm.v1DISPATCH_SWARM | SOL→ETH | 17h ago | 38.9s | ✓ returned |
| Success | 0xc8bfd3…1d46#17498 | imd.swarm.v1DISPATCH_SWARM | SOL→ETH | 19h ago | 36.0s | ✓ returned |
- Success26m agoimd.swarm.v1SOL→ETH0x9c62a55d…0a5c67 · #1748444.1s
- Partial1h agoimd.swarm.v1SOL→ETH0xcccb1c67…166439 · #1760243.3s
- Expired2h agoimd.swarm.v1SOL→ETH0x369b56bf…77283e · #176041058.1s
- Success2h agoimd.swarm.v1SOL→ETH0x6012f335…f48dfe · #1745041.1s
- Success11h agoimd.swarm.v1SOL→ETH0xe0bc1f10…ac3105 · #1755743.1s
- Success12h agoimd.swarm.v1SOL→ETH0x97c58dd3…83c651 · #1757140.3s
- Partial15h agoimd.swarm.v1SOL→ETH0x00315c2e…fe8995 · #1755941.6s
- Success15h agoimd.swarm.v1SOL→ETH0x87c23bcb…309f5c · #1745743.6s
- Success17h agoimd.swarm.v1SOL→ETH0xbb27156a…53766b · #1753538.9s
- Success19h agoimd.swarm.v1SOL→ETH0xc8bfd3c8…5a1d46 · #1749836.0s