When I use the toAddress.call{value: amt}(""); code, it works fine to transfer ether to EOA account but comes back false if its sent to contract. Why is that?

1 Answer 1


By default, a contract can't receive Ethers and will refuse the send.

For a contract to be able to receive Ethers, you should have a function with the payable keyword (and call that function), or use the generic fallback receive function. More info at https://ethereum.stackexchange.com/a/81995/31933

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.