Why did I pay gas fees for a failed transaction?
The Ethereum network requires gas to execute transactions. When you send tokens, interact with a contract, send ETH, or do anything else on the blockchain, you must pay for that computation. That payment is calculated in gas, and gas is always paid in ETH.
You are paying for the computation, regardless of whether your transaction succeeds or fails. Even if it fails, the miners must validate and execute your transaction, which takes computational power. You must pay for that computation, just like you would pay for a successful transaction.
This is not a fee that smart contract receives so we cannot refund it. This fee is paid to miners for mining transactions, validating them into blocks, and securing the blockchain.