Check management

For check management, Cross River offers both check writing (withdrawals) and check deposits using Mobile Deposit Capture (MDC). Cross River works with lockbox service providers to process paper check deposits.

By default, all Cross River partners have checks blocked (turned off) for their products. This means a customer can order checks using a third party, and issue a check, but that check will automatically be rejected by Cross River when presented by the Federal Reserve for payment. You can request that CR enable checks per product or even per specific account. If you want to offer checking to your customers on an individual basis, you can keep checks blocked for the product and have CR enable you to have each customer opt in individually, after which you perform a fraud review on the customer.

In Cross River, checks have two different flows:

  • Deposit. In the deposit flow, you deposit a check into your CR account. In CR this is referred to as an outbound forward item because the check needs to be sent (out) to the Federal Reserve and presented to the drawee bank (paying bank) for payment.

  • Withdrawal. In the withdrawal flow, you write a check on your CR account to pay someone. In CR this is referred to as an inbound forward item because the Federal Reserve sends the check (in) to CR for payment and attempts to clear the check on your account. Your check clears when the transfer of funds succeeds.

In addition, whether deposited or used as a payment, a check might be returned for a number of reasons.

  • A returned check presented to CR by the Federal Reserve is considered an inbound return.

  • A check returned by CR is considered an outbound return

Availability policies

Availability policies define how quickly funds can be made available to the payee.

Availability of funds from a deposited check is based on rules specifically mandated by the Federal Reserve under Regulation CC (Reg CC). Reg CC defines how long a bank can hold funds based on various types of deposits. It's important to understand check processing and how Regulation CC (12 CFR 229) laws effect availability of funds. Learn more about Regulation CC.

COS defines the availability policy of any given deposit when the deposit is successfully received. COS assigns the policy of the deposit based on that business day's deposits to that specific account. You can use the availability policy API to update the policy of a specific deposit.

Availability policies can only be updated prior to the check being batched and released to the Fed.

Payment scheduling

Stop payments

If the payer has passed a check that the payer FI has not yet processed, they can put a stop payment on the check.


Once a check has been processed by the payer FI, a stop payment cannot be made. Instead, a dispute must be filed by the payer.

If the payee deposits the check after the check has had a stop payment put on it, the payee FI generally charges the payee a penalty fee. The payer bank will likely also charge for the stop payment service.

Usually the check amount, check number and account number is included the stop payment instructions.

For further guidance, please refer to: Reg E 1005.10 Preauthorized Transfer (c) Customer's Right to Stop payment section in the following link:

Bounced Checks

When someone writes a check for an amount larger than what is held in their checking account, the check can't be processed because there is not enough money (insufficient/non-sufficient funds, you can use either term) in the account. Not enough money is also referred to as "NSF." When there is not enough money in the account, this is known as a “bounced check”. A bounced check usually means a penalty fee for the payer. In some cases the payee is also charged a fee.

Positive Pay

CR's Positive Pay feature lets you or your customer make sure that only legitimate checks get deposited in their accounts. Either you or the account holder define which specific checks will be accepted. This helps prevent check fraud.

You can think of Positive Pay as the opposite of Stop Pay. In a sense you are providing an allowed list of authorized checks for deposit. Your or your customer provide the check number and amount for authorized checks. COS takes this Positive Pay information and matches it against inbound forward items presented by the Fed. If a match is found the check is paid. Otherwise the check is rejected.

Positive Pay statuses appear in the status field in the Positive Pay responses, and include:


The check has been authorized for positive pay


An authorized check has been presented by the Federal Reserve and paid by the Bank


The check's positive pay authorization has been revoked

In regular check calls Positive Pay statuses appear in the positivePayResult field, and include an additional value, Disabled, if Positive Pay is not configured for the check product.


Your product must be configured by CR in order to use the Positive Pay feature. Once Positive Pay is enabled, any checks presented by the Fed that are not authorized will automatically be rejected and returned to the depositing bank.


The date time within the expiresAt field of the response is ignored. If a check matching that positive pay criteria is received after the date in the expiresAt field it will be automatically rejected and returned to the depositing bank.

Positive Pay API endpoints include:

Business reference information

Check Types

The checkType attribute in the response to POST /Checks/v1/payments describes the type of check the call is dealing with.

Payment Status

The status of the payment is returned in the response to several check calls in the status field.

Availability Policy/Reg CC Policy Types

The policy type supplied in checks responses in the policy field, tells you how within how many days funds from a check deposit will be available in the customer's account.

Rejection Reasons

There are many reasons why a check payment might be rejected. These values appear in the rejectionReason field of checks responses.

Return Codes

A returned check response contains many details, including a returnCode that tells you why the check was returned.

Error Codes