payable actually do?payable can receive ETH along with the call.payable will revert if someone tries to send ETH.Example:
function deposit() external payable { } // can accept ETH
function ping() external { } // cannot accept ETH
When you call a function:
So it’s not that payable is inherently cheaper. It’s that payable avoids the revert gas waste when you send ETH.
Because in Ethereum’s execution:
A payable function adds almost zero overhead to allow ETH transfer.
A non-payable function adds an automatic check (require(msg.value == 0)).
If you accidentally send ETH, it fails — and failure still burns gas.
So when you compare: