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.
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:
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.
| Rail | Requests | Volume | Median settle | Late | Refused |
|---|---|---|---|---|---|
| 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.
| Published clause | Count | Amount refused | Share |
|---|---|---|---|
| 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.00 | 0.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.
| Settled | Account | Amount | Rail | Elapsed | Outcome |
|---|---|---|---|---|---|
| 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.