Delegate XAN without gas

Sign an EIP-712 Delegation message offline. A relayer submits it and pays the gas. This page has no dependencies and makes no network requests of its own — save it and open it from disk.

How to generate your signature

  1. Connect your wallet. MetaMask, Rabby, Frame, Brave — anything that injects an EIP-1193 provider. A Ledger or Trezor connected through one of those works too.
  2. Let the page read your nonce. It calls nonces(you) and eip712Domain() on the token through your wallet's own RPC, then checks the domain against the values pinned in this file. If you are fully offline, enter the nonce by hand.
  3. Check the delegatee address character by character against the delegate profile. That address is the only thing this signature sets.
  4. Press Sign. Your wallet shows a Delegation message with three fields: delegatee, nonce, expiry. If it shows an approval, a transfer, or raw unreadable bytes — reject it and ask before continuing.
  5. Post the output block in the delegation topic. It is safe to publish.

Ledger: open the Ethereum app first. On older firmware you may need Blind signing enabled in the app's settings for EIP-712 messages.

Safe / smart-contract wallets cannot use this. delegateBySig verifies with ECDSA.recover, not ERC-1271, so only externally owned accounts can delegate by signature. From a Safe, call delegate() directly instead.

1 · Wallet

2 · Message


EIP-712 domain

Pinned values shown until a wallet is connected.
name
Anoma
version
1
chainId
1
verifyingContract
0xCEDbEA37C8872c4171259Cdfd5255CB8923Cf8e7
separator
digest
—

3 · Sign

Delegation moves votes only. It cannot transfer, spend, approve, lock or encumber your tokens. The signature is single-use, expires, and is safe to publish. Re-delegate any time — the last delegation on chain is the one that counts.