We at Sharpe Labs have been using DSProxy as a smart account/wallet via proxies for letting users manage their leveraged positions.

Question with our products,

Product Magnum: User -> TransparentUpgradeableProxy -> DSProxy(current smart account) -> Implementation contract. We wanted our users to manage their smart account and upgrade by themselves. So we put the Transparent proxy in between. We want our users to upgrade to Safe and use all of its AA features. Currently we see this as a challenge as the current safe implementation assumes that the implementation address is stored at slot 0, while the TransparentUpgradeableProxy is designed to store it at a predefined slot as per EIP 1967/ 1822. How do you suggest we allow our users to upgrade to Safe without closing their current position.

Product Base: User -> Gnosis Safe Proxy -> DSProxy(current smart account) -> Implementation. The problem is same as described above. We would like our users to switch from DSProxy to Safe without closing their current positions. Could you please propose a design option here as we do not see any inbuilt mechanism either in the Safe proxy or the Safe Implementation to switch from current implementation to new implementation(signleton in your case).


  • This is not Safe product support, but a public Q&A forums. Have you tried to contact Safe product development team directly? People outside Safe developers cannot comment design decisions in Safe. Commented Oct 14, 2023 at 10:01
  • Yes, they have stopped dev support on discord and directed me to post the query here instead. Commented Oct 14, 2023 at 14:33


Your Answer

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

Browse other questions tagged or ask your own question.