# How to upgrade contracts programmatically?

**URL:** <https://forum.openzeppelin.com/t/how-to-upgrade-contracts-programmatically/3156>\
**Category:** SDK\
**Created:** [June 23, 2020, 12:37pm UTC](https://forum.openzeppelin.com/t/how-to-upgrade-contracts-programmatically/3156 "2020-06-23T12:37:49Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![abcoathup](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/abcoathup/32/415_2.png) [@abcoathup](https://forum.openzeppelin.com/u/abcoathup)\
**Post date:** [June 25, 2020, 10:12am UTC](https://forum.openzeppelin.com/t/how-to-upgrade-contracts-programmatically/3156/4 "2020-06-25T10:12:58Z")

</div>

Hi @marcelomorgado,

I’m very sorry about the documentation and the non-working example in the [usage section of the README](https://github.com/OpenZeppelin/openzeppelin-sdk/tree/master/packages/lib#usage).

Please see the following from @frangio

> _From: [How to create proxies programmatically during network congestion?](https://forum.openzeppelin.com/t/how-to-create-proxies-programmatically-during-network-congestion/3038/12)_
> 
> I’m really sorry about the lack of documentation around using upgrades programmatically from JavaScript. The existing JavaScript interface kind of evolved as the internals of the CLI, and was not optimized to be a user-facing API. This is definitely a weak point of the library, which is why we’re currently working on a redesign, announced in the [Q2 Roadmap](https://github.com/OpenZeppelin/openzeppelin-sdk/issues/1528). Unfortunately I can’t share a timeline for it yet, but the project is likely going to extend into Q3.
> 
> If you’re in a position in which you need to use the current library, perhaps you’d find [the example in the repo](https://github.com/OpenZeppelin/openzeppelin-sdk/blob/9baca3afb5649b6defc3a75eeb69f4930852180f/examples/upgrades-library/index.js) useful.

I will have to come back to you with a working example of using a SimpleProject.

---

_[View the full topic](https://forum.openzeppelin.com/t/how-to-upgrade-contracts-programmatically/3156)._
