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

# Quotes and fees

> How exchange-rate quotes, platform fees, and settlement fees are calculated.

Every payout starts with a quote. A quote locks an exchange rate and shows the fees and estimated delivery time so you can display the recipient amount before committing funds.

## Getting a quote

Call [`GET /api/payouts/quote`](/api-reference/payouts/get-a-quote) with a `targetCurrency` and `sourceAmount`. The quoted amount is cached server-side for 5 minutes, and the response includes a single-use `quoteId` to pass to a transfer endpoint as `quote_id`.

```bash theme={null}
curl "$MW/api/payouts/quote?targetCurrency=EUR&sourceAmount=1000" \
  -H "Authorization: Bearer mw_live_<keyId>_<secret>"
```

## Fee fields

A quote separates platform fees from the settlement-layer transfer fee.

| Field                                         | Description                                                                       |
| --------------------------------------------- | --------------------------------------------------------------------------------- |
| `serviceFeePercent`                           | Combined platform service fee, as a percentage.                                   |
| `serviceFeeFixed`                             | Fixed fee in USD (display only). `0` for v2-offloader accounts.                   |
| `providerCharge`                              | Provider processing fee deducted before conversion. Present only for v1 accounts. |
| `usdToTargetRate`                             | Exchange rate from 1 USD to the target currency.                                  |
| `quote.targetAmount`                          | Amount the recipient receives in the target currency.                             |
| `quote.transferFee`                           | Settlement-layer fee, deducted from the target amount.                            |
| `quote.feeFxAmount` / `quote.feePayoutAmount` | FX and flat-fee components of `transferFee`. They sum to `transferFee`.           |
| `quote.feeFxPercent`                          | FX conversion fee as a percentage.                                                |

The fee breakdown fields are nullable and are `null` when a breakdown is unavailable, for example an unsupported corridor or an email recipient.

<Note>
  Fee fields are for display. They are not deducted from the USDC you send on-chain — the platform settles the correct amounts internally.
</Note>

## v2-offloader fees

When quoting for the v2 pipeline, pass `v2_offloader=true`. The fees are calculated for the v2 transfer accounts: `serviceFeePercent` reflects your configured fee plus 20 bips, `serviceFeeFixed` is `0`, and `providerCharge` is absent. This parameter is ignored for non-API-key callers. See [v1 vs v2 transfers](/concepts/v1-vs-v2).

## Quick fee lookup

For real-time display as a user types an amount, [`GET /api/payouts/fee`](/api-reference/payouts/get-platform-fee) returns just the platform fee for a USD amount with no external dependencies. It returns `mwFee` (USD) and `mwFeePercentage`.

## Amount limits

[`GET /api/payouts/amount-limits`](/api-reference/payouts/get-amount-limits) returns the `min_amount` and `max_amount` your account may submit to quote and transfer endpoints. A `null` bound means no limit is configured. Amounts outside these limits are rejected with `400`.
