> ## 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.

# Understanding the Metadata API

> Discover which Collection Account capabilities are available for your account - filtered by your risk profile, industry vertical, and country

The coverage tables on the previous pages show everything Tazapay supports. What *your* account can actually provision may be a subset - availability depends on your onboarding profile, industry vertical, and merchant country.

The **Metadata API** answers this precisely. Call it before creating a Collection Account and it returns the list of **capabilities** - account type, currency, and payment method combinations - available specifically for your account. Anything restricted for your industry vertical or merchant country is already filtered out, so you can build your product against the real list instead of discovering restrictions at creation time.

| Account type | Endpoint | Reference |
| - | - | - |
| Virtual Accounts | `GET /v3/metadata/collection_account/virtual_account` | [Virtual Account Metadata](/api-reference/tazapay-api/virtual-account-metadata) |
| Stablecoin Wallets | `GET /v3/metadata/collection_account/wallet` | [Wallet Metadata](/api-reference/tazapay-api/wallet-metadata) |

***

## Query Parameters

All parameters are optional - call with none to get every capability available to your account, or narrow the list down.

**country** `string`

Filter capabilities by the country in which the account would be domiciled (ISO 3166 alpha-2, e.g. `SG`). Applies to virtual accounts.

**currencies** `array of string`

Filter capabilities to those supporting the given currencies (ISO format, e.g. `SGD`).

**entity** `string`

The entity ID of a customer, to check availability for a specific onboarded entity.

**on\_behalf\_of** `boolean`

Set to `true` to return capabilities for collecting on behalf of your customers, including any restrictions that apply (see `on_behalf_of` in the response below).

***

## Response - Capabilities

The response contains a single `capabilities` array. Each entry describes one account configuration you can provision.

**Virtual Accounts**

**payment\_method\_type** `string`

The payment method type this capability describes - e.g. `local_bank_transfer_sgd`, `wire_transfer`.

**currencies** `array of string`

Currencies supported by this virtual account type.

**transfer\_limit** `object`

Minimum and maximum limits per transaction.

**transfer\_limit**

**minimum** `object`

The minimum amount per incoming transaction - `amount` and `ccy`.

**maximum** `object`

The maximum amount per incoming transaction - `amount` and `ccy`.

**currency** `string`

Currency in which the limits are specified.

**local** `object`

Local rail details, present for local payment method types.

**local.fund\_transfer\_networks**

**name** `string`

Name of the fund transfer network - e.g. `FAST`, `SEPA`, `ACH`.

**transfer\_limit** `object`

Per-network transaction limits, in the same shape as the capability-level `transfer_limit`.

**additional\_information** `string`

Additional details about the network, such as turnaround time and availability.

**on\_behalf\_of** `object`

Whether - and under which conditions - this capability can be used to collect on behalf of your customers. This is where industry and country restrictions surface.

**on\_behalf\_of**

**support** `boolean`

Whether collecting on behalf of customers is supported for this capability.

**restricted\_industry\_verticals** `array of string`

Industry verticals for which this capability is not available.

**additional\_requirements** `array of string`

Conditions your customer must meet first - `entity_approval_required` or `entity_submission_required`.

**restricted\_remitter\_countries** `array of string`

Payers in these countries cannot send funds to this account type.

**restricted\_account\_holder\_countries** `array of string`

Customers in these countries cannot hold this account type.

**setup\_time** `string`

How long the account takes to provision - `instant`, `same_day`, `t_plus_1`, `t_plus_2`, `t_plus_3`, or `extended`.

**account\_reenablement\_supported** `boolean`

Whether an account of this type can be re-enabled after being disabled.

**Stablecoin Wallets**

**payment\_method\_type** `string`

The stablecoin this capability describes - `stablecoin_usdc` or `stablecoin_usdt`.

**type** `array of string`

Blockchains supported for this stablecoin - e.g. `Ethereum`, `Tron`, `Solana`, `Base`, `Polygon Pos`.

**limit** `object`

Minimum and maximum limits per transaction - `minimum`, `maximum`, and `currency`, in the same shape as the virtual account `transfer_limit`.

**on\_behalf\_of** `object`

Whether - and under which conditions - this capability can be used to collect on behalf of your customers.

**on\_behalf\_of**

**support** `boolean`

Whether collecting on behalf of customers is supported for this capability.

**restricted\_industry\_verticals** `array of string`

Industry verticals for which this capability is not available.

**additional\_requirements** `array of string`

Conditions your customer must meet first - `entity_approval_required` or `entity_submission_required`.

**restricted\_remitter\_countries** `array of string`

Payers in these countries cannot send funds to this wallet type.

**restricted\_account\_holder\_countries** `array of string`

Customers in these countries cannot hold this wallet type.

**setup\_time** `string`

How long the wallet takes to provision - `instant`, `t_plus_1`, `t_plus_2`, `t_plus_3`, or `extended`.

***

## Putting It to Work

**1. Call the Metadata API first**

Before showing account options in your product or calling [Create Collection Account](/api-reference/tazapay-api/create-collection-account), fetch the capabilities for your account.

**2. Build against the returned list**

Only offer the countries, currencies, and payment method types that come back - the list already reflects your account's restrictions.

**3. Check on\_behalf\_of before collecting for customers**

If you provision accounts for your customers, check `on_behalf_of.support` and its restriction fields per capability, and handle `additional_requirements` before creating the account.

> [!NOTE]
>
> Capabilities can differ between sandbox and production, and between accounts - always query the environment and account you are integrating against.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.