Gnosis Safe contract transfer does not work

Hello,

In my contract i receive ethereum from users and would like to transfer it to a gnosis safe address.

The function works with a normal address but does not seem to work with a “contract” address.

The following line of code breaks when using a “contract” address

payable(addresses.recipient).transfer(toRecipient);

toRecipient = ethereum to send
addresses.recipient = address that receives the ethereum, in this instance a contract, preferably a gnosis safe.

Thanks!

Hello Dellybro

In my code that I use for transferring ETH I use this

payable(address(addresses.recipient)).transfer(toRecipient);

I just check to convert it to address first. I probably don’t need to do that, but that’s what I’ve been using and it’s working.

Second I would verify that the ETH you are transferring exists. Does the sender have enough ETH?

You might want to do some basic checks in the contract to verify it has enough to send.

Lastly your Gnosis Safe Contract might not be payable depending on how you created it. I just tried to send ETH to my safe on Rinkeby - https://rinkeby.etherscan.io/address/0x8809687eD3E675eb7E3953099555A07CbDBDD9C5 and it worked.

If none of this works please link your Gnosis Safe Contract address on chain so I can see the code.