What the fee is, and what it is not
On BNB Chain, Base, and Polygon the fee is a share of the token you pay in. It is transferred to the fee recipients, and the route sells only what remains. Ethereum, Optimism, opBNB, Arbitrum, Avalanche, Linea, and zkSync charge no platform fee: the wallet calls the exchange, and the amount you receive is the full quote.
Limits written in the contract
MAX_FEE_BPS is 1000, so the current fee cannot be set above 10%. That ceiling is not an admin setting. A fee manager can set any value from 0 to 1000 bps in one transaction. The deploy script sets the current fee to 20 bps (0.20%) unless FEE_BPS says otherwise. The amount you receive is still checked against the minimum you set: if a fee change would pay you less than that, the transaction reverts.
The percentage on the swap screen is read from the contract when a FeeRouter address is configured. With no address, the interface is in preview and shows the default, and it will not send a transaction.
showFee only changes the label
showFee is a display switch. When it is off, the interface hides the fee breakdown. The contract still subtracts the fee from the input, and the quoted output is still the net amount. Hiding the line does not make the swap free.
