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.
1 Like
Skyge
3
@Dellybro Hi, have you solved your problems?
I have not. We still can not use a gnosis safe to transfer to.
0x2d46F038C8848e43D17D00DDc3ADC6C66F80F652 this is the address.
@Dellybro @Skyge Hi, has someone solved this problem?
Skyge
7
Hi, welcome to the community! 
I think you can have a look at this article of Gnosis Safe:
Why can't I transfer ETH from a contract into a Safe? | Gnosis Help Center
1 Like
@Skyge Thx, this only work on ETH. I got the answer from Richard. He is great.
1 Like