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

# Adapters

> Choose the deterministic fake adapter or the production-capable live adapter.

# Choose a Perflo adapter

The runtime accepts exactly two adapter values. Removed values fail configuration validation instead of mapping to compatibility aliases.

| Adapter | Provider calls                    | Credentials                                | Allowed runtime                   |
| ------- | --------------------------------- | ------------------------------------------ | --------------------------------- |
| `fake`  | None                              | None                                       | Development and test              |
| `live`  | Five exact reviewed HTTPS origins | Customer device session encrypted in Vault | Development, test, and production |

## Use fake for deterministic tests

`FakePerfloAdapter` implements the neobank contract in memory. It covers fiat accounts, activity, recipients, estimates, browser approval, recipient grants, mandates, cards, and hosted reveal without external calls.

Production rejects `fake`. A configuration value such as `demo`, `pilot`, or `partner` is invalid.

## Use live for provider traffic

`LivePerfloAdapter` calls these exact origins:

* App: `https://app.perflo.ai`
* Perfolio: `https://api.perfolio.ai/api`
* Fiat: `https://api-fiat.perfolio.ai/api`
* Cards: `https://api-cards.perfolio.ai`
* Agent: `https://agent-mode-backend-prod-merge.up.railway.app`

The validator rejects a changed scheme, host, port, user information component, or path. Card requests send the customer token in both documented authorization headers. Token refresh is serialized per customer connection and revalidates the provider binding before storing new ciphertext.

## Separate wrapper capability from upstream improvement

The live adapter adapts current Perflo operations without overstating them. Quotes remain estimates, activity remains customer-wide rather than an account ledger, polling replaces signed webhooks, and local mandate policy supplements upstream grant constraints. The Perflo capability requests describe the stronger native contracts still wanted.
