Payouts · Dry run

The machinery,
rehearsed.

Synthetic accounts · a rehearsal, not paymentsBefore taking a first dollar, upme ran its payout machine end-to-end on synthetic accounts — under the published rules, penalties included. This is that run, published with its seed.

Data
100% synthetic
Requests
900
Real counter
$0.00
Seed
20260802

The setup

Before taking a first dollar, we ran the payout machine end-to-end on accounts that do not exist: 300 synthetic clients, 900 payout requests, eight simulated weeks (2026-06-07 to 2026-08-02), all of it decided by the published payout policy applied literally — the 24-hour window, the automatic +2% on a miss, and refusals only under the published clauses.

SimulatedThe setup — nothing here is a client
Synthetic clients 300 sim-trader-0001 … sim-trader-0300
Payout requests 900 $810,049.57 requested
Simulated weeks 8 first request from day 5, per the policy
Seed 20260802 deterministic — see below

The run is deterministic: seed 20260802 drives one seeded stream in one fixed order, so the same seed reproduces this dataset byte-identical — every aggregate on this page is re-derived from that stream at build time, not typed in. A rehearsal you cannot reproduce is an anecdote.

The 24-hour scorecard

The published rule: a payout request settles within 24 hours of approval, or the system adds 2% to the amount by itself — no ticket, no chasing. In the rehearsal we applied that rule to ourselves, and the misses cost the simulated house real arithmetic:

Simulated24-hour scorecard — 843 settled requests
Median settle 8.2h
p95 settle 19.7h
Within 24h 96.1% 810 of 843 settled requests
24h misses 33 each kept in the ledger, elapsed time attached
Penalties self-charged $569.14 2% of the amount, added automatically — the published rule applied to ourselves
Refused 57 under the published clauses only

The 33 late rows were not tidied out of the record: each one carries its elapsed time and its +2% permanently, which is exactly what the real ledger will do to us when a real request runs late.

Per rail

Four rails, the same 24-hour clock on each. The simulated volumes are synthetic; the rail list and the rule they run under are the real ones.

SimulatedPer rail — synthetic volume
Simulated payout requests grouped by rail
RailRequestsVolume Median settleLateRefused
sepa 300 $277,389.10 8.7h 7 17
swift 116 $103,337.10 6.9h 6 8
wise 257 $227,702.20 8.6h 7 23
crypto-usdc 227 $201,621.17 8.1h 13 9

Refusals, by published clause

57 of 900 requests were refused — and every refusal cites one of the published clauses, in its exact published wording, because the simulator has no way to emit any other reason. That constraint is the rehearsal: a refusal ground that is not on the published list cannot be used, in the sim or in production.

SimulatedRefusals by published clause
Simulated refusals grouped by published refusal clause
Published clauseCount Amount refusedShare
Copying another funded account 11 $7,839.64 19.3%
Account holder is not the payout beneficiary 18 $16,891.49 31.6%
Identity verification not completed 15 $17,357.60 26.3%
The request exceeds the accrued balance 13 $11,817.31 22.8%
Account multiplication under rule 10 0$0.000.0%

The fifth clause shows zero by design, not by luck: a rule 10 refusal comes out of the 72-hour trade-correlation review, a path this rehearsal does not model. Saying so here beats a suspiciously tidy distribution over five.

The ledger format, rehearsed 1:1

The rehearsal wrote its rows in the public ledger’s exact column shape — SETTLED · ACCOUNT · AMOUNT · RAIL · ELAPSED · OUTCOME — so the format ships tested. Below, a fixed sample: every 45th of the 900 requests, in request order, uncurated. The handles are synthetic; no sim-trader is a person.

SimulatedLedger sample — 20 of 900 synthetic rows
Twenty sampled rows of the simulated payout ledger
SettledAccountAmount RailElapsedOutcome
2026-06-13 sim-trader-0132 $772.52 crypto-usdc 10.5h settled
2026-06-30 sim-trader-0279 $372.35 crypto-usdc 30.5h settled late · +2% ($7.30) added automatically
2026-07-06 sim-trader-0184 $1,166.98 wise 51.5h settled late · +2% ($22.88) added automatically
2026-07-07 sim-trader-0297 $2,390.66 sepa 3.0h settled
2026-07-10 sim-trader-0169 $156.75 wise 4.5h settled
— sim-trader-0150 $1,800.69 crypto-usdc — refused — Account holder is not the payout beneficiary
2026-07-16 sim-trader-0138 $353.11 crypto-usdc 6.0h settled
2026-07-19 sim-trader-0285 $1,936.47 swift 14.2h settled
2026-07-21 sim-trader-0126 $938.16 crypto-usdc 27.3h settled late · +2% ($18.40) added automatically
2026-07-22 sim-trader-0003 $699.62 sepa 4.0h settled
— sim-trader-0174 $755.77 wise — refused — Copying another funded account
2026-07-25 sim-trader-0178 $179.01 sepa 2.5h settled
2026-07-26 sim-trader-0160 $1,017.84 wise 5.9h settled
2026-07-27 sim-trader-0279 $1,151.96 crypto-usdc 8.7h settled
2026-07-28 sim-trader-0096 $2,763.04 sepa 3.9h settled
2026-07-29 sim-trader-0121 $803.32 wise 3.7h settled
2026-07-30 sim-trader-0021 $4,438.56 sepa 8.3h settled
2026-07-31 sim-trader-0219 $208.16 swift 2.6h settled
2026-07-31 sim-trader-0246 $177.75 sepa 6.0h settled
2026-08-02 sim-trader-0020 $1,327.58 crypto-usdc 17.1h settled

Amounts include the automatic +2% where the 24-hour target was missed. Refused rows stay in the table with their clause — a ledger that only contained successes would be marketing.

What this proves — and what it does not

What a rehearsal on synthetic accounts proves:

  • The ledger format — columns, statuses, refusal citations — ran end-to-end against 900 requests before any client saw it.
  • The penalty arithmetic is wired, not aspirational: the +2% was computed and attached automatically on all 33 misses, totalling $569.14.
  • Every status a real request can be in — settled, settled late, refused under a published clause — existed and rendered before the first client exists.

And what it does not prove:

  • Nothing on this page is a payment. No money moved, no trader was paid, no request was real. Speed and refusal rates in a simulation carry no evidence about production.
  • The real ledger is on /payouts/, reads $0.00, and stays there until the first real settlement at rulebook v1.2. That number is the honest one, and this page exists so the rehearsal can never be mistaken for it.