# Fiat Ramp Service

Orchestrates compliant fiat on/off ramps so users can move between traditional
banking rails and digital assets. The service coordinates KYC, risk evaluation,
banking integration, payment processor intents, treasury bookkeeping, ledger
events, analytics, and notifications.

## Features

- Full onboarding workflow: KYC validation, risk assessment, bank linking, audit
  logging, and user notification.
- Fiat → crypto on-ramps: validates payment methods, fetches exchange quotes,
  reserves fiat, credits wrapped assets, stores settlement projections, and
  broadcasts analytics/events.
- Crypto → fiat off-ramps: confirms destination account, debits treasury assets,
  releases fiat, schedules settlement reporting, and captures audit trails.

## Usage

```ts
import { createFiatRampService } from './service';

const fiatRamp = createFiatRampService({
  compliance: {
    /* implement */
  },
  bankAccounts: {
    /* implement */
  },
  paymentProcessor: {
    /* implement */
  },
  exchangeRates: {
    /* implement */
  },
  treasury: {
    /* implement */
  },
  ledger: {
    /* implement */
  },
  notifications: {
    /* implement */
  },
  analytics: {
    /* implement */
  },
  auditTrail: {
    /* implement */
  },
  idGenerator: () => crypto.randomUUID(),
  clock: () => new Date(),
});
```

## Testing

```bash
timeout -k 5 60s npx jest --config apps/lilith/svc-fiat-ramp/jest.config.cjs --runInBand
```
