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

# Provider routing

> Route buyers across card, wallet, local bank, and stablecoin options while keeping one integration contract.

Open Rails separates the merchant integration from the payment data plane. Your app asks for a checkout session; Open Rails chooses the best available route based on method, geography, asset, network, fee model, provider health, and merchant policy.

## Route kinds

| Kind     | Typical buyer action                      | Example providers                |
| -------- | ----------------------------------------- | -------------------------------- |
| `card`   | Pay with card, Apple Pay, or Google Pay   | MoonPay, Transak, Ramp, Onramper |
| `wallet` | Send USDC or USDT from a wallet           | Direct stablecoin checkout       |
| `local`  | Use regional bank or local payment method | Onramp or local rail provider    |

## Route metadata

Every route includes:

* `integrationId` and `integrationLabel`
* `kind`
* `network`
* `asset`
* `payerLabel`
* `kycPolicy`
* buyer fee, gateway fee, provider cost, and estimated margin

## List available routes

```bash theme={null}
curl https://dash.getopenrails.com/api/agent/routes
```

Use `preferredRoute` when creating a checkout session. If you need a specific provider, inspect routes first and pass the route or provider through your own orchestration policy.

## Fail-closed default

If no live route exists for the requested method, the API returns a structured error instead of silently routing to an unknown provider.
