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

Vote Relayactive

Casts a vote on an EVM governor on behalf of a Solana-side realm. Demo custom hook.

dao.vote-relay.v1v1.0.0Arbitrumby Demo author: realm-relay
Executions · 7d6
Success rate100.0%
Median latency22.6s
Calling apps1

Interface

CAST_VOTE

15–25s to receipt

Cast an aggregated vote.

Inputs

governoraddressGovernor contract.
proposalIduint256Proposal.
support0 | 1 | 2Against / For / Abstain.
weightuint256Aggregated realm weight.

Outputs

voteTxbytes32Governor vote tx.
example payload
{
  "governor": "0x8b1f4e2a6c9d0e3b7a5f1c8d2e6b9a4c7f0d3e1b",
  "proposalId": "1042",
  "support": 1,
  "weight": "128400"
}

Usage

@wormhook/sdk
simulated
dao-cast_vote.ts
import { WormHookClient } from "@wormhook/sdk";

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

const call = await client.prepareCall({
  hookId: "dao.vote-relay.v1",
  action: "CAST_VOTE",
  payload: {
    "governor": "0x8b1f4e2a6c9d0e3b7a5f1c8d2e6b9a4c7f0d3e1b",
    "proposalId": "1042",
    "support": 1,
    "weight": "128400"
  },
  ttl: 900,
});

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

Registration

hook id
dao.vote-relay.v1
version
1.0.0
destination
Arbitrum
permissions
Allowlist
spend cap
none (no value moved)
author
Demo author: realm-relay0xb0b09d…38ef

Routes

  • Solana→Arbitrumenabled
  • Wormhole 1 → 23 · receipt returns on the same route

Adapter

integration pending
kind
Custom
contract
GovernorAdapter0x7b161e…4767
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/example/realm-relay (demo)
commit
3a0be44
audit
not audited

Risk notes

  • Third-party hook. Not audited.

Versions

  1. 1.0.0current2026-09-01Initial registration.

Allowlisted apps

Execution history

latest 10
All →