Onchain workflow automation ยท Rust ยท self-hosted
Ship production onchain workflows without building the control plane.
rflow turns GitHub-Actions-shaped YAML into exactly-once, reorg-aware, simulation-gated automation for any EVM chain. Run event triggers, cron schedules, webhooks, SQL polls, reads, transactions, alerts, approvals, and backfills from one fast binary.
workflows:
transfer-alert:
trigger:
event:
contract: USDC
name: Transfer
network: ethereum
where: "${{ trigger.args.value > wei('100000', 6) }}"
confirmations: 20
steps:
- id: simulate
read:
contract: Treasury
function: "canAccept(address,uint256)"
- id: alert
notify:
channel: ops
message: "large transfer: ${{ trigger.tx_hash }}"What it replaces
One workflow engine instead of a pile of bots, queues, and scripts.
Decoded onchain triggers
Fire workflows from events, blocks, cron schedules, webhooks, SQL polls, view-function reads, streams, or composite conditions.
02Transaction execution
Send cross-chain transactions with nonce management, gas bumping, confirmation policies, simulations, and relayer guardrails.
03Production reliability
Persist cursors, throttle noisy triggers, replay history, backtest configs, and inspect run state when operations get real.
04Human approval gates
Add deliberate pauses before risky actions, timeouts, notifications, and auditable decisions without leaving your workflow definition.
The operating model
Declare the workflow. rflow owns the boring hard parts.
You describe what should happen. rflow handles indexing, state, idempotency, relaying, confirmations, retries, failure handling, observability, and backfill/live handoff.
- ObserveTail chain data, webhook payloads, schedules, or indexed SQL.
- DecideEvaluate strict expressions, budgets, simulations, and approvals.
- ActSend transactions, call HTTP services, run commands, and notify teams.
- RecoverHandle retries, reorgs, failures, backfills, and state repair.
Get moving