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

# Fiat gates

> Where settled fiat lands — the naira and USD gates — and which direction the money moves.

Every session picks exactly one **fiat gate**. The gate decides where settled
fiat lands and what identity, if any, is required.

## `naira` — named virtual accounts

The naira gate carries per-user identity. Alongside a `user_ref`, pass an
`account` block:

* First-time customer — `{ provision: true, bvn, nin }`, so Pulse provisions the
  user's **named** virtual account.
* Returning customer — `{ provision: false, virtual_account_ref }`.

`bvn` and `nin` are sensitive: they travel server-to-server only and never reach
the browser. Funds settle into the user's own named account rather than a shared
balance you reconcile yourself.

## `usd` — omnibus

The USD gate takes no `user_ref` and no `account` block. Funds land in your
omnibus — the simplest path when per-user attribution isn't required.

## Direction

Each order also has a `direction`:

* **`offramp`** (the default) — your user pays crypto and you collect fiat.
* **`onramp`** — your user pays fiat and receives crypto. The engine-direct
  onramp flow is live today; see [Onramp](/backend/onramp).

## Where to go next

* [Order lifecycle](/concepts/order-lifecycle) — how a session becomes a settled order
* [Create a session](/backend/create-session) — the gate and account fields in context
* [Onramp](/backend/onramp) — the live fiat-to-crypto flow
