Transaction Monitoring
Learn how Cybrid manages ACH return risk with automatic holds on high-risk funding transfers.
ACH risk management
Cybrid analyzes each ACH funding deposit transfer to manage the risk of returns. Based on the Plaid Signal score for the originator, the platform determines whether a transfer requires a hold.
If the customer is considered high-risk, Cybrid automatically places
a 2-day administrative hold on the transfer once it enters the
pending state.
The hold captures ACH returns within the standard 2-day window, protecting your reserve account. If an ACH return occurs during the hold period, Cybrid credits the customer's external bank account instead. This ensures you can display accurate balances to end users.
ACH pull deposit transfer lifecycle
A transfer can progress through these states:
storing → reviewing → pending → holding → completed or
failed
Conditional statesThe
reviewingandholdingstates are conditional and may not occur for every transfer.
Check if a transfer is on hold
Monitor the state field and hold_details block on any ACH pull
funding deposit transfer.
API polling
Call GET /api/transfers/{transfer_guid} to retrieve hold details:
{
"guid": "abc123def456abc123def456abc123ab",
"transfer_type": "funding",
"side": "deposit",
"payment_rail": "ach",
"state": "holding",
"hold_details": {
"applicable_types": [
"administrative"
],
"duration": 172800,
"started_at": "2024-01-15T10:30:00.000Z"
}
}applicable_typespopulates shortly after transfer creation, indicating the type of hold that will apply.durationandstarted_atpopulate only after the hold begins.- Add
started_at+durationto calculate when funds release to theplatform_availablebalance in the customer's fiat account.
Webhook events
Subscribe to the transfer.holding webhook event. When it fires,
call GET /api/transfers/{transfer_guid} to retrieve the hold
details including duration and applicable_types.
Once the transfer enters pending, inspect hold_details to check
whether applicable_types includes administrative.
Updated 3 days ago
