Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Safe owner change alert

Template: safe-owner-change-alert ยท category: security ยท risk: monitor_only

Pages the moment a Safe multisig is rewired: AddedOwner, RemovedOwner and ChangedThreshold. The owner-add/remove alerts read the CURRENT getThreshold() so you see the resulting m-of-n in the same message. A focused governance watch โ€” see safe-monitor when you also want execution and module events.

When to use it

  • know instantly when a treasury multisig's owner set or threshold changes
  • catch an unauthorized owner addition (a compromised signer)
  • a lightweight governance watch with no bundled ABI blob

Generate it

rflow new --template safe-owner-change-alert
 
# or add the workflow to an existing project
rflow add workflow safe-owner-change-alert

Non-interactive (CI/agents):

rflow new --template safe-owner-change-alert --yes --output ./safe \
  --answer safe_address=0x0000000000000000000000000000000000000000

Inputs

keytypedefault
project_namestringsafe-owner-change-alert
network / chain_id / rpc_env / rpc_urlnetwork / chain_id / env_var / stringethereum / 1 / ETH_RPC / a public RPC
safe_name / safe_addresscontract / addressSafe / zero placeholder (replace!)
channelstringops

Required env vars

DATABASE_URL, the RPC env var (default ETH_RPC), TG_BOT_TOKEN, TG_CHAT_ID โ€” all listed in the generated .env.example.

Safety notes

Monitor-only: no signer: and no relayers:, so the relayer engine never boots. The Safe v1 ABI is materialized from the builtin standard (v1.3 and v1.4 share these event signatures), and every workflow ends in on_failure: dead_letter.

Run it locally

docker compose up -d     # postgres on localhost:5448
# fill .env, set safe_address
rflow validate
rflow start

Common modifications

  • add a ChangedThreshold-only project for the strictest change alarm
  • swap the channel for slack/discord/pagerduty: rflow add notification
  • graduate to safe-monitor for execution events