Restrict funds

Restricting funds is a feature that enables financial institutions to block full or partial amounts in their clients’ accounts. This capability is essential in situations where specific funds must be excluded from the general asset pool available to unsecured creditors, ensuring they receive priority handling or special protection.

The solution supports multiple approaches, allowing institutions to temporarily restrict access to account balances—either in whole or in part—during judicial or regulatory events such as liquidation or receivership.

Because financial institutions need to act instantly, restricted funds empowers banks to freeze funds at a moment’s notice and later lift the restriction, restoring account access whenever required.

Feature highlights

With restricted funds, you can transfer funds between the available balance and restricted funds in either direction. You can perform these operations through API requests or file uploads. Restricted funds can function on its own or alongside the operation block feature. In some scenarios—such as FDIC receivership—an institution might first need to block all operations across accounts within a division, program, or organization before applying specific fund restrictions.

These endpoints let you restrict and release funds.

EndpointDescription
Create fund restrictionSpecifies the amount to be restricted from an account.
Get fund restrictionReturns detailed information about a single restricted funds request by restricted funds ID.
List fund restrictionsList all restricted funds.
Release restrictionsReleases fund restrictions using a restricted funds ID.

File-based processing

Restrict funds supports file uploads, enabling you to submit a single UTF-8 NDJSON file containing multiple restrict funds and release restriction actions, rather than making separate API calls. For more information, see File-based processing.

Processing codes

Each processing code represents a specific operation that impacts the balance by transferring funds between available_balance and restricted_funds. The default processing codes listed in this table define how each operation is handled internally and the type of transaction that is generated.

Processing CodeDescriptionBalance impactLink
PSM045RESTRICT FUNDS-1Linked to PC with balance impact = -1.
PSM046RESTRICT FUNDS CANCEL-1Linked to PC with balance impact = 1.
PSM047RELEASE RESTRICTION-1Linked to PC with balance impact = -1.
PSM048RELEASE RESTRICTION CANCEL-1Linked to PC with balance impact = -1.

💡

Note

The values -1 and 1 indicate the type of operation, where
1 = credits (account credited).
-1 = debits (account debited).

Example

This example shows when a restriction is placed on your available balance, the amount is deducted from available_balance and transferred to restricted_funds.

Before restriction

{
  "account_id": "ACCOUNT-A",
  "division_code": "my-division-code",
  "program_id": 1111,
  "status": "NORMAL",
  "external_account_id": "12345679",
  "currency_numeric_code": "840",
  "currency_alphabetic_code": "USD",
  "document_number": "9999999",
  "account_creation_datetime": "2025-09-04T00:00:00.000Z",
  "available_balance": 100,
  "earmarked_balance": 0,
  "overdraft_limit": 0,
  "ledger_balance": 100,
  "book_balance": 100,
  "value_dated_balance": 100,
  "future_dated_credits_balance": 0,
  "future_dated_debits_balance": 0,
  "uncleared_funds": 0,
  "uncleared_checks_balance": 0,
  "restricted_funds": 0
}

After restriction

{
  "account_id": "ACCOUNT-A",
  "division_code": "my-division-code",
  "program_id": 1111,
  "status": "NORMAL",
  "external_account_id": "12345679",
  "currency_numeric_code": "840",
  "currency_alphabetic_code": "USD",
  "document_number": "9999999",
  "account_creation_datetime": "2025-09-04T00:00:00.000Z",
  "available_balance": 0,
  "earmarked_balance": 0,
  "overdraft_limit": 0,
  "ledger_balance": 100,
  "book_balance": 100,
  "value_dated_balance": 100,
  "future_dated_credits_balance": 0,
  "future_dated_debits_balance": 0,
  "uncleared_funds": 0,
  "uncleared_checks_balance": 0,
  "restricted_funds": 100
}

However, when a restriction is lifted, the process is reversed: funds are moved from restricted_funds back to available_balance, making them available again for transactions. This mechanism provides precise control over fund availability, supporting operational rules and client-specific configurations.