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

# Entrada y salida confidencial de moneda fiat

> Transfiere moneda fiat directamente hacia y desde un saldo privado, sin revelar el activo ni el monto.

Los usuarios pueden transferir saldos en moneda fiat directamente hacia y desde su saldo confidencial de Solana.
Ninguna de estas acciones deposita fondos en un saldo público, por lo que no revela el activo ni el monto que un usuario transfiere.

<Tabs>
  <Tab title="On-ramp from fiat balance">
    | Field                    | Visibility  | Why                                                                   |
    | ------------------------ | ----------- | --------------------------------------------------------------------- |
    | Fiat balance and payment | Not onchain | The fiat payment is not onchain                                       |
    | Asset                    | Private     | The asset is encrypted onchain                                        |
    | Amount                   | Private     | The transferred amount is encrypted onchain                           |
    | Onramp Provider          | Public      | In a confidential Ring the wallet address of the provider is visible. |
    | User wallet address      | Public      | In a confidential Ring the user wallet address is visible onchain.    |
  </Tab>

  <Tab title="Off-ramp to fiat balance">
    | Field               | Visibility  | Why                                                                   |
    | ------------------- | ----------- | --------------------------------------------------------------------- |
    | Fiat payout         | Not onchain | The fiat payout is not onchain                                        |
    | Asset               | Private     | The asset is encrypted onchain                                        |
    | Amount              | Private     | The transferred amount is encrypted onchain                           |
    | Offramp Provider    | Public      | In a confidential Ring the wallet address of the provider is visible. |
    | User wallet address | Public      | In a confidential Ring the user wallet address is visible onchain.    |
  </Tab>
</Tabs>

<img src="https://mintcdn.com/helius/q7LsEOD0O5LZhnha/images/privacy/on-off-ramp/on-offramp-overview.svg?fit=max&auto=format&n=q7LsEOD0O5LZhnha&q=85&s=5678250e0ea926b6461a4c09e2fa5886" alt="A fiat on-ramp and off-ramp. On the fiat side, a User fiat balance box connects by a two-way arrow to an Onramp Provider and Offramp Provider circle that straddles a dashed divider between fiat and onchain. On the private onchain side, the provider connects by a two-way arrow to user wallets holding private balances." width="1560" height="500" data-path="images/privacy/on-off-ramp/on-offramp-overview.svg" />

## Requisitos previos:

* El proveedor (por ejemplo, un exchange centralizado o un procesador de fiat a criptomonedas) mantiene un saldo privado del activo para las entradas y salidas privadas (SOL o cualquier token SPL o Token 2022, como USDC).
* Asegúrate de que la cuenta privada de entrada y salida tenga saldo suficiente para atender a tus usuarios.
* El usuario tiene una billetera privada.

## Flujos generales

La parte correspondiente a la moneda fiat depende de tu libro mayor interno.
Las entradas y salidas privadas pueden integrarse en el anillo predeterminado o en un anillo personalizado. Un anillo personalizado puede ser confidencial o anónimo.

### 1. Entrada

Una entrada acredita un saldo privado: el usuario paga en moneda fiat fuera de la cadena y el proveedor envía una transferencia privada en cadena desde su cuenta de entrada a la billetera privada del usuario.

1. El usuario deposita moneda fiat.
2. El proveedor vincula el depósito en moneda fiat del usuario con una billetera privada en el libro mayor interno.
3. El proveedor sincroniza el saldo privado de la cuenta de entrada para obtener su saldo más reciente y luego envía una transferencia privada a la billetera privada del usuario.

```mermaid theme={"system"}
%%{init: {
  'theme': 'base',
  'themeVariables': {
    'lineColor':           '#FF6B35',
    'primaryTextColor':    '#737373',
    'primaryBorderColor':  '#9CA3AF',
    'actorBkg':            '#FFFFFF',
    'actorBorder':         '#9CA3AF',
    'actorTextColor':      '#737373',
    'signalColor':         '#FF6B35',
    'signalTextColor':     '#737373',
    'labelBoxBkgColor':    '#FF6B351F',
    'labelBoxBorderColor': '#FF6B35',
    'noteBkgColor':        '#F5F5F5',
    'noteTextColor':       '#737373',
    'noteBorderColor':     '#9CA3AF'
  }
}}%%
sequenceDiagram
    participant User
    participant UW as UserWallet
    participant P as Provider OnOfframp
    participant RPC as RPC
    participant SPP as Solana

    User->>P: onramp request (fiat amount)

    P->>RPC: sync the on-ramp account balance
    RPC-->>P: latest on-ramp account balance
    Note over P: build and sign the private transfer
    P->>RPC: request proof
    RPC-->>P: proof
    P->>SPP: submit private transfer (on-ramp account to user)
    SPP-->>P: confirmed, transaction hash

    UW->>RPC: sync private balance
    RPC-->>UW: confirm private balance
```

