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

# Stablecoin on-ramp and off-ramp conversions

> How Bastion converts between fiat and stablecoins: virtual accounts for on-ramps, payment instructions for off-ramps, quotes, and conversion fees.

## What is a conversion?

A conversion moves money between fiat and stablecoins. Stablecoins are held in Bastion custody. Fiat moves over traditional banking rails through Bastion's partner bank.

Conversions operate on Bastion identities and accounts. If those are new to you, start with [Identity and Account concepts](/guides/concepts/identities-and-accounts).

| Direction | What happens                                                                          |
| --------- | ------------------------------------------------------------------------------------- |
| On-ramp   | A customer wires USD to Bastion, and USDC is credited to their account                |
| Off-ramp  | Stablecoin is debited from a customer's account, and fiat is paid into a bank account |

## Who can convert

The account holder must be a U.S. person. Their account must be in Bastion custody, tied to an approved identity that has passed KYC or KYB and sanctions checks.

Where the money can go is a separate question. An off-ramp can pay out to a bank account in the United States or in 60+ other countries. On-ramps only work from a U.S. bank account. See [Jurisdiction overview](/guides/getting-started/jurisdiction-overview).

## Two kinds of bank account

Money in and money out use different objects, and they belong to different parties.

|                    | On-ramp (money in)                                              | Off-ramp (money out)             |
| ------------------ | --------------------------------------------------------------- | -------------------------------- |
| What you use       | Virtual Account                                                 | Payment instructions             |
| Whose bank account | An account at Bastion's partner bank, assigned to your customer | The recipient's own bank account |

### Virtual account

A Virtual Account is a deposit destination at Bastion's partner bank, dedicated to one customer, asset, chain, and destination wallet. Each one has its own account number, so an incoming wire reaches the right customer on the account number alone.

Creating one returns the bank details your customer needs to send the wire. A customer can have several, one per asset and chain they want to receive, and each can be reused for any number of deposits.

### Payment instructions

Payment instructions are a saved bank account to pay out to. You register one per bank account and reuse it across withdrawals. They belong to an identity rather than to a specific account.

Each one declares whose account it is. First-party means the customer's own bank account; third-party means someone else's. US off-ramps are first-party only. International off-ramps allow both, and the recipient can be a person or a business.

## Quote

A quote is a priced conversion: the exchange rate, the fees, the total debited from the customer's wallet, and the smallest and largest amounts the corridor accepts.

International off-ramps are always priced by a quote, and each conversion references the quote it came from. US off-ramps are not quoted, because they convert one-for-one and carry a fixed wire fee.

A quote is an estimate rather than a lock. The rate applied at settlement can differ from the rate quoted.

## Fees

Two fees can appear on a conversion. The platform fee is the cost of running the transaction. The developer fee is a markup you set and collect, available on international off-ramps only.

The fee model decides who absorbs them:

| Fee model | Effect                                                                                                    |
| --------- | --------------------------------------------------------------------------------------------------------- |
| Deducted  | Fees come out of the amount sent, so the recipient receives less than that amount                         |
| On top    | Fees are added to it, so the customer's wallet is debited more and the recipient receives the full amount |

US off-ramps are always deducted. International off-ramps support either, set per integration.

<br />


## Related topics

- [On-ramp: Fund a stablecoin account with a USD wire](/guides/quickstarts/on-ramp.md)
- [Supported chains and assets](/guides/concepts/chains-and-assets.md)
- [Off-ramp: Withdraw stablecoin internationally](/guides/quickstarts/off-ramp/international-bank-account.md)
- [Off-ramp: Withdraw stablecoin to a US bank account](/guides/quickstarts/off-ramp/withdraw-to-a-bank-account.md)
- [Off-ramp: Withdraw stablecoin to a bank account](/guides/quickstarts/off-ramp.md)
