Skip to content

Sweep / net / settle

Background concept — how intraday activity accumulates, then clears in one external settlement.

What it is

A sweep account holds intraday activity. Each individual posting lands there; at end of day, the accumulated net balance is moved to the bank's authoritative position account in one transfer. The sweep account is expected to end every day at zero.

A typical sweep cycle:

  1. Throughout the day: debits / credits accumulate in the sweep account as customer activity posts.
  2. End of day: the net balance is wired to the position account, clearing the sweep to zero.
  3. The external counterparty (the Fed, a processor, etc.) confirms the settlement on their side.

The problem it solves

Sweeping aggregates many small movements into one external settlement. Without a sweep, every individual ACH origination would need its own external wire — expensive, slow, and hard to reconcile. With a sweep, the bank emits one wire a day that represents the day's net activity.

The cost of aggregation is the reconciliation burden. Three things have to hold:

  1. The sweep account has to reach zero EOD (activity actually cleared, not just looks like it did).
  2. The sweep amount has to match the sum of the day's intraday postings (the aggregation is right).
  3. The counterparty has to confirm the wire (the external side landed).

Any one of those failing is a distinct class of exception.

How L1 surfaces this

Sweep accounts in the L2 instance carry expected_eod_balance: 0 on the account declaration. The L1 Expected EOD Balance invariant flags any day where the sweep didn't fully clear. The Drift invariant catches the second failure shape (the sum of posted legs disagrees with the stored balance), and an aggregating rail's PostedRequirements catches the missing counterparty confirmation.

See L1 Reconciliation Dashboard for the visual surface.