# Consensus Period

## Motivation

'Consensus period' refers to the linear unlock time for transferring tokens from a specific address, with the main motivation being to build a stable community consensus for Memecoin.

## Customize

Token contract deployers can customize the settings of the linear unlock time, and the consensus list so that the protocol can be widely used.

## Consensus List

Set specific addresses to be added to the consensus list, when token TRANSFER from the consensus list address will generate a consensus period. For example, LP contract address, treasury address and so on.

## Sorter

Sorter is used to merge linear release bills, optimize the smart contract algorithm, and realize low-cost swap. sorter consists of linear release memory banks, the linear release bills of the same memory bank will be merged, and the merged orders will get priority to be released according to the timestamp of the memory bank.

{% hint style="info" %}
Note: The balance of the tokens in the user's wallet will be updated automatically through the agreement after the transfer, no additional operation or claim is required.
{% endhint %}

## Illustration

**$BENCH set consensus period 7 days;**\
**consensus list Uniswap LP contract address, treasury address.**

Suppose **Alice** pays 0.2 ETH from Uniswap for 1000 units of $BENCH.

1. The Uniswap LP contract address receives 0.2 ETH and $BENCH price adjusts from the buying (and selling).
2. Alice will start to receive the transfer of 1000 units of $BENCH from the Uniswap LP contract address and a linear release is started for 7 days (168 hours / 604,800 Seconds).
3. **The $BENCH balance of Alice's address transforms as follows:**
   * **0 hours** after successful transaction: $BENCH = 1000\*0/168 = **0**
   * **24 hours** after successful transaction: $BENCH = 1000\*24/168 = **142.857**
   * **168 hours** after successful transaction: $BENCH = 1000\*168/168 = **1000**

{% hint style="info" %}
Here, for the convenience of calculation, we use hour as the unit of calculation, actually the precision of calculation is in seconds. (Every hour = 3,600 seconds)\

{% endhint %}
