> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orum.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Rail Eligibility

> Understand if a bank account is RTP or FedNow eligible.

There are two way to determine if a bank account is RTP or FedNow eligible:

1. Using a POST request, you can determine whether one or more routing numbers (up to 1,000 per API request) are eligible to receive instant RTP or FedNow payments
2. Using a GET request, you can collect the entire list of RTP and FedNow eligible routing numbers in one API call

## Using the Instant Rail Eligibility Endpoint

Knowing whether your customers are RTP/FedNow eligible allows you to tailor their payment experiences in your web or mobile application. This endpoint can be called at any point in your user flow, such as when a user onboards or when they withdraw money from your platform. You can also store the information received in the response.

When a user begins a withdrawal, disbursement, or payout process, call the Instant Rail Eligibility endpoint to determine if that user’s bank account is eligible for instant payouts. If the routing number is eligible, you can consider offering an "instant withdrawal" option.

Additionally, if you have a list of routing numbers representative of your user base, you can call the API to help gauge what percentage of users are eligible for one of the instant rails.

<Tip>
  Orum keeps track of which routing numbers are eligible for RTP and FedNow, so you do not have to maintain an eligibility list on your end.
</Tip>

## Sandbox Testing

For both the POST and GET requests, the responses that you receive in sandbox will be accurate representations of production responses. The endpoint can be called at any point during your user journey, as it is not dependent on creating an account, person, or business.

Use the below routing numbers to test the POST request.

<Tabs>
  <Tab title="True">
    011000138

    011000206

    011000390

    011001234

    011001331
  </Tab>

  <Tab title="False">
    555555555

    345345345

    121212121

    876543291

    012345678
  </Tab>
</Tabs>

## Errors

For the POST request, the following errors are possible:

| Error                                                                                | API Response                                                             |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
| At least one routing number was not 9 digits (either too few or too many)            | 400 invalid\_body: routingNumbers: the length must be exactly 9          |
| Number of routing numbers exceeded the limit of 1,000 RTNs per request               | 400 invalid\_body: routingNumbers: the length must be between 1 and 1000 |
| At least one routing number contained invalid characters (e.g. letters, punctuation) | Response on specific routing number will return as "false"               |

## Examples

<CodeGroup>
  ```json POST Request theme={null}
  {
      "routing_numbers": ["011000138","011000206","555555555"]
  }
  ```

  ```json POST Response theme={null}
  {
     "routing_numbers":[
         {
             "routing_number": "011000138",
             "eligible": true
         },
         {
             "routing_number": "011000206",
             "eligible": true
         },
         {
             "routing_number": "555555555",
             "eligible": false
         },
     ]
  }
  ```

  ```json GET cURL theme={null}
  curl --location 'http://api.orum.io/deliver/eligibility' \
  --header 'Authorization: ••••••' \
  --data ''
  ```

  ```json GET Response theme={null}
  {
      "011000138": {
          "fed_now": false,
          "rtp": true
      },
      "011000206": {
          "fed_now": false,
          "rtp": true
      },
      "011000390": {
          "fed_now": false,
          "rtp": true
      },
      "011001234": {
          "fed_now": true,
          "rtp": true
      },
  }
  ```
</CodeGroup>
