# How to deploy new instances using beacon proxy from a factory when using @openzeppelin/hardhat-upgrades

**URL:** <https://forum.openzeppelin.com/t/how-to-deploy-new-instances-using-beacon-proxy-from-a-factory-when-using-openzeppelin-hardhat-upgrades/27801>\
**Category:** Upgrades\
**Created:** [April 20, 2022, 8:34am UTC](https://forum.openzeppelin.com/t/how-to-deploy-new-instances-using-beacon-proxy-from-a-factory-when-using-openzeppelin-hardhat-upgrades/27801 "2022-04-20T08:34:09Z")\
**Posts on this page:** 1\
**Showing post:** 10

<div class="post-metadata">

**Author:** ![ericglau](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/ericglau/32/15149_2.png) [@ericglau](https://forum.openzeppelin.com/u/ericglau)\
**Post date:** [May 26, 2022, 1:47pm UTC](https://forum.openzeppelin.com/t/how-to-deploy-new-instances-using-beacon-proxy-from-a-factory-when-using-openzeppelin-hardhat-upgrades/27801/10 "2022-05-26T13:47:06Z")

</div>

@gawshinde There are two different contexts for ownership: the owner of your contract is set in the BeaconProxy, but the owner of the beacon (who has permission to upgrade the beacon) is set in UpgradeableBeacon.

This example [Deploying Upgradeable Proxies and Proxy Admin from Factory contract - #12 by frangio](https://forum.openzeppelin.com/t/deploying-upgradeable-proxies-and-proxy-admin-from-factory-contract/12132/12) sets the beacon owner in the constructor, and sets the contract owner in `createToken` (passing the owner parameter to the initializer in the example implementation [here](https://forum.openzeppelin.com/t/deploying-upgradeable-proxies-and-proxy-admin-from-factory-contract/12132/3)).

---

_[View the full topic](https://forum.openzeppelin.com/t/how-to-deploy-new-instances-using-beacon-proxy-from-a-factory-when-using-openzeppelin-hardhat-upgrades/27801)._
