> For the complete documentation index, see [llms.txt](https://docs.fringe.fi/smart-contract-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fringe.fi/smart-contract-documentation/openzeppelin/contracts/token/erc20/utils/tokentimelock.md).

# Token Timelock

*A token holder contract that will allow a beneficiary to extract the tokens after a given release time. Useful for simple vesting schedules like "advisors get all of their tokens after 1 year".*

## Methods

### beneficiary

```solidity
function beneficiary() external view returns (address)
```

#### Returns

| Name | Type    | Description                    |
| ---- | ------- | ------------------------------ |
| \_0  | address | the beneficiary of the tokens. |

### release

```solidity
function release() external nonpayable
```

Transfers tokens held by timelock to beneficiary.

### releaseTime

```solidity
function releaseTime() external view returns (uint256)
```

#### Returns

| Name | Type    | Description                            |
| ---- | ------- | -------------------------------------- |
| \_0  | uint256 | the time when the tokens are released. |

### token

```solidity
function token() external view returns (contract IERC20)
```

#### Returns

| Name | Type            | Description           |
| ---- | --------------- | --------------------- |
| \_0  | contract IERC20 | the token being held. |
