All Docs
FeaturesagentOS Direct DebitUpdated March 13, 2026

Fund Sweep: Modulr Collection Account to Griffin Holding

Fund Sweep: Modulr Collection Account → Griffin Holding

Introduced in v1.0.42

Once a Direct Debit collection is confirmed by Modulr, the service automatically sweeps the collected funds from the Modulr collection account into the organisation's Griffin DD holding account. This step bridges the BACS collection layer and the fund-holding layer before money is ultimately forwarded to the agent's client account.


Overview

The fund sweep is an automated, event-driven process. No manual intervention is required under normal circumstances.

Modulr Collection Account
         │
         │  (sweep initiated on collection confirmed)
         ▼
Griffin DD Holding Account
         │
         │  (held for hold_until period)
         ▼
  Agent's Client Account

Trigger

The sweep is initiated by an Inngest function that fires when a collection transitions to confirmed status. This ensures the sweep happens reliably and asynchronously, with built-in retry semantics.


The fund_sweep Record

When a sweep is initiated, a fund_sweep entry is created in the database with the following fields:

FieldDescription
amountThe monetary amount being swept (GBP)
sourceIdentifier of the Modulr collection account
destinationIdentifier of the org's Griffin DD holding account
statusCurrent state: pending or complete
hold_untilTimestamp after which funds may be forwarded (set on completion)

Confirmation & Hold Period

After the payment is initiated via the Griffin API, the service waits for confirmation from Griffin. Confirmation is handled via either:

  • Griffin webhook — Griffin posts a callback when the funds are received, or
  • Polling — the service periodically checks the payment status if no webhook is received.

Once confirmed:

  1. The fund_sweep record status is updated to complete.
  2. A hold_until timestamp is calculated as now + configured hold hours (default: 24 hours).
  3. Funds remain in the Griffin DD holding account until the hold_until time has passed and the clawback reserve requirement is satisfied.

Configuration

The hold period is configurable per organisation. The default is 24 hours. Contact your administrator to adjust the hold duration based on your risk tolerance and clawback history.


Error Handling

If the Griffin payment initiation fails or confirmation is not received within the expected window, the Inngest function will retry automatically. The fund_sweep record will remain in pending status until the sweep is either confirmed or explicitly failed. Alerts will be raised if the sweep does not complete within the expected timeframe.


Related