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

# Overview

> Linking a user's bank account to pull funds for onramp or deliver payouts for offramp — the available linking methods and how they vary by flow.

A user's bank account is what connects Saber to real-world money movement on their behalf. Depending on the flow, a linked bank account is used to either **pull** funds from the user or **deliver** funds to them.

<Info>
  Bank account linkage is the third step in most flows: **Create User → KYC → Bank Account Linkage → Transaction.**
</Info>

## Why a bank account gets linked

<CardGroup cols={2}>
  <Card title="Deliver funds — Offramp" icon="arrow-up-from-line">
    On offramp, the linked bank account is the payout destination — once a sell transaction is confirmed, fiat is sent there.
  </Card>

  <Card title="Pull funds — Onramp" icon="arrow-down-to-line">
    On some onramp flows, the linked bank account is the funding source money is pulled from to convert into stablecoin.
  </Card>
</CardGroup>

## Ways to link a bank account

There's no single method used everywhere — which one applies depends on the corridor and the flow.

<Tabs>
  <Tab title="Through API">
    The client collects the user's bank details directly (account number, bank code, IBAN, sort code, etc., depending on the country) and submits them via a direct API call. This is the most common method for offramp corridors, where Saber needs a specific payout destination on file.

    See [Bank Account — Through API](/user/bank-account/api) for the request format and country-specific field requirements.
  </Tab>

  <Tab title="Through Hosted Widget">
    The user is redirected to a Saber-hosted flow where they authenticate with their bank directly (for example, via Plaid) and authorize the link themselves. This is used where a stronger, verified connection to the bank is required — such as onramp flows that later pull funds from that account.

    Append `redirect_url=<url-encoded-url>` as the last query parameter to return the user to your app when they exit the flow.

    See [Bank Account — Through Hosted Widget](/user/bank-account/widget) for integration details.
  </Tab>
</Tabs>

<Note>
  Not every flow has a standalone bank-linkage step. Some onramp payment methods (for example, an Open Banking redirect) collect and authorize the bank connection at the moment of payment instead of as a separate upfront step. Where that's the case, it's called out on that flow's own page — see the currency-specific guides below.
</Note>

## Approval and validation

Once submitted, a bank account typically enters a `PENDING` state before becoming `APPROVED`. How that approval happens differs by country:

* **Instant approval** — the account is validated and approved immediately, with no further action needed.
* **Penny-drop verification** — a small verification transfer is made to the account to confirm it's valid and belongs to the named holder before it's approved.

Account limits also vary — some corridors cap the number of active or approved bank accounts a single user can hold at once. Exact approval behavior and limits are documented per corridor on its flow page, since they differ from country to country.

## Webhooks

Bank account status changes (for example, moving from `PENDING` to `APPROVED`, or a validation failure) can be pushed to your configured webhook URL instead of requiring you to poll. See [Bank Account — Webhooks](/user/bank-account/webhooks) for the event payloads.

## Corridor-specific details

Exact mandatory fields, linking method, and approval behavior are documented on each flow's own guide:

<CardGroup cols={2}>
  <Card title="INR Offramp" icon="flag" href="/offramp/currencies/inr" cta="View guide" arrow="true" />

  <Card title="PHP Offramp" icon="flag" href="/offramp/currencies/php" cta="View guide" arrow="true" />

  <Card title="EUR/GBP Offramp" icon="flag" href="/offramp/currencies/eur-gbp" cta="View guide" arrow="true" />

  <Card title="IDR Offramp" icon="flag" href="/offramp/currencies/idr" cta="View guide" arrow="true" />

  <Card title="EUR/GBP Onramp" icon="flag" href="/onramp/currencies/eur-gbp" cta="View guide" arrow="true" />

  <Card title="USD Onramp" icon="flag" href="/onramp/currencies/usd" cta="View guide" arrow="true" />
</CardGroup>


## Related topics

- [Overview](/offramp/overview.md)
