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:
| Field | Description |
|---|---|
amount | The monetary amount being swept (GBP) |
source | Identifier of the Modulr collection account |
destination | Identifier of the org's Griffin DD holding account |
status | Current state: pending or complete |
hold_until | Timestamp 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:
- The
fund_sweeprecordstatusis updated tocomplete. - A
hold_untiltimestamp is calculated asnow + configured hold hours(default: 24 hours). - Funds remain in the Griffin DD holding account until the
hold_untiltime 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
- Changelog — v1.0.42
- Fund Flow: Collection → Sweep → Hold → Forward (see mission overview)