Creator Payout Pipelines: Ledger Design, Revenue Splits, and Why Floating-Point Money Kills Platforms

Engineering the money side of a video platform — double-entry ledgers for revenue splits, payout threshold batching, and the rounding bugs that quietly destroy creator trust.

The moment a video platform pays creators, it becomes a financial system — with all the correctness requirements that implies. Ad revenue arrives as cents per thousand impressions, must be split across platform, creator, and sometimes multiple rights holders, and a single rounding bug replicated across a million events is either real money lost or a creator-relations crisis.

Rule Zero: Never Store Money in Floating Point

0.1 + 0.2 === 0.30000000000000004 is not a joke — it’s a payout discrepancy. All ledger amounts must be integers in the smallest currency unit (cents, satang) or fixed-point decimals. Every story about a platform that “mysteriously” underpaid creators traces back to a float in the earnings path.

Double-Entry Ledger: The Only Safe Model

Every revenue event creates balanced entries — money is never created or destroyed, only moved:

Ad impression revenue event: $10.00 (1000 cents)
─────────────────────────────────────────────
DR  platform_revenue_pending    +1000
CR  creator_payable              -650  (65% split)
CR  platform_retained            -350  (35% split)
    Σ = 0  ✓ (invariant enforced at write time)

If the entries don’t sum to zero, the write fails. This invariant catches entire classes of bugs — race conditions in split computation, partially-applied refunds, duplicate events — at the storage layer rather than in a reconciliation panic months later.

Idempotent Event Processing

Ad impression webhooks arrive with at-least-once delivery — the same event will retry. Every ledger write must carry an event_id unique constraint; a duplicate event_id is a no-op, not a double-pay. This single constraint is the difference between a platform that can replay three days of failed events safely and one that can’t.

Payout Batching and Thresholds

Design ChoiceNaive ApproachProduction Approach
Payout timingPay on requestWeekly batch, minimum threshold
Threshold checkQuery at request timeMaterialized payable_balance view
Currency conversionAt each eventAt payout time, with recorded rate
Chargeback handlingDeduct future earningsReserve holdback (5–10% for 60 days)

“Creators don’t audit your ledger — they audit their bank statement. The system has to be right even when nobody is watching, because eventually somebody does watch.”

Our reference schema, invariants list, and reconciliation runbook are published in the creator payout and ledger engineering guide.