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

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.

Embedded rindexerEmbedded rrelayerPostgres-backed state
rflow.yaml
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 }}"
Exactly-oncedurable claims prevent duplicate runs across restarts and retries
Reorg-awarehead-speed alerts, depth-gated payments, and explicit reorg handlers
Any custodyraw keys, KMS, secret managers, Fireblocks, Turnkey, Privy, and more

What it replaces

One workflow engine instead of a pile of bots, queues, and scripts.

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.

  1. ObserveTail chain data, webhook payloads, schedules, or indexed SQL.
  2. DecideEvaluate strict expressions, budgets, simulations, and approvals.
  3. ActSend transactions, call HTTP services, run commands, and notify teams.
  4. RecoverHandle retries, reorgs, failures, backfills, and state repair.

Get moving

Install rflow, scaffold a workflow, and run it locally.

Install rflow