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

# Onramper Accounts: Fiat a Stablecoin Automatizado

> Los Onramper Accounts le dan a cada cliente una cuenta bancaria virtual dedicada que convierte automáticamente los depósitos fiat en stablecoins on-chain.

Los Onramper Accounts te permiten automatizar la conversión de fiat a stablecoin sin emitir una llamada API por transferencia para cada depósito. Creas una cuenta bancaria virtual para cada cliente, y cualquier fiat depositado en esa cuenta se convierte automáticamente a la stablecoin vinculada y se entrega a la billetera on-chain del cliente — sin polling, sin paso de conversión manual.

<Note>
  Los Onramper Accounts son un producto adicional. Usan diferentes endpoints que la API de Transferencias y no soportan la creación de cuentas bancarias a través de la API de Transferencias.
</Note>

## Cómo funciona

Cuando creas un Onramper Account, SpherePay provisiona una cuenta bancaria virtual dedicada vinculada a una dirección de billetera on-chain específica. El flujo completo es:

1. Creas un Onramper Account para un cliente, vinculando su cuenta bancaria virtual a una billetera de destino.
2. Compartes los detalles de la cuenta bancaria virtual (número de cuenta, número de enrutamiento, nombre del beneficiario) con tu cliente.
3. El cliente realiza un depósito fiat a la cuenta virtual vía ACH, Wire o SEPA.
4. SpherePay convierte automáticamente el depósito a la stablecoin configurada.
5. La stablecoin convertida se entrega a la billetera on-chain del cliente — no se requieren llamadas API adicionales.

## Cuándo usar Onramper Accounts vs. la API de Transferencias

Usa Onramper Accounts cuando quieras una conversión completamente automatizada, activada por depósitos, sin llamada API por transferencia. Usa la API de Transferencias cuando necesites control explícito por transferencia, webhooks o un flujo personalizado activado por tu backend.

## Una cuenta por cliente

<Warning>
  Un Onramper Account no tiene atribución por transferencia. Si múltiples clientes comparten una sola cuenta virtual, identificar quién envió un depósito requiere hacer coincidir manualmente por monto, tiempo o banco de origen — lo que es propenso a errores. Siempre crea un Onramper Account por cliente, incluso si comparten la misma billetera de destino.
</Warning>

## Rieles y divisas soportados

| Dirección         | Divisa | Rieles                                               |
| ----------------- | ------ | ---------------------------------------------------- |
| Fiat entrada      | USD    | ACH, Wire                                            |
| Fiat entrada      | EUR    | SEPA                                                 |
| Stablecoin salida | USDC   | Arbitrum, Avalanche, Base, Ethereum, Polygon, Solana |
| Stablecoin salida | USDT   | Ethereum, Tron                                       |

## Pasos de integración

Antes de comenzar, confirma que los Onramper Accounts están habilitados para tu aplicación de SpherePay. Contacta a tu representante de ventas si necesitas acceso.

<Steps>
  <Step title="Incorporar al cliente">
    Cada cliente debe estar registrado vía la API de [Crear Cliente](/es/api-reference/customer/post), haber aceptado los Términos de Servicio, completado KYC (para individuos) o KYB (para empresas), y tener un estado de cliente `approved`.
  </Step>

  <Step title="Crear un Onramper Account">
    Llama a `POST /v2/virtual-account` con el ID de cliente, divisa de origen, stablecoin de destino, red y dirección de billetera.

    ```json theme={"dark"}
    {
      "customerId": "customer_1ab2c3d4",
      "sourceCurrency": "USD",
      "destinationCurrency": "USDC",
      "network": "ethereum",
      "walletAddress": "0x1234...abcd"
    }
    ```

    La respuesta incluye las instrucciones de depósito de la cuenta bancaria virtual y la configuración de destino.

    ```json theme={"dark"}
    {
      "id": "virtualAccount_987xyz654",
      "active": true,
      "fees": {
        "totalBpsRate": "20",
        "integratorFee": {
          "bpsRate": "10"
        },
        "platformFee": {
          "bpsRate": "10"
        }
      },
      "depositInstructions": {
        "currency": "USD",
        "bankName": "Bank of Example",
        "bankAccountNumber": "000123456789",
        "bankRoutingNumber": "1234567890",
        "bankBeneficiaryName": "John Doe",
        "bankBeneficiaryAddress": "123 Main St, Anytown, USA"
      },
      "destination": {
        "currency": "USDC",
        "walletAddress": "0x1234...abcd",
        "network": "ethereum"
      },
      "created": "2025-04-20T21:49:46.697Z",
      "updated": "2025-04-20T21:50:18.854Z"
    }
    ```
  </Step>

  <Step title="Recuperar detalles de la cuenta">
    Usa `GET /v2/virtual-account/{virtual_account_id}` para recuperar la cuenta virtual y confirmar que las instrucciones de depósito son correctas antes de compartirlas con tu cliente.
  </Step>

  <Step title="Compartir los detalles de la cuenta bancaria con tu cliente">
    Proporciona al cliente las `depositInstructions` de la respuesta: número de cuenta, número de enrutamiento, nombre del beneficiario y dirección del beneficiario. Instrúyelos a usar estos detalles al hacer una transferencia fiat desde su banco.
  </Step>

  <Step title="El cliente realiza un depósito fiat">
    Una vez que tu cliente deposita fiat en la cuenta virtual, SpherePay convierte automáticamente los fondos y entrega la stablecoin a la dirección de billetera configurada. No se requieren más llamadas API de tu parte.

    <Note>
      La conversión es instantánea una vez que los fondos llegan a la cuenta virtual. El tiempo de transferencia desde el banco del cliente a la cuenta virtual depende del riel (ACH, Wire o SEPA).
    </Note>
  </Step>
</Steps>

## Operaciones API adicionales

Además de crear y recuperar cuentas virtuales, la API soporta:

* `PATCH /v2/virtual-account/{id}` — actualizar la billetera de destino o la divisa
* `GET /v2/virtual-account` — listar todas las cuentas virtuales
* `PATCH /v2/virtual-account/{id}/deactivate` — desactivar una cuenta virtual
* `PATCH /v2/virtual-account/{id}/reactivate` — reactivar una cuenta desactivada

Para verificar el estado de transferencias individuales, usa el endpoint de [Lista de Transferencias de Cuenta Virtual](/es/api-reference/virtual-account/list-transfers).

## Verificación de cuenta

Algunas plataformas externas, como bancos, proveedores de nómina o aplicaciones de pago, pueden requerir que los clientes verifiquen la propiedad de su cuenta virtual antes de vincularla. Estas plataformas pueden iniciar la verificación por microdepósito o depósito de desafío enviando uno o más depósitos pequeños al Onramper Account.

SpherePay no completa la verificación en nombre del cliente. Cuando llega un depósito de verificación, SpherePay lo registra como una transferencia con `type: microdeposit` y expone el monto a través de la API de Transferencias. El cliente completa la verificación en la plataforma externa que inició el flujo confirmando el monto exacto de los depósitos.

Patrones comunes:

* **Verificación por micro-depósito** — se envían uno o más depósitos pequeños, a menudo menores a \$1, a la cuenta virtual.
* **Verificación por depósito de desafío** — se realizan uno o más depósitos pequeños, y el cliente confirma el monto exacto en la plataforma externa.

Usa `GET /v2/transfer?type=microdeposit` para listar depósitos de verificación.

## Regiones soportadas

Los Onramper Accounts están disponibles para usuarios finales globalmente, excepto en regiones sancionadas o de otro modo prohibidas por ley. Contacta a SpherePay para obtener una lista actualizada de regiones restringidas.
