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

# Overview

A **bank account** is the lowest-cost, highest-reward funding source on Fluz. Bank accounts are linked through **Plaid** and settle via **ACH** — they carry no processing fees and earn the full merchant cashback rate.

Bank account linking and management is exposed through a public GraphQL wrapper. Identity-service remains the system of record for Plaid tokens, account ingestion, balances, historical transactions, and Plaid webhooks.

<Note>
  **Bank accounts carry no processing fees and earn the highest cashback rate.**

  On a 4% merchant offer, an ACH payment returns the full 4%, while a debit card returns 3% and a credit card 1% after processing fees. Where a user has the choice, a linked bank account is always the best-earning option.
</Note>

***

## What You Can Do

Everything below runs through the Plaid integration. See [Linking Bank Account via Plaid](/features/link-via-plaid) for full request and response details.

### Linking

| Capability                 | Operation                                                            | Description                                                              |
| -------------------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| Create a Link token        | `createPlaidLinkToken`                                               | Generate the token used to open Plaid Link.                              |
| Complete a new link        | `completePlaidLink`                                                  | Exchange Plaid's `public_token` and ingest the connected accounts.       |
| Repair a broken connection | `createPlaidLinkToken` + `completePlaidLink` (with `platformItemId`) | Relink a previously connected institution that has disconnected.         |
| Attach a required address  | `createPlaidLinkAddress`                                             | Add an address when `completePlaidLink` returns `requiresAddress: true`. |

### Balances & Spend Power

| Capability              | Operation                                             | Description                                                                |
| ----------------------- | ----------------------------------------------------- | -------------------------------------------------------------------------- |
| List linked accounts    | `getPlaidBankAccounts`                                | Return the safe metadata for all connected bank accounts.                  |
| Read stored balances    | `getPlaidBankBalances` · `getPlaidBankAccountBalance` | Get the latest stored balance across accounts or for one account.          |
| Read spend power        | `getPlaidBankAccountSpendPower`                       | Return available spend power, last recorded balance, and pending activity. |
| Refresh one balance     | `refreshPlaidBankAccountBalance`                      | Request a rate-limited realtime balance refresh for one account.           |
| Refresh all connections | `refreshPlaidBankConnections`                         | Request a cached refresh across all connected Plaid data.                  |

### Transactions

| Capability               | Operation                  | Description                                                                       |
| ------------------------ | -------------------------- | --------------------------------------------------------------------------------- |
| Read transaction history | `getPlaidBankTransactions` | Return historical, paginated bank transactions with merchant and category detail. |

### Management

| Capability            | Operation                    | Description                                            |
| --------------------- | ---------------------------- | ------------------------------------------------------ |
| Remove an institution | `removePlaidBankInstitution` | Disconnect a linked bank institution and its accounts. |

***

## Requirements

All bank account operations require a Fluz user access token that includes the `MANAGE_PAYMENT` scope.

**Bearer auth only.** The Plaid fields do not accept Basic auth. Obtain a user access token through the standard authentication flow first, then call the Plaid fields with `Authorization: Bearer <fluz-user-access-token>`.

***

## Balance Refresh Limits

Balance refreshes are cost-controlled per Plaid institution:

* **One** realtime refresh per hour
* **Six** realtime refreshes per day

Calls made inside the limit window return the latest stored balance instead of triggering a new realtime request.

***

## Savings Accounts

<Note>
  **Linking a login connects every account under it, including savings.**

  Most banks do not permit payments from savings accounts. After linking, users should remove any savings accounts they don't intend to pay from to avoid failed transactions.
</Note>

***

## Unsupported Flows

Micro-deposit linking is intentionally unsupported. New links and relinks must use the standard Plaid Link flow, which supports balances and historical transactions.

***

## Security

We do not store Plaid access tokens, Plaid public tokens, identity-match details, bank account numbers, or routing numbers. Only safe account metadata — such as institution name, last four digits, type, and user-entered labels — is exposed through the API.

***

**Want to learn more?** Speak with our experts for more info or to request a demo.
