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

Large transfer alert

Template: large-transfer-alert ยท category: monitoring ยท risk: monitor_only

Watches Transfer events on an ERC20 token and alerts when a transfer crosses a threshold. The generated channel is console: (alerts print in rflow start output), so it runs with zero credentials. No signer, no relayer, no transactions: the safest possible starting project.

When to use it

  • watch a treasury, bridge, or whale wallet for big token moves
  • get paged before your own dashboards notice
  • as the first monitoring workflow in a fresh rflow project

Generate it

# a full project
rflow new --template large-transfer-alert
 
# or add the workflow to an existing project (asks only for missing inputs)
rflow add workflow large-transfer-alert

Non-interactive (CI/agents):

rflow new --template large-transfer-alert --yes --output ./alerts \
  --answer network=ethereum --answer min_amount=250000

Inputs

keytypedefault
project_namestringlarge-transfer-alert
network / chain_id / rpc_env / rpc_urlnetwork / chain_id / env_var / stringethereum / 1 / ETH_RPC / a public RPC
token_name / token_address / token_decimalscontract / address / intUSDC mainnet
min_amounttoken_amount100000
channelstringops

Required env vars

DATABASE_URL and the RPC env var (default ETH_RPC), both prefilled in the generated .env. No notification credentials: the console: channel has none.

Safety notes

Monitor-only: the generated config declares no signer: and no relayers:, so the relayer engine never boots. The workflow ends in on_failure: dead_letter so a failed notification is journaled, never lost.

Run it locally

docker compose up -d     # postgres on localhost:5448
rflow validate
rflow start              # alerts print right here

Common modifications

  • raise confirmations: on the trigger to trade latency for reorg safety
  • swap console: for telegram/slack/discord/pagerduty: rflow add notification
  • alert into a runtime watchlist instead: see state and lists