> For the complete documentation index, see [llms.txt](https://help.enterprise.ledger.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.enterprise.ledger.com/help-center-v2/reference/transaction-fees.md).

# Transaction fees

How Ledger Enterprise calculates and displays transaction fees, why the figure you approve is a maximum, and what each network charges.

Every fee on Ledger Enterprise is a **transaction fee**, paid to the network's miners or validators. Ledger charges nothing on top.

## The figure you approve is a maximum

Signing does not happen when you create a transaction. Time passes while the Request collects its approvals, and network prices move in that window.

So the platform authorizes a **ceiling** rather than a prediction.

<table><thead><tr><th width="160.1640625">Stage</th><th>What happens</th></tr></thead><tbody><tr><td>At creation</td><td>The fee is estimated, and a buffer is added for most networks. The total is the <strong>maximum fee</strong></td></tr><tr><td>While approving</td><td>Nothing is recalculated. Approvers see the <strong>Max fee</strong>, and on Ethereum the gas details. The buffer and the estimate are not stored on the Request</td></tr><tr><td>At broadcast</td><td>The network takes its actual price. The unused buffer stays in the Account</td></tr></tbody></table>

On every network that charges a fee, except Tron, the signing payload sent to the Hardware Security Module (HSM) carries the **maximum fee**. On Bitcoin, Ripple and Stellar, it also carries the **maximum total**, which is the amount plus the maximum fee. A Tron token transfer carries the maximum fee as its fee limit. A native TRX transfer carries no fee ceiling.

> **Important:** The HSM will not sign beyond those ceilings. A transaction that would cost more fails, rather than costing more than was approved.

Nothing about a Request can be changed once it exists. On Bitcoin and Ethereum, the Creator of a send can replace it while it waits for confirmation. **Speed-up** replaces it with a higher fee. **Cancel** stops it, and the network still charges a fee. Each one creates a new Request. On other networks, a fee that turns out to be too low means creating the transaction again. See [**Bitcoin**](/help-center-v2/reference/networks/bitcoin.md) and [**Ethereum and EVM networks**](/help-center-v2/reference/networks/ethereum.md).

## What the interface shows

The send form shows one figure on every network that charges a fee: **Max fee**, a ceiling. Canton charges the sender nothing.

Select **Max fee** to open **Detailed fee**, the breakdown behind it:

<table><thead><tr><th width="222.35546875">Label</th><th>What it is</th></tr></thead><tbody><tr><td><strong>Max Fee</strong></td><td>The ceiling approved for this transaction</td></tr><tr><td><strong>Buffer (%)</strong></td><td>The margin added to the estimate to reach the ceiling. Hidden when the buffer is 0%</td></tr><tr><td><strong>Estimated base fee</strong></td><td>What the network is expected to charge</td></tr><tr><td><strong>Estimated priority fee</strong></td><td>Ethereum only. The estimated priority fee per unit of gas</td></tr><tr><td><strong>Gas limit</strong></td><td>Ethereum only. The maximum gas the transaction can use</td></tr><tr><td><strong>Protocol fee (additional)</strong></td><td>Ethereum staking operations that withdraw, consolidate or upgrade only. Charged on top of the maximum fee. Never on a send</td></tr></tbody></table>

The buffer is what makes the ceiling larger than the estimate. Each network sets its own, listed below. On Tron, **Detailed fee** also states what covers the fee first.

## By network

<table><thead><tr><th width="131.07421875">Network</th><th width="226.5390625">How the fee is built</th><th width="96.56640625">Buffer</th><th width="87.2734375">Choice of speed</th><th>What you can customize</th></tr></thead><tbody><tr><td>Bitcoin</td><td>Estimated base fee plus buffer</td><td>400%</td><td>Yes</td><td><strong>Sat/vByte</strong>, on a new send only</td></tr><tr><td>Canton</td><td>No fee to the sender</td><td>None</td><td>No</td><td>The optional reason field</td></tr><tr><td>Ethereum and EVM</td><td>Gas limit multiplied by the sum of base fee, priority fee and buffer</td><td>200%</td><td>Yes</td><td>Gas limit, and the buffer percentage, on a new send only</td></tr><tr><td>Hedera</td><td>Estimated base fee plus buffer</td><td>100%</td><td>No</td><td>Nothing</td></tr><tr><td>Ripple</td><td>Estimated base fee, with no buffer</td><td>0%</td><td>No</td><td>The destination tag</td></tr><tr><td>Stellar</td><td>Estimated base fee, with no buffer</td><td>0%</td><td>No</td><td>The memo</td></tr><tr><td>Sui</td><td>Estimated base fee plus buffer</td><td>100%</td><td>No</td><td>Nothing</td></tr><tr><td>Tezos</td><td>Estimated base fee, plus buffer, plus an allocation fee where it applies</td><td>50%</td><td>No</td><td>Nothing</td></tr><tr><td>Tron</td><td>Worst-case TRX cost, assuming no bandwidth and no energy, with no buffer</td><td>0%</td><td>No</td><td>Nothing</td></tr></tbody></table>

Only Bitcoin and the EVM networks offer a choice of speed. The interface labels and the API values differ: **Normal** is `SLOW`, **Fast** is `NORMAL`, **Urgent** is `FAST`, and **Custom** is `CUSTOM`. On other networks, a speed sent over the API has no effect. Where the buffer is 0%, the maximum fee equals the estimate.

Notes on individual networks:

* **Bitcoin.** The fee depends on transaction size, so it depends on how many unspent outputs are spent. See [**Bitcoin**](/help-center-v2/reference/networks/bitcoin.md).
* **Canton.** Holding fees apply to a coin contract, and only to archive one whose fees exceed its balance. See [**Canton**](/help-center-v2/reference/networks/canton.md).
* **Ethereum.** The base fee and the priority fee are shown in Gwei, so small values stay readable. The priority fee is always paid in full; only the effective base fee is charged.
* **Tezos.** Sending to an unallocated destination adds a one-time allocation fee. See [**Tezos**](/help-center-v2/reference/networks/tezos.md).
* **Tron.** For a TRX transfer, bandwidth covers the fee first. For a token transfer, bandwidth and energy cover it first. TRX from the balance covers the rest. See [**Tron**](/help-center-v2/reference/networks/tron.md).

## Sponsored fees

**Ledger Enterprise does not support sponsored fees on any network.** One Account cannot pay another Account's transaction fee here, even where the network itself allows it.

## Where fees appear

<table><thead><tr><th width="171.97265625">Where</th><th>What is shown</th></tr></thead><tbody><tr><td>The send form</td><td><strong>Max fee</strong>, with its countervalue. It is estimated again when the amount or the recipient changes</td></tr><tr><td><strong>Detailed fee</strong></td><td><strong>Max Fee</strong>, the buffer when it is above 0%, the estimated base fee, and the Ethereum gas details</td></tr><tr><td>The Request</td><td><strong>Max fee</strong>. Ethereum adds <strong>Fee strategy</strong>, <strong>Gas price</strong> or <strong>Estimated priority fee</strong>, <strong>Gas limit</strong>, and <strong>Protocol fee (additional)</strong> where it applies</td></tr><tr><td>The Ledger device</td><td>The fee, and the network's own extra fields</td></tr><tr><td>Operation history</td><td>The actual transaction fee paid</td></tr></tbody></table>

Fees are not shown in the operations list, only on an individual operation.

## Related

* [**Sending assets**](/help-center-v2/guides/transactions/sending-assets.md)
* [**Networks**](/help-center-v2/reference/networks.md)
* [**Statuses and errors**](/help-center-v2/reference/statuses-and-errors.md)
* [**Limits**](/help-center-v2/reference/limits.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.enterprise.ledger.com/help-center-v2/reference/transaction-fees.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
