# How to add a Time lock token function on several addresses?

**URL:** <https://forum.openzeppelin.com/t/how-to-add-a-time-lock-token-function-on-several-addresses/3342>\
**Category:** Contracts\
**Tags:** erc20\
**Created:** [July 17, 2020, 3:55pm UTC](https://forum.openzeppelin.com/t/how-to-add-a-time-lock-token-function-on-several-addresses/3342 "2020-07-17T15:55:34Z")\
**Posts on this page:** 1\
**Showing post:** 2

<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:** [July 20, 2020, 9:49am UTC](https://forum.openzeppelin.com/t/how-to-add-a-time-lock-token-function-on-several-addresses/3342/2 "2020-07-20T09:49:27Z")

</div>

Hi @zam,

Welcome to the community. 👋

If you are creating an ERC20 I suggest looking at [Points to consider when creating a fungible token (ERC20, ERC777)](https://forum.openzeppelin.com/t/points-to-consider-when-creating-a-fungible-token-erc20-erc777/2915)

OpenZeppelin Contracts include Crowdsales in v2.x ([Crowdsales were removed in v3.x](https://docs.openzeppelin.com/contracts/3.x/crowdsales))

You could look at extending/modifying a Crowdsale along the lines of [PostDeliveryCrowdsale](https://docs.openzeppelin.com/contracts/2.x/crowdsales#postdeliverycrowdsale)

Alternatively you could create a [TokenTimelock](https://docs.openzeppelin.com/contracts/3.x/api/token/erc20#TokenTimelock) for each beneficiary, though you would likely want to create [minimal proxies](https://blog.openzeppelin.com/deep-dive-into-the-minimal-proxy-contract/) to reduce the gas cost of deploying multiple contracts.

---

_[View the full topic](https://forum.openzeppelin.com/t/how-to-add-a-time-lock-token-function-on-several-addresses/3342)._
