# Instant payments with RTP

Instantly send funds from a Moov wallet to a bank account with RTP.

Instant payments, enabled by [The Clearing House](https://www.theclearinghouse.org/), are real time payments (RTP) between bank accounts. With instant payments, transfers are processed instantly, 24/7/365.

With Moov, supported bank accounts can receive instant transfers from a Moov wallet.

![Standard instant funds flow diagram](../images/moov-instantbank-funds-flow-light.png)

In the near future, `instant-bank-credit` will support FedNow, [The Federal Reserve's](https://explore.fednow.org/) instant payment method.

## [Bank account eligibility](#bank-account-eligibility)

When a bank account is linked, Moov checks its eligibility to receive payments on the RTP network and creates the `instant-bank-credit` payment method.

To send instant payments, accounts must have the `send-funds.instant-bank` and `wallet.balance` [capabilities](/guides/accounts/capabilities/enablement/) enabled.

## [Money out](#money-out)

Funds leave the Moov platform with instant credits when using the `instant-bank-credit` payment method. Once funds are sent, the transfer is final and cannot be reversed. Moov has a platform transaction limit of $100,000.00 for instant bank credit.

![Wallet to bank instant bank flow diagram](../images/../images/wallet-to-bank-instantbank-light.png)

The benefits of sending funds with instant bank credit:

- Transfers can be sent instantly, anytime - even on weekends and bank holidays
- Funds are available to the recipient in moments
- Moov wallet balances are immediately decreased

## [Processing and status details](#processing-and-status-details)

The transfers response offers a variety of useful information about instant transfers and status details. If the destination uses the `instant-bank-credit` payment method, the response will contain `instantBankDetails`, indicating which network was used as well as the following useful information:

- `status` - Rail-specific status details
- `failureCode` - Moov designated failure explanation

[RTP](#tab-385261974-4-0)

```json
{
  "instantBankDetails": {
    "network": "rtp",
    "status": "completed",
    "initiatedOn": "2025-08-08T19:45:12Z",
    "completedOn": "2025-08-08T19:45:45Z",
    "failedOn": null, 
    "acceptedWithoutPostingOn": null,
    "failureCode": null, 
    "networkResponseCode": "ACTC", 
    "endToEndID": "E2E123456789",
  }
}
```

Additionally, you can obtain details about a transfer through the transfers `GET` [endpoint](/api/money-movement/transfers/get/).

### [Statuses](#statuses)

Find rail-specific transfer status information within `instantBankDetails`:

| Transfer status            | Description                                                                                                                                                                                   |
|----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `initiated`                | The payment has reached the rail, but Moov has not yet received a response                                                                                                                    |
| `accepted-without-posting` | Moov has received an accepted without posting message from the receiving bank, as they need more time to process the payment. The funds are moved but are not yet available to the recipient. |
| `completed`                | Moov has received an accepted message from the receiving bank, and funds are available to the recipient                                                                                       |
| `failed`                   | Moov has received a rejected message from the receiving bank. The failure code, reason, and description is provided in the transfer response.                                                 |

### [Failure codes](#failure-codes)

If there is an issue with a bank account, Moov automatically adjusts the status. If you receive an `errored` bank account status, you will need to take the following action before you can continue processing with Moov:

- Add a new bank account (or [contact Moov](https://support.moov.io/))

Below you'll find the details on failure codes and the action you'll need to take.

| Failure code                | Description                                                   | Status: action             |
|-----------------------------|---------------------------------------------------------------|----------------------------|
| `account-blocked`           | Account is blocked. Transactions cannot be posted against it. | `errored`: Add new account |
| `account-closed`            | Account is closed.                                            | `errored`: Add new account |
| `customer-deceased`         | Customer is deceased.                                         | `errored`: Add new account |
| `invalid-account`           | Account number is invalid or missing.                         | `errored`: Add new account |
| `invalid-amount`            | Amount entered is invalid.                                    | No action needed           |
| `invalid-field`             | A field entry could not be validated.                         | No action needed           |
| `limit-exceeded`            | Amount entered exceeds approved amount.                       | No action needed           |
| `processing-error`          | Transaction could not be processed due to processing error.   | No action needed           |
| `transaction-not-supported` | Transaction is not supported.                                 | No action needed           |

Refer to the [The Clearing House's](https://www.theclearinghouse.org/payment-systems/rtp/technical-documentation) **Message Status Report appendix** for the latest ISO RTP error codes (`networkReasonCode`).

## [RTP credit](#rtp-credit)

The `rtp-credit` payment method is still currently supported, though Moov strongly suggests using `instant-bank-credit` instead. The `rtp-credit` payment method will be deprecated in the future.

Creating transfers with the `instant-bank-credit` payment method is supported for API versions `2026.04.00` and higher.

Instant payments on the RTP rail are enabled by [The Clearing House](https://www.theclearinghouse.org/) and processed almost immediately, 24/7/365. The `rtp-credit` payment method is added to qualifying bank accounts.

![Wallet to bank RTP flow diagram](../images/../images/wallet-to-bank-rtp-light.png)

Once funds are sent, the transfer is final and cannot be reversed. Moov has a platform transaction limit of $10,000,000.00 for RTP credit. If a transfer uses the `rtp-credit` payment method, the response will include `rtpDetails`:

```json
{
  "rtpDetails": {
    "status": "completed",
    "initiatedOn": "2025-08-08T19:45:12Z",
    "completedOn": "2025-08-08T19:45:45Z",
    "failedOn": null, 
    "acceptedWithoutPostingOn": null,
    "failureCode": null, 
    "networkResponseCode": "ACTC"
  }
}
```

Additionally, you can obtain details about a transfer through the transfers `GET` [endpoint](/api/money-movement/transfers/get/).
