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

# Quotes and pricing

> Price payouts before you create them: what the wallet is debited, the fee, the rate and what each payee receives.

Every payout has three amounts: what the wallet is debited, Infinity's fee, and what the payee receives. A **quote** computes all three for up to 100 payouts with the same pricing code a create uses, without storing or reserving anything. Use it to show your users a price, or to check affordability before you commit funds.

## Create a quote

The quote body mirrors the `POST /payouts` body, without the fields that only matter once payouts exist:

```bash theme={null}
curl "$BASE/quotes" \
  -H "Authorization: Bearer $INFINITY_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "wallet_id": "wallet_7t4m9k2qx8d3hn5r",
    "items": [
      { "payee_id": "payee_c8pnahcrxqzd3z8d", "amount": "500.00", "currency": "eur" },
      { "payee_id": "payee_x3k7r9mwq2dn8hat", "amount": "250.00", "currency": "gbp" }
    ]
  }'
```

```json Response theme={null}
{
  "wallet_id": "wallet_7t4m9k2qx8d3hn5r",
  "debit_currency": "usd",
  "fee_bearer": "account",
  "items": [
    {
      "payee_id": "payee_c8pnahcrxqzd3z8d",
      "amount": "500.00",
      "currency": "eur",
      "debit_amount": "568.35",
      "fee": "10.00",
      "rate": "0.8955",
      "payee_amount": "500.00",
      "payee_currency": "eur"
    },
    {
      "payee_id": "payee_x3k7r9mwq2dn8hat",
      "amount": "250.00",
      "currency": "gbp",
      "debit_amount": "344.00",
      "fee": "10.00",
      "rate": "0.7485",
      "payee_amount": "250.00",
      "payee_currency": "gbp"
    }
  ],
  "total_debit": "912.35",
  "total_fee": "20.00",
  "available_balance": "10000.00",
  "sufficient_balance": true
}
```

* Lines are returned in request order, and each payee may appear only once.
* `fee_bearer` is taken from your account settings at the time of the quote.
* `available_balance` is the wallet's `available` amount, and `sufficient_balance` applies the same check a create applies. A quote never fails for insufficient funds; it reports `false` instead.
* Quotes take no `Idempotency-Key`, `name`, `description`, `reference` or `metadata`, because nothing is created. Sending them returns `400 unknown_parameter`.

## Amounts

| Field | Meaning |
| - | - |
| `amount`, `currency` | The amount you requested, in the payee's currency. |
| `debit_amount`, `debit_currency` | What the wallet is debited for this line, fee included, in the wallet's currency. |
| `fee` | Infinity's fee, in `debit_currency`. |
| `rate` | Units of `payee_currency` per one unit of `debit_currency`. |
| `payee_amount`, `payee_currency` | What the payee receives. |

## Who pays the fee

`fee_bearer` determines which side the fee comes from. For EUR 500.00 at 0.8955 with a USD 10.00 fee:

| `fee_bearer` | `debit_amount` | `payee_amount` |
| - | - | - |
| `account` | USD 568.35 (558.35 converted + 10.00 fee) | EUR 500.00 |
| `payee` | USD 558.35 | EUR 491.04 (the fee, converted at the same rate, is deducted) |

With `payee`, the amount after the fee must still meet the currency's [minimum](https://docs.infinityapp.in/guides/supported-currencies.md#payout-currencies). Change the setting on your [account](https://docs.infinityapp.in/guides/account-and-wallets.md#settings).

## Rates aren't locked

A quote prices at the current rate and doesn't hold it. Payouts are priced again when you create them, so their `debit_amount` can differ slightly from the quote's; the payout object always records what was actually charged. Present quoted amounts to your users as estimates.

For indicative rates without payees, `GET /exchange-rates` returns the rates your dashboard shows:

```bash theme={null}
curl "$BASE/exchange-rates" -H "Authorization: Bearer $INFINITY_KEY"
```

```json Response theme={null}
{
  "base": "usd",
  "rates": [
    { "currency": "eur", "rate": "0.8955" },
    { "currency": "gbp", "rate": "0.7485" }
  ],
  "fetched_at": "2026-10-29T10:00:00Z",
  "expires_at": "2026-10-29T10:05:00Z"
}
```

`expires_at` is when the rates are next refreshed.

## Payouts to India

On accounts enabled for India, you enter INR payouts in USD (`"currency": "usd"`) and the payee receives INR. The INR amount is fixed at settlement, so on these lines `rate` and `payee_amount` are `null`. The payout's `payee_amount` is populated once it's `paid`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.