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

# Payout Bank Metadata Fields

> Field-by-field breakdown of the Payout Bank Metadata response — what the payout request must contain for a corridor, and what that corridor can do.

## The Payout Method Object

Each entry in `data.payout_methods` describes one country-currency corridor. Where you read the capability fields depends on `payout_type` — see [Field placement by payout\_type](#field-placement-by-payout-type) below.

<CodeGroup>
  ```json Local expandable theme={null}
  {
    "beneficiary_type": ["individual", "business"],
    "country": "IN",
    "currency": "INR",
    "custom_remitter_support": true,
    "payout_type": "local",
    "delivery_time": null,
    "on_behalf_of_supported": null,
    "supported_modes": [],
    "restricted_purpose_codes": [],
    "cutoff_schedule": null,
    "fund_transfer_networks": [
      {
        "name": "imps",
        "additional_information": "IMPS is used for instant payouts eligible for real-time local clearing on a 24/7 basis.",
        "remitter_preference_support": true,
        "transfer_limit": {
          "currency": "INR",
          "minimum": 100,
          "maximum": 50000000
        },
        "delivery_time": "instant",
        "on_behalf_of_supported": true,
        "supported_modes": ["B2B", "B2C", "C2B", "C2C"],
        "restricted_purpose_codes": [],
        "cutoff_schedule": null
      },
      {
        "name": "neft",
        "additional_information": "NEFT settles in batches during banking hours.",
        "remitter_preference_support": true,
        "transfer_limit": {
          "currency": "INR",
          "minimum": 100,
          "maximum": 50000000
        },
        "delivery_time": "next_day, t_plus_2, t_plus_3",
        "on_behalf_of_supported": false,
        "supported_modes": ["B2B", "B2C"],
        "restricted_purpose_codes": ["P0102"],
        "cutoff_schedule": {
          "timezone": "Asia/Kolkata",
          "days": {
            "1": { "open": "09:00", "close": "17:00" },
            "2": { "open": "09:00", "close": "17:00" },
            "3": { "open": "09:00", "close": "17:00" },
            "4": { "open": "09:00", "close": "17:00" },
            "5": { "open": "09:00", "close": "15:00" }
          }
        }
      }
    ],
    "recommended_fields": {
      "recommended_bank_codes": [],
      "recommended_bank_fields": [],
      "recommended_beneficiary_fields": []
    },
    "required_bank_codes": ["ifsc_code"],
    "required_bank_fields": ["account_holder_name", "bank_name", "account_number"],
    "required_beneficiary_fields": [
      "address.line1",
      "address.city",
      "address.state",
      "address.postal_code"
    ],
    "supported_destinations": [],
    "transfer_limit": {
      "currency": "INR",
      "minimum": 100,
      "maximum": 50000000
    }
  }
  ```

  ```json Swift expandable theme={null}
  {
    "beneficiary_type": ["individual", "business"],
    "country": "IN",
    "currency": "OMR",
    "custom_remitter_support": true,
    "payout_type": "swift",
    "delivery_time": "next_day",
    "on_behalf_of_supported": false,
    "supported_modes": ["B2B", "B2C", "C2B", "C2C"],
    "restricted_purpose_codes": [],
    "cutoff_schedule": {
      "timezone": "Asia/Singapore",
      "days": {
        "1": { "open": "08:30", "close": "18:30" },
        "2": { "open": "08:30", "close": "18:30" },
        "3": { "open": "08:30", "close": "18:30" },
        "4": { "open": "08:30", "close": "18:30" },
        "5": { "open": "08:30", "close": "18:30" }
      }
    },
    "fund_transfer_networks": [],
    "recommended_fields": {
      "recommended_bank_codes": [],
      "recommended_bank_fields": [],
      "recommended_beneficiary_fields": []
    },
    "required_bank_codes": ["swift_code"],
    "required_bank_fields": ["account_holder_name", "bank_name", "account_number"],
    "required_beneficiary_fields": [
      "address.line1",
      "address.city",
      "address.state",
      "address.postal_code"
    ],
    "supported_destinations": [],
    "transfer_limit": {
      "currency": "OMR",
      "minimum": 500,
      "maximum": 3500000000
    }
  }
  ```
</CodeGroup>

## Field placement by payout\_type

| `payout_type` | Read capability fields from                                                                                            |
| :------------ | :--------------------------------------------------------------------------------------------------------------------- |
| `local`       | **Each entry of `fund_transfer_networks`** — at the corridor top level these fields are returned empty (`null` / `[]`) |
| `swift`       | **Top level of the `payout_methods` entry** — `fund_transfer_networks` is an empty array                               |

The two levels are **mutually exclusive, not a precedence pair**: whichever level applies carries the values and the other is returned empty, so you never have to reconcile the two.

This split exists because for `local`, capabilities such as operating hours, OBO support and purpose-code restrictions are inherently network-specific (IMPS vs NEFT in India, FPS vs CHATS in Hong Kong). For `swift` there is no fund transfer network, so the corridor top level is the only meaningful place.

## Request Fields

| Field    | Type   | Mandatory | Description                                                                                               |
| :------- | :----- | :-------- | :-------------------------------------------------------------------------------------------------------- |
| country  | string | Y         | 2-letter ISO 3166 country code of the beneficiary. For e.g. `US` for United States                        |
| currency | string | N         | 3-letter ISO 4217 currency code. For e.g. `USD`. Omit to receive every currency supported for the country |

## Response Fields

| Field                         | Sub-field                        | Type            | Description                                                                                                                                                                                                                                                                                                                                                                                               |
| :---------------------------- | :------------------------------- | :-------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| beneficiary\_type             |                                  | array of string | Beneficiary types accepted on this corridor: `individual`, `business`                                                                                                                                                                                                                                                                                                                                     |
| country                       |                                  | string          | Beneficiary country, ISO 3166 alpha-2                                                                                                                                                                                                                                                                                                                                                                     |
| currency                      |                                  | string          | Payout currency, uppercase, ISO-4217 standard                                                                                                                                                                                                                                                                                                                                                             |
| custom\_remitter\_support     |                                  | boolean         | Whether a custom remitter name can be supplied on the payout request                                                                                                                                                                                                                                                                                                                                      |
| payout\_type                  |                                  | enum            | `local` or `swift`. Determines where the capability fields are populated                                                                                                                                                                                                                                                                                                                                  |
| delivery\_time                |                                  | string \| null  | Settlement speed label — not a duration. Known tokens: `instant`, `same_day`, `next_day`, `t_plus_2`, `t_plus_3`. A value may be a single token or a comma-separated combination, e.g. `"same_day, next_day"` or `"next_day, t_plus_2, t_plus_3"`. Treat it as an open set and match on substrings rather than hard-coding an exhaustive enum. `null` when no provider in the group publishes an estimate |
| on\_behalf\_of\_supported     |                                  | boolean \| null | Whether the group supports On-Behalf-Of (OBO) transactions. `true` if any provider in the group supports OBO. `null` at a level that does not apply — note `null` is **not** the same as `false`                                                                                                                                                                                                          |
| supported\_modes              |                                  | array of string | Supported remitter-to-beneficiary party type combinations: `B2B` (business to business), `B2C` (business to consumer), `C2B` (consumer to business), `C2C` (consumer to consumer)                                                                                                                                                                                                                         |
| restricted\_purpose\_codes    |                                  | array of string | Purpose codes that are **not supported**. Empty array means all purpose codes are accepted. See [Supported Purpose Codes](/payouts/local-guides/supported-purpose-codes)                                                                                                                                                                                                                                  |
| cutoff\_schedule              |                                  | json \| null    | Weekly operating window. **`null` means available 24/7**                                                                                                                                                                                                                                                                                                                                                  |
|                               | timezone                         | string          | IANA time-zone identifier (e.g. `Asia/Singapore`, `Asia/Kolkata`) that `open`/`close` are expressed in. An **empty `timezone` means the times are UTC**                                                                                                                                                                                                                                                   |
|                               | days                             | json            | Map keyed by ISO 8601 day number (`"1"`=Monday … `"7"`=Sunday). A missing day key means closed on that day                                                                                                                                                                                                                                                                                                |
|                               | days.\{n}.open                   | string          | Window open time as `"HH:MM"` (24-hour), in the schedule's `timezone`                                                                                                                                                                                                                                                                                                                                     |
|                               | days.\{n}.close                  | string          | Window close time as `"HH:MM"` (24-hour), in the schedule's `timezone`. The close minute itself is inclusive. A window whose `close` is earlier than its `open` (e.g. `"22:00"`–`"06:00"`) rolls over into the next day                                                                                                                                                                                   |
| fund\_transfer\_networks      |                                  | array of json   | Networks available for local payouts. Populated only when `payout_type` is `local`; an empty array for `swift`. For `local` these entries are the source of truth for the capability fields                                                                                                                                                                                                               |
|                               | name                             | string          | Name of the fund transfer network, e.g. `imps`, `neft`                                                                                                                                                                                                                                                                                                                                                    |
|                               | additional\_information          | string          | Any additional information stored against the network                                                                                                                                                                                                                                                                                                                                                     |
|                               | remitter\_preference\_support    | boolean         | Whether this network can be specified in the payout request                                                                                                                                                                                                                                                                                                                                               |
|                               | transfer\_limit                  | json            | Transfer limits for this network — `currency`, `minimum`, `maximum`. Amounts are in cents; refer to [decimal currencies](/api-reference/appendix/decimal-currencies)                                                                                                                                                                                                                                      |
|                               | delivery\_time                   | string \| null  | Same semantics as the corridor-level field above, scoped to this network                                                                                                                                                                                                                                                                                                                                  |
|                               | on\_behalf\_of\_supported        | boolean \| null | Same semantics as the corridor-level field above, scoped to this network                                                                                                                                                                                                                                                                                                                                  |
|                               | supported\_modes                 | array of string | Same semantics as the corridor-level field above, scoped to this network                                                                                                                                                                                                                                                                                                                                  |
|                               | restricted\_purpose\_codes       | array of string | Same semantics as the corridor-level field above, scoped to this network                                                                                                                                                                                                                                                                                                                                  |
|                               | cutoff\_schedule                 | json \| null    | Same semantics as the corridor-level field above, scoped to this network                                                                                                                                                                                                                                                                                                                                  |
| recommended\_fields           |                                  | json            | Optional fields that widen routing options when supplied                                                                                                                                                                                                                                                                                                                                                  |
|                               | recommended\_bank\_codes         | array of string | Recommended bank codes                                                                                                                                                                                                                                                                                                                                                                                    |
|                               | recommended\_bank\_fields        | array of string | Recommended bank fields                                                                                                                                                                                                                                                                                                                                                                                   |
|                               | recommended\_beneficiary\_fields | array of string | Recommended beneficiary fields                                                                                                                                                                                                                                                                                                                                                                            |
| required\_bank\_codes         |                                  | array of string | Bank codes that must be supplied, e.g. `ifsc_code`, `swift_code`                                                                                                                                                                                                                                                                                                                                          |
| required\_bank\_fields        |                                  | array of string | Bank fields that must be supplied                                                                                                                                                                                                                                                                                                                                                                         |
| required\_beneficiary\_fields |                                  | array of string | Beneficiary fields that must be supplied, using dot notation, e.g. `address.line1`                                                                                                                                                                                                                                                                                                                        |
| supported\_destinations       |                                  | array of string | Supported payout destinations for the corridor                                                                                                                                                                                                                                                                                                                                                            |
| transfer\_limit               |                                  | json            | Corridor-level transfer limits — `currency`, `minimum`, `maximum`. Amounts are in cents; refer to [decimal currencies](/api-reference/appendix/decimal-currencies)                                                                                                                                                                                                                                        |

<Info>
  **`null` is meaningful — it is not the same as `false` or `""`.** The capability fields are always present in the response; an unset capability comes back as `null` (`delivery_time`, `on_behalf_of_supported`, `cutoff_schedule`) or `[]` (`supported_modes`, `restricted_purpose_codes`). In particular `on_behalf_of_supported: null` means "not stated at this level", whereas `false` means "explicitly not supported", and `cutoff_schedule: null` means 24/7, not "unknown". For `local` corridors always read the per-network values so you do not miss network-specific behavior.
</Info>

## Relevant Links

1. [Payout Bank Metadata API](/api-reference/tazapay-api/payout-bank)
2. [Using Payout Capability Fields](/payouts/payout-network/using-payout-capability-fields)
3. [Fund Transfer Networks](/payouts/payout-network/fund-transfer-networks)
4. [Create Payout](/api-reference/tazapay-api/create-payout)
