Reference
CLI reference
Every command of Marmota, with real examples.
Run with node cli/marmot.mjs <command>. Defaults:
RPC=https://rpc.mainnet.chain.robinhood.com. The key
comes from MARMOT_PRIVATE_KEY or
--key-file. Passing a key as an argument is refused on
purpose.
Setup
| Command | What it does |
|---|---|
deploy |
Deploys the factory and prints MARMOT_FACTORY
|
create --guardian 0x.. --delay 24h |
Creates your vault with a wallet guardian |
create --guardian-passkey 0xX,0xY --rp host --delay
24h
|
Creates your vault with a passkey guardian made on
host
|
Durations are written 30m, 12h,
3d. A random salt is used unless you pass
--salt.
Owner
| Command | Announces |
|---|---|
queue-eth <vault> --to 0x.. --amount 0.5
|
Send ETH |
queue-token <vault> --token 0x.. --to 0x.. --amount
100 [--decimals 18]
|
Send a token |
queue-call <vault> --to 0x.. [--value 0] [--data
0x..]
|
Any call |
queue-delay <vault> --delay 3d |
Change the wait |
queue-guardian <vault> --guardian 0x..
|
Replace the guardian (wallet) |
queue-owner <vault> --owner 0x.. |
Rotate the owner key |
cancel <vault> <id> |
Withdraws your own announcement |
Anyone
| Command | What it does |
|---|---|
status <vault> |
Owner, guardian, wait, balance, every announcement with its phase |
execute <vault> <id> |
Runs a ripe announcement |
relay <vault> --id N --sig 0x.. |
Submits a veto signed on the site. You pay the gas. |
relay-panic <vault> --sig 0x.. |
Submits a panic signed on the site |
Guardian (wallet)
| Command | What it does |
|---|---|
veto <vault> <id> |
Refuses one announcement |
panic <vault> |
Kills everything pending |
Watcher
Marmota watch <vault> [--interval 5] [--notify-url URL] [--auto-veto --allow 0xA,0xB]
A real session
Output from scripts/anvil-e2e.mjs, which runs the
actual CLI on a local node:
$ Marmota queue-eth --to friend --amount 1
announced #0: Send 1.0 ETH to 0xA7E1...A6C1
ready at 2026-10-10T13:11:16.000Z tx 0x23efa5...
$ Marmota status
vault 0x020d9b50...fCbD
owner 0xbEc82557...A72C
guardian 0xbb834c15...c8e5
delay 1 h epoch 0
balance 5.0 ETH
announcements
#0 WAITING Send 1.0 ETH to 0xA7E1...A6C1 ready in 1 h
#1 WAITING Send 4.0 ETH to 0x21f3...a831 ready in 1 h
$ Marmota veto 1
vetoed #1 tx 0x3fe566...