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

# Bancos soportados

> Instituciones chilenas disponibles, sus productos y cómo consultarlas en runtime.

Rail conecta cuentas de las principales instituciones chilenas, **solo lectura** (saldos + movimientos). La lista viva y autoritativa es `GET /v1/institutions` — consúltala para armar tu UI de selección de banco; cuando sumamos una institución nueva aparece ahí sin que cambies tu integración.

<Note>
  El `bank_id` es el identificador que pasas al crear un link o emitir un `widget_token`. El `id` de institución (`cl_<bank_id>`) es el que devuelven los recursos de la API.
</Note>

## Instituciones

| Institución           | `bank_id`         | Productos                                                                      |
| --------------------- | ----------------- | ------------------------------------------------------------------------------ |
| Banco Santander Chile | `santander`       | Cuenta corriente, cuenta vista, tarjeta de crédito · [empresa](#banca-empresa) |
| Banco de Chile        | `banco_chile`     | Cuenta corriente, tarjeta de crédito                                           |
| BancoEstado           | `banco_estado`    | CuentaRUT, vista, corriente, ahorro                                            |
| BCI                   | `bci`             | Cuenta corriente, tarjeta de crédito                                           |
| Scotiabank            | `scotia`          | Cuenta corriente, tarjeta de crédito                                           |
| Banco BICE            | `bice`            | Cuenta corriente, tarjeta de crédito                                           |
| Banco Falabella       | `banco_falabella` | CMR Visa (tarjeta de crédito)                                                  |
| Itaú                  | `itau`            | Cuenta corriente                                                               |
| Líder BCI             | `liderbci`        | Tarjeta de crédito                                                             |
| Tarjeta Cencosud      | `cencosud`        | Tarjeta de crédito                                                             |
| Mercado Pago          | `mercado_pago`    | Wallet (login por correo)                                                      |

Todas devuelven montos en **CLP** (Santander empresa incluye además **USD**). El histórico por defecto es de 60–90 días; con `refresh_type: "historical"` en el `refresh_intent` se amplía la ventana donde el banco lo permite.

## Comportamientos a tener en cuenta

<Warning>
  **MFA en cada sync (Santander, BCI).** Estos bancos usan clave dinámica: cada `refresh_intent` pasa por `requires_mfa` y tu app debe reabrir el widget para que la persona ingrese el código. Diseña tu UX contando con esto — ver [MFA handling](/guides/mfa-handling).
</Warning>

<Note>
  **BancoEstado** tiene login asíncrono: puede tardar 60–90 segundos en detectar una clave incorrecta. Si tu usuario reporta que la conexión "se queda pegada", espera al menos 90s antes de asumir error.
</Note>

<Note>
  **Mercado Pago** se autentica con **correo** (no RUT) y su validación es multi-paso (código por WhatsApp / escaneo de QR). El widget renderiza el formulario correcto según la institución.
</Note>

Instituciones enfocadas solo en **tarjeta de crédito**: Banco Falabella (CMR), Líder BCI, Tarjeta Cencosud.

## Sandbox

En [test mode](/test-mode), **todas las instituciones funcionan** con las credenciales mágicas (RUT `11.111.111-1` + clave `rail-sandbox`) y devuelven data fake determinista — sin tocar el banco real. El `bank_id` que elijas es cosmético en sandbox.

## Banca empresa

Las cuentas de empresa **no son un `bank_id` aparte**: usas la misma institución y la distingues con `holder_type: "business"` al emitir el `widget_token`. Mismo modelo que Fintoc — ver [Banca empresa](/guides/banca-empresa).

| Institución           | `bank_id`   | Empresa                                            |
| --------------------- | ----------- | -------------------------------------------------- |
| Banco Santander Chile | `santander` | Office Banking (RUT usuario + RUT empresa + clave) |

<Note>
  Consulta `GET /v1/institutions?holder_type=business` para ver en todo momento qué instituciones soportan empresa y qué credenciales pide cada una (`credential_fields`).
</Note>

## Consultar disponibilidad en runtime

`GET /v1/institutions` lista las instituciones soportadas, sus productos por `holder_type` y los campos de credenciales que pide cada una. Filtra con `?holder_type=` y `?product=`.

```bash theme={null}
curl https://api.rail.cl/v1/institutions \
  -H "Authorization: Bearer rail_pk_live_…"
```

Response:

```json theme={null}
{
  "object": "list",
  "data": [
    {
      "object": "institution",
      "id": "cl_santander",
      "country": "cl",
      "name": "Banco Santander Chile",
      "products": [
        {
          "name": "movements",
          "holder_type": "individual",
          "credential_fields": [
            { "key": "rut", "label": "RUT", "type": "rut" },
            { "key": "password", "label": "Clave", "type": "password" }
          ]
        }
      ]
    }
  ]
}
```

Úsala para armar tu UI de selección de banco (qué instituciones mostrar para `individual` vs `business`, y qué campos pedir en cada una).
