FlowRail

Payout operations on Tempo

40 payees.
One signature.

A month of agency payouts, split by one rule. All but one clear themselves.

FlowRail is payout software for agencies on Tempo. Approve a run once; every payee gets a key that can pay only them, only their amount, and expires on its own.

GitHubDemo videoPitch deck

flowrail · run INV-25002026-01-01 00:00 UTC

Run total

$9,687.93

Released

$7,837.93

Awaiting signature

$1,850.00

Ada Okonkwo

$65.00

0xdfcd…eb57

Rafa Mendes

$120.00

0x5604…52b7

Yuki Tanabe

$48.50

0x56de…2dbd

Priya Raman

$310.00

0x0742…9db6

Tomasz Wrona

$75.25

0xf5df…9fab

Jane Adeyemi

$1,850.00

0xd89a…341f

…and 34 more routine payouts, each on its own key

39auto1finance1unmatched memo$7,837.93 cleared without a human

Escalated

finance

Jane Adeyemi

$1,850.00

Known address (40d), but over the $500 auto cap. One approval releases it — the key still cannot pay anyone else.

Finance approverawaiting signature

What you get

Pay everyone fast, without handing anyone the keys.

Approve the run once

Bring a month of invoices. Two rules you set sort every line; you only sign the ones that break them.

Each key pays one person

Every payee gets their own key: capped at their exact amount, locked to their address, gone in 7 d.

payee
Ada Okonkwo
can send
$65.00
only to
0xdfcd…eb57
expires
7 d

Tempo enforces it

The cap, the recipient and the expiry live on-chain. A key that tries to overpay or pay someone else is reverted by Tempo, not by our code.

transfer → own payee · oktransfer → anyone else · reverted
  1. 01 — Arrival

    Money lands with no instructions

    A deposit arrives. No memo tells us who to pay.

    flowrail · classifier

    Inbound deposit · 1 tx · no memo

    0x91c4…0a3f$9,783.93
    0xdfcd…eb57$65.00
    0x5604…52b7$120.00
    0x56de…2dbd$48.50
    0x0742…9db6$310.00
    0xf5df…9fab$75.25
    0x9c94…ca2a$220.00

    …and 34 more, none of them labelled — plus $96.00 that matches no payee.

  2. 02 — Identity

    Each address is resolved to a person

    Our roster supplies a name and how long that address has been stable.

    flowrail · classifier

    Roster match · 40/40 resolved

    ✓Ada Okonkwo21d
    ✓Rafa Mendes34d
    ✓Yuki Tanabe12d
    ✓Priya Raman58d
    ✓Tomasz Wrona9d
    ✓Jane Adeyemi40d
  3. 03 — Rule

    Two questions, asked per line

    Is this address old enough, and is the amount small enough? Both must pass.

    flowrail · classifier

    Two gates · all must pass

    Address stable for 7+ days6/6
    Amount at or under $5005/6

    1 line fails the cap

    Jane Adeyemi · $1,850.00 cannot be approved by a machine.

  4. 04 — Result

    The run divides itself

    39 leave on their own key. One is held for a signature.

    flowrail · classifier

    Released

    39

    $7,837.93 · $200.97 avg

    Held

    1

    financeJane Adeyemi

    The thirty-nine never touch the agency key. Each spends its own delegated key, capped and locked, and expires on its own.

The shape of a run

One deposit. 40 exits. One of them stops.

$9,783.93received once, unlabelled · $9,687.93 to payees · $96.00 unmatched, not paid39clear themselves1waits
in1×Jane$1,850.00 · signature

Built on Tempo

Rules that hold even if FlowRail doesn't.

39 of 40

paid with no one in the loop

every line at or under $500 to a known address

1

signature for the whole run

only the line that broke a rule waited for a person

5

unsafe calls Tempo refused

each one run and recorded on Moderato testnet

“Slow, or exposed — agencies have lived with those two. FlowRail, on Tempo, is the third.”

Why FlowRail exists, in one line

Underneath

What the chain actually did.

Access key · one auto leg

payee
Ada Okonkwo · Creator
recipient
0xdfcd…eb57 · locked, 1 address
authorised amount
$65.00 pathUSD · exactly this payout
lifetime
7 d · standing
tier
auto · standing payee, within auto cap
selector
transfer
issued
2026-01-01 00:00:00 UTC
expires
2026-01-08 00:00:00 UTC

authorizeKey(key, expiry: +7 d, limits: [pathUSD, 65.00])

setAllowedCalls(key, [transfer → 0xdfcd…eb57])

Moderato testnet

4accepted5reverted

Where it fails

The chain says no before FlowRail gets a vote.

Tempo makes authorization native: caps, expiry, recipient scope as first-class account operations, no custom contract. Remove Tempo and FlowRail has nothing left to refuse with — the limits live on-chain, not in our review logic.

first transfer to a new payeepathUSD · policy 1
  1. ✓transfer submittedpassed
  2. ✕token transfer policyPolicyForbids
  3. ·access keychainnot reached
  4. ·authorised amountnot reached
  5. ·recipient locknot reached

Rejected with PolicyForbids before the access key was consulted. New payees must already be inside the token's transfer policy.

The RPC rejects the method outright. We settle leg by leg with a receipt each, and we do not claim single-transaction settlement.

Start here

Bring a month of payouts. Leave with one decision.

Demo

Run the desk yourself

Load run INV-2500, watch 40 lines sort themselves, and sign the one that needs you. Every payout links to its testnet receipt.

Code

Read how it's built

The policy engine, the key lifecycle, and every claim on this page traced to a transaction on Moderato.