### 2. Salida

Una salida consiste en una transferencia privada desde la billetera privada del usuario a la cuenta de salida y en una actualización del libro mayor interno del proveedor para pagarle al usuario en moneda fiat.

Los pasos para completar una salida privada incluyen:

1. El usuario sincroniza su saldo privado y envía una transferencia privada a la cuenta de salida del proveedor.
2. En un anillo confidencial, el proveedor puede vincular la transferencia mediante la dirección visible de la billetera del usuario. En un anillo anónimo, el libro mayor público no revela al remitente ni al destinatario; vincula la transferencia mediante la solicitud de salida en el libro mayor interno.

```mermaid theme={"system"}
%%{init: {
  'theme': 'base',
  'themeVariables': {
    'lineColor':           '#FF6B35',
    'primaryTextColor':    '#737373',
    'primaryBorderColor':  '#9CA3AF',
    'actorBkg':            '#FFFFFF',
    'actorBorder':         '#9CA3AF',
    'actorTextColor':      '#737373',
    'signalColor':         '#FF6B35',
    'signalTextColor':     '#737373',
    'labelBoxBkgColor':    '#FF6B351F',
    'labelBoxBorderColor': '#FF6B35',
    'noteBkgColor':        '#F5F5F5',
    'noteTextColor':       '#737373',
    'noteBorderColor':     '#9CA3AF'
  }
}}%%
sequenceDiagram
    participant User
    participant UW as UserWallet
    participant P as Provider OnOfframp
    participant RPC as RPC
    participant SPP as Solana

    User->>P: send off-ramp request (amount)

    UW->>RPC: sync private balance
    Note over UW: build and sign the private transfer
    UW->>RPC: request proof
    RPC-->>UW: proof
    UW->>SPP: submit private transfer (user to off-ramp account)
    SPP-->>UW: confirmed, transaction hash

    P->>RPC: sync off-ramp account
    RPC-->>P: off-ramp request confirmed
    Note over P: match sender to a user, credit fiat ledger
    P->>User: pay out fiat
```

### 3. Cuenta de entrada y salida

La cuenta de entrada y salida es un saldo privado del proveedor que permite atender las entradas y salidas de los usuarios. Puede contener SOL o cualquier token SPL o Token-2022 que quieras admitir, como USDC.

Asegúrate de que la cuenta de entrada y salida tenga saldo suficiente para atender a tus usuarios, al igual que las cuentas públicas de entrada y salida.

#### Financiar la cuenta de entrada y salida

Para financiar el saldo privado de la cuenta, deposita desde un saldo público de Solana (billetera pública de origen) a un saldo privado. Los usuarios solo interactúan con la cuenta mediante transferencias privadas, por lo que los montos y activos transferidos al usuario nunca quedan expuestos.

| Field                      | Visibility | Why                                                |
| -------------------------- | ---------- | -------------------------------------------------- |
| Source public wallet       | Public     | The source wallet address is visible onchain       |
| Asset                      | Public     | The asset is visible onchain                       |
| Amount                     | Public     | The deposited amount is visible onchain            |
| Destination wallet address | Public     | The destination wallet address is visible onchain  |
| Resulting private balance  | Private    | The resulting private balance is encrypted onchain |

## Comienza la integración

<Card title="Native Wallet Integration" icon="wallet" href="/docs/es/privacy/integration/wallet">
  Agrega compatibilidad con la privacidad mediante tu propia administración de claves. Para proveedores que quieran administrar claves de cifrado y ejecutar la sincronización de estado.
</Card>

<Card title="Integrate Embedded Privacy Wallet" icon="key" href="/docs/es/privacy/integration/embedded-wallet">
  Agrega compatibilidad con la privacidad a tu aplicación mediante una API REST. Para proveedores y aplicaciones que quieran comenzar rápidamente sin administrar sus propias claves ni sincronizar el estado.
</Card>

<Card title="Integration with Custom Ring" icon="building" href="/docs/es/privacy/integration/enterprise">
  Agrega compatibilidad con la privacidad mediante una API REST y configura un anillo personalizado con controles de políticas y cumplimiento.
  Para empresas fintech, plataformas de nómina, empresas de remesas, neobancos y empresas.
</Card>

## Didn't find what you were looking for?

<Callout type="info">
  Reach out! [Telegram](https://t.me/tilo_light) | [E-Mail](mailto:sales@helius.xyz) | [Contact](https://www.helius.dev/contact)
</Callout>
