> ## 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.

# getDepositFeeEstimate

> Estimate the fees for a deposit before submitting, with a breakdown of what makes up the fee.

Estimate the fees for a deposit before submitting.
Returns the total funding fee, the amount that will be charged to the funding source, and a breakdown of the parts that make up the fee. Requires MAKE\_DEPOSIT scope.

Use it before you call [`depositCashBalance`](https://docs.fluz.app/api-reference/mutations/deposit-cash-balance), so you can show your user the net cost before they confirm. Quote the same funding source, amount and deposit type that you will deposit with: the fee depends on all three.

The estimate is never lower than the fee the deposit is charged. When Fluz can't tell in advance whether a debit card deposit will route as an account funding transaction (AFT), it quotes the higher of the two possible rates, so the charge can only come in at or below the estimate. Likewise, a `GIFT_CARD_BALANCE` deposit is charged the merchant category tier it is routed under; the estimate takes no merchant category, so it quotes the highest tier configured for the card's BIN at that amount.

```graphql theme={null}
query {
  getDepositFeeEstimate(
    input: GetDepositFeeEstimateInput!
  ): DepositFeeEstimate!
}
```

## Arguments

**input** `GetDepositFeeEstimateInput!` *required*

The deposit to estimate: the amount, the deposit type, and exactly one funding source. See [`GetDepositFeeEstimateInput`](https://docs.fluz.app/api-reference/types/get-deposit-fee-estimate-input).

## Example

A \$30 debit card deposit into a cash balance, made through an application that charges its own 1.95% fee on account funding transactions:

```graphql theme={null}
query {
  getDepositFeeEstimate(
    input: {
      amount: 30
      depositType: CASH_BALANCE
      bankCardId: "fce843ab-7fcf-4428-b104-e43c64208083"
    }
  ) {
    depositAmount
    fee
    totalChargeAmount
    settlementDelayDays
    feeBreakdown {
      type
      source
      feePercent
      feeFixed
      baseFeePercent
      baseFeeFixed
      feeAmount
      feeDefinitionId
      feeOverrideId
      paymentRateId
      binOverrideId
      mccOverrideId
    }
  }
}
```

```json theme={null}
{
  "data": {
    "getDepositFeeEstimate": {
      "depositAmount": 30,
      "fee": 1.04,
      "totalChargeAmount": 31.04,
      "settlementDelayDays": 2,
      "feeBreakdown": [
        {
          "type": "FLUZ_FEE",
          "source": "BIN_OVERRIDE",
          "feePercent": 1.5,
          "feeFixed": null,
          "baseFeePercent": 3,
          "baseFeeFixed": null,
          "feeAmount": 0.45,
          "feeDefinitionId": null,
          "feeOverrideId": null,
          "paymentRateId": "5bdcc9c5-6b40-49a9-a979-7f2cdb1f813a",
          "binOverrideId": "49d4c95c-b5b9-4fea-9bf5-f71d279713f4",
          "mccOverrideId": null
        },
        {
          "type": "DEVELOPER_FEE",
          "source": "FEE_DEFINITION",
          "feePercent": 1.95,
          "feeFixed": null,
          "baseFeePercent": null,
          "baseFeeFixed": null,
          "feeAmount": 0.59,
          "feeDefinitionId": "46a92e57-3d7e-44d7-9fab-9eadb7c60bc1",
          "feeOverrideId": null,
          "paymentRateId": null,
          "binOverrideId": null,
          "mccOverrideId": null
        }
      ]
    }
  }
}
```

The `feeAmount` values of `feeBreakdown` add up to `fee`. When no complete breakdown is available for the quote, `feeBreakdown` is an empty list; that does not mean the fee is zero, so always show `fee` as the total. Each part is rounded to the cent on its own, so a part can differ from its `feePercent` applied to the deposit amount by a cent: here 1.95% of $30 is $0.585, charged as \$0.59.

Fluz's part here is priced by the card's BIN configuration at 1.5%, in place of the 3% standard debit card rate: `baseFeePercent` and `paymentRateId` name that standard rate.

When an override replaces a fee definition's rate for your account or application, that part's `source` is `FEE_OVERRIDE`. Its `feePercent` and `feeAmount` are what is charged, and `baseFeePercent` is the definition's own rate. With a 1.5% override on the same 1.95% definition, the developer part of the \$30 deposit is:

```json theme={null}
{
  "type": "DEVELOPER_FEE",
  "source": "FEE_OVERRIDE",
  "feePercent": 1.5,
  "feeFixed": null,
  "baseFeePercent": 1.95,
  "baseFeeFixed": null,
  "feeAmount": 0.45,
  "feeDefinitionId": "46a92e57-3d7e-44d7-9fab-9eadb7c60bc1",
  "feeOverrideId": "6dc0c249-c87f-4eef-a48f-19f0b410f8aa",
  "paymentRateId": null,
  "binOverrideId": null,
  "mccOverrideId": null
}
```

## Errors

| Code | When |
| - | - |
| `ARG-0002` | `amount` is missing, zero or negative. |
| `ARG-0001` | The input does not carry exactly one of `bankCardId` and `bankAccountId`, or the funding source is not one of the account's own, so no estimate is available. |
| `AUTH-0031` | The access token does not carry the `MAKE_DEPOSIT` scope. |

## Returns

[`DepositFeeEstimate!`](https://docs.fluz.app/api-reference/types/deposit-fee-estimate) — Estimated fees and total charge for a deposit, with a breakdown of what makes up the fee.


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