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

# Currencies and rails

> Supported assets, networks, and payment rails in OMS.

Every side of a transaction specifies an **asset** (what kind of money) and, for most instruments, a **network** (how it moves). Crypto sides carry an `asset` and a `network`; fiat sides carry an `asset` (`usd` or `cad`) and a rail-specific `network`.

## Crypto assets and networks

OMS custodial wallets and on-chain instruments hold stablecoins:

| Asset  | Description |
| ------ | ----------- |
| `usdc` | USD Coin    |
| `usdt` | Tether USD  |

A crypto instrument pairs the asset with a `network` (for example `polygon`). Each side also resolves a `blockchainAsset` object that carries the on-chain identity: the wire-level `protocol` (`evm`, `svm`, or `sui`), the `chainId`, and the `tokenId`.

Polygon is the recommended network for most use cases: sub-2-second finality, fractions-of-a-cent transaction cost, and native USDC (no bridging or wrapping).

<Note>
  Deposit-address inbound simulation accepts stablecoins (`USDC`, `USDT`) on a defined set of source chains. See [Deposit addresses](/payments/deposit-addresses) for the inbound flow.
</Note>

## Fiat rails

Fiat instruments are identified by a `type` and carry a rail-specific `network`:

| Instrument   | Asset | Network      | Description                                        |
| ------------ | ----- | ------------ | -------------------------------------------------- |
| `bankUs`     | `usd` | `ach`        | US dollars via ACH bank transfer                   |
| `bankUs`     | `usd` | `achSameDay` | US dollars via same-day ACH                        |
| `bankUs`     | `usd` | `wire`       | US dollars via domestic wire                       |
| `bankUs`     | `usd` | `rtp`        | US dollars via real-time payments                  |
| `bankIban`   | `usd` | `swift`      | US dollars to an IBAN account over SWIFT           |
| `bankCanada` | `usd` | `swift`      | US dollars to a Canadian account over SWIFT        |
| `bankCanada` | `cad` | `local`      | Canadian dollars over local rails                  |
| `card`       | `usd` | `card`       | US dollars via [debit card](/payments/debit-cards) |
| `cash`       | `usd` | `cash`       | US dollars via physical cash at retail locations   |

Card rails accept a `settlementType` on the quote: `internal` (OMS custodies the crypto) or `external` (an on-chain wallet). A card buy defaults to `external`; a card sell defaults to `internal`. The field is ignored for non-card rails.

Which rails a customer can use depends on the endorsements granted to that customer (`basic`, `cryptoCustody`, and `usd`). Endorsements are granted after verification and delivered via webhook. See [Entities and relationships](/payments/core-concepts/entities) for the endorsement model.

## Exchange rates and FX

USD and its stablecoins convert by issuer redemption: USD to USDC or USDT is redeemed 1:1 with the issuer, so there is no market, exchange, or central-bank reference rate and no FX spread. What a quote locks is the fee schedule, not a fluctuating rate. The quote's `pricing` object expresses this:

* `pricing.exchangeRate`: units of the destination asset per unit of the source asset.
* `pricing.effectiveRate`: the all-in rate the customer receives after fees.
* `pricing.fixedAmountSide`: which side of the trade the amount was specified on.
* `expiresAt`: when the locked pricing expires.

The per-side `feesDeducted` breakdown reports OMS, developer, and gas fees separately.

## Settlement times

Typical production times from initiating a payment to the confirmation event. Inbound confirmations fire when the bank confirms receipt; the same timing applies to payouts.

| Rail            | Typical settlement                                   |
| --------------- | ---------------------------------------------------- |
| ACH             | Next business day (morning ET of the effective date) |
| Same-Day ACH    | Same business day                                    |
| Fedwire         | About an hour, within the Fedwire window             |
| RTP             | Instant, 24/7                                        |
| SWIFT           | 1 to 2 business days                                 |
| Polygon, Solana | About a minute                                       |
| Ethereum, Base  | About 5 minutes                                      |

Amounts above bank-internal thresholds can trigger a compliance review before release: a hold, not a rejection. Execution is never force-split across payments.

## Cash networks

OMS supports cash deposits and withdrawals through a partner retail network. A cash-in generates a code the customer presents at a retail location; OMS monitors for the deposit and auto-creates a `cashToCrypto` transaction when cash is received. Cash payouts (`cryptoToCash`) are delivered as a pickup: the amount must be a multiple of 20.00, up to a maximum of 400.00 per transaction.

Query available locations with `GET /cash-locations`, passing the `provider`, the customer's `latitude` and `longitude`, and a `flow` of `cash_in` or `cash_out`. See the [Cash-ins and cash-outs](/payments/cash-ins-and-cash-outs) page for the full flow.

## Forward-looking

Reference endpoints that return the live, authoritative asset, network, and rail catalog (along with per-asset limits and gas-sponsorship support) and a project configuration endpoint are planned for an upcoming release. Until then, the tables above summarize what the canonical API supports.
