The amount leaving a wallet and the amount arriving elsewhere do not, by themselves, reveal a trading fee. A trade, withdrawal and blockchain transfer can each add a different cost. Start by identifying which record contains the number you want to explain.
A five-part cost map
| Cost | Where it arises | Best evidence |
|---|---|---|
| Trading fee | A completed market fill | Fill history, liquidity role, charged asset |
| Bid-ask spread | The available buy and sell quotes | Executable quotes at the same time |
| Slippage | Execution across available liquidity | Expected price and weighted average fill |
| Platform withdrawal charge | The platform's withdrawal flow | Confirmation screen and withdrawal record |
| Network fee | Blockchain execution | Transaction hash on the correct explorer |
The layers do not always appear as five neat deductions. A custodial platform may quote a fixed withdrawal charge while later batching several users into one blockchain transaction. In that case, the user-facing charge need not equal the network fee shown for that transaction. A self-custody wallet may have no platform withdrawal charge at all, while still requiring the chain's native fee asset.
Reconcile a trading fee from fills
Begin with what executed, not the original order size. One order can remain open, fill partly, or produce several fills at different prices. For each fill, preserve quantity, price, maker or taker role when shown, applicable rate, and the asset used to pay the fee. If the fee is paid in a different token, its token amount is a separate fact from any approximate fiat value displayed later.
A basic check multiplies each fill value by its applicable fee rate and then adds results expressed in the same unit. The local fee calculator can help with arithmetic, but it does not know an account tier, promotion, tax treatment or current platform policy. When reconciling Binance, use the Binance spot-fee guide to map the account fields.
Spread and slippage are execution costs
The bid-ask spread is the gap between the best immediately available buy and sell prices. Slippage is the difference between an expected price and the average price actually obtained. Neither has to appear as a line labelled “fee,” yet both can change the amount received.
Compare alternatives at a similar time, for the same asset and size. A small limit fill observed in a calm market is not a fair benchmark for a large instant quote taken later. Where an interface shows only input and output, calculate the effective price and compare it with an executable market reference from the same moment. Avoid labelling every difference a hidden fee: market movement, rounding and the quote's validity window may also matter.
Platform charge versus blockchain fee
A platform withdrawal charge is the amount disclosed in that platform's withdrawal flow. It may be fixed in units of the asset or adjusted by network and operational conditions. A blockchain network fee follows the rules of the selected chain. Record the withdrawal amount, displayed charge, expected arrival, asset and network before submitting; after submission, retain the withdrawal record and transaction hash.
On Ethereum, computational work is measured in gas.
Ethereum’s gas documentation explains that the paid amount depends on gas used and a price per unit, while wallets commonly estimate suitable settings. Contract interactions may use more computation than a simple transfer. This mechanism explains an Ethereum network fee; it does not determine a custodial platform's user-facing withdrawal schedule.

Why a failed transaction may still cost gas
A rejection before broadcast is different from an onchain execution failure. If a platform blocks a request because of a format, balance or account control, no blockchain transaction may exist. If a wallet broadcasts a contract transaction that is included but reverts, the computation already performed can still consume a network fee.
Look for a valid hash, the correct network, status and actual fee. A red message in an app is not enough to identify the layer. If a transaction is pending, avoid sending duplicates from several wallets. First check the sender address and chain-specific transaction sequence, then use only the wallet or network's documented replacement options.
Compare transfer routes without losing compatibility
- Confirm that the recipient supports the same asset on each candidate network.
- Record the fee and expected arrival shown by the sender for each route.
- Check any memo, tag and minimum-deposit requirement at the recipient.
- Convert costs to one unit and timestamp the comparison because network conditions change.
- For a new destination, consider a small test—while remembering that it also incurs costs.
The network-cost comparison tool compares two entered charges and arrivals; it cannot prove compatibility. If the two ends describe different networks or token versions, the cheaper route is not a valid route.
Keep the numbers you will need later
Keep the time and timezone, asset, network, input amount, weighted fill price, trading fee and charged asset, platform withdrawal charge, expected arrival, actual arrival and transaction hash. Label where every number came from: fill record, withdrawal screen or block explorer. Do not store or send passwords, one-time codes, private keys, seed phrases or unnecessary identity documents.