# Fees & amounts

Deposit and withdrawal create/status responses and newly queued webhooks include
`data.fees`. All fields are JSON numbers; monetary values are INR, and a
`percentage` of `3` means 3%.

| Field inside `data.fees` | Meaning |
| --- | --- |
| `percentage` | Total merchant percentage rate |
| `fixed_amount` | Total fixed charge in INR |
| `total_amount` | Total fee, including percentage and fixed charges, in INR |
| `net_credit_amount` | Deposits only: order amount after fees, the expected merchant credit on success |
| `total_debit_amount` | Withdrawals only: order amount plus fees, the priced total merchant debit |

These fields describe **saved order pricing**, including while pending or after
failure. They do not confirm an actual charge, credit, or refund. For example,
a reversed payout can still show its original fee and total debit. Pricing is
not recalculated from current merchant settings.

Missing or incomplete saved pricing returns `"fees": null`, which does not mean
zero fees. Old cached create responses and previously queued webhooks retain
their original payloads and may omit `fees`; query the status API for available
saved pricing. Existing error responses do not gain fee fields.

## Currency rules

INR deposit amounts are JSON numbers between 100 and 50,000. INR payout amounts are whole-number JSON values between 100 and 100,000.

USDT uses decimal strings with up to six fractional digits. Its APIs and balances are separate from INR. See [USDT overview](/crypto-overview/).

Example fees in this documentation are illustrative, not a price offer. Your merchant agreement determines the applied rates.
