# RTP/FedNow

## Overview

RTP, operated by The Clearing House, and FedNow, from the Federal Reserve, are U.S. payment networks that facilitate immediate fund transfers between participating financial institutions, with transactions typically completing within seconds, 24/7/365.

Zūm Rails combines RTP and FedNow into one seamless payment method, enabling customers to instantly transfer funds.

## Benefits of using RTP/FedNow

* **Speed and Availability:** Funds are transferred and available to the recipient almost immediately, typically within seconds, at any time of the day, week or year - including weekends and holidays.
* **Finality of Payment:** Once a payment is successfully processed, it is final and cannot be reversed by the sender. This provides certainty for the recipient.
* **Increased Transparency and Security:** Both sender and receiver typically receive immediate confirmation of the transaction.
* **Broader Accessibility:** FedNow and RTP aim to provide broad access to instant payments for financial institutions of all sizes, including smaller banks and credit unions.
* **Facilitates Innovation:** Instant payments can enable new business models, improve customer experiences (e.g., instant insurance payouts, gig economy worker payments), and foster stronger buyer-supplier relationships.

## **Transaction Types**

Using RTP/FedNow, you can only send funds to your users or withdraw the Zūm Wallet with the following transaction types:

* WithdrawZumWallet
* AccountsPayable

## Transaction Limits

| Transaction Limit            | Minimum | Maximum    |
| ---------------------------- | ------- | ---------- |
| Amount limit per transaction | $0.00   | Unlimited  |
| Maximum volume per day       | $0.00   | Unlimited  |
| Transaction per day          | 0       | 99,999,999 |
| Maximum Volume Per Month     | $0.00   | Unlimited  |

## Transaction Events

Zūm Rails offers comprehensive transaction event tracking, detailing each step in a transaction's lifecycle. These events are also available as webhooks for real-time updates.

{% tabs %}
{% tab title="RTP/FedNow" %}

<table><thead><tr><th width="359">Event</th><th>Description</th></tr></thead><tbody><tr><td>RtpFedNowTransactionAccepted</td><td>When transaction is accepted</td></tr><tr><td>RtpFedNowCreditResponseReceived</td><td>When response is received for credit transaction</td></tr><tr><td>RtpFedNowFailedReturnedOrClosedAccount</td><td>When transaction is returned due to a closed account or any other reason</td></tr><tr><td>RtpFedNowFailedRejectedWithReason</td><td>When transaction is rejected for a reason</td></tr><tr><td>RtpFedNowFailedTransactionNotAllowed</td><td>When transaction is not allowed by the provider</td></tr><tr><td>RtpFedNowFailedGeneralError</td><td>When transaction failed due to a generic error</td></tr><tr><td>RtpFedNowFailedHighRiskOrPotentialFraud</td><td>When transaction is rejected as high-risk or potential fraud</td></tr><tr><td>RtpFedNowFailedInvalidValueForField</td><td>When transaction failed due to invalid value for field</td></tr><tr><td>RtpFedNowFailedDuplicateTransaction</td><td>When transaction failed due to duplicated transaction</td></tr><tr><td>RtpFedNowBankAccountVerificationFailed</td><td>When transaction fails because bank account is unverified</td></tr></tbody></table>
{% endtab %}
{% endtabs %}

{% hint style="success" %}
For detailed instructions on initiating RTP/FedNow transactions, please consult the [API Reference](https://docs.zumrails.com/api-reference/transactions).
{% endhint %}

## Testing

To simulate a failure, include the event name from the list above in the COMMENT field when creating a transaction. If you don't mention an event in the COMMENT, the transaction will change its status to "Completed" in the sandbox environment.

{% tabs %}
{% tab title="Simulating Success" %}

```json
{
  "ZumRailsType": "AccountPayable",
  "TransactionMethod": "RtpFedNow",
  "Amount": 123.45,
  "Memo": "This transaction will succeed",
  "Comment": "This transaction will succeed because there's no keyword",
  "UserId": "1d431e8b-...85452adb4eee",
  "WalletId": "8ebd932b-...b92633e14297"
}
```

{% endtab %}

{% tab title="Simulating Failure" %}

```json
{
  "ZumRailsType": "AccountPayable",
  "TransactionMethod": "RtpFedNow",
  "Amount": 123.45,
  "Memo": "This transaction will fail with event RtpFedNowFailedGeneralError",
  "Comment": "RtpFedNowFailedGeneralError",   // Include event name in comment
  "UserId": "1d431e8b-...85452adb4eee",
  "WalletId": "8ebd932b-...b92633e14297"
}
```

{% endtab %}
{% endtabs %}
