Best Practice for transfer of Proxy Admin or Proxy Owner?

Hey ZeppelinOS team!

I wanted to ask about what would be the best way to transfer ownership of contract upgrades. We did try to do it by changing the proxy admin owner in the proxy contract, but that didn’t seem to work. This is not mission critical by any means, but wanted to see what would be the best practice to transfer responsibility. Thanks!


Hello @pllearns! Great question :slight_smile:

Unfortunately, I don’t know myself so I’ll go ahead and tag @spalladino to help you out!

Hey @pllearns! You have two options:
1- Changing the proxyAdmin of the Proxy as you say, which you can do via the zos set-admin command
2- Changing the admin of the ProxyAdmin contract (only in zos v2.2+), which you need to do manually (until we implement

Note that, if you are on zos 2.2, the proxy admin of a proxy is not the sender address, but the ProxyAdmin contract. As such, any transaction to change admin or upgrade needs to go through the ProxyAdmin contract. Can you share what error you’re getting, or why it doesn’t seem to work? Thanks!


@pllearns did it work?

apologies that I didn’t respond sooner. I should be able to confirm soon. I’ve been on another sprint for a node package that I’m working on. Thanks!!!

1 Like