> For the complete documentation index, see [llms.txt](https://docs.syno.finance/developer-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.syno.finance/developer-docs/tokens.md).

# Tokens

## Tokens

There are 4 major tokens in the protocol (visit the [tokenomics](https://docs.syno.finance/documentation/tokenomics-and-rewards/syno-tokenomics) for more details)

* SYNO - the protocol token
* tSYNO - locked SYNO for users who want to convert their NEWO tokens to SYNO tokens
* rCT - rewards claim token - veNEWO holders who converted their NEWO tokens to SYNO tokens, can receive also rCT tokens
* vlSYNO - locked Balancer ETH-SYNO LP tokens

### SYNO

A standard ERC20 token

### vlSYNO

A non-transferable ERC20 token. Earns a portion of the protocol fees (visit [tokenomics](https://docs.syno.finance/documentation/tokenomics-and-rewards/syno-tokenomics) for more details)

`vlSYNO.stake(...)`&#x20;

* Allows users to lock their Balancer ETH-SYNO LP tokens for a certain period of time
* Params
  * `amount`
  * `lockPeriod` - `ONE_MONTH` | `THREE_MONTHS` | `SIX_MONTHS` | `TWELVE_MONTHS`
    * the longer the lockPeriod, the more bonus fees it earns, visit the [tokenomics](https://docs.syno.finance/documentation/tokenomics-and-rewards/syno-tokenomics) for more details

`vlSYNO.requestUnstake(...)`

* Initiates the unstaking process, which involves a 7 days cooldown period. After you request an unstake, you have to wait at least 7 days to be able to unstake your vlSYNO and receive your LP tokens
* Params
  * `index` - the index of the sake to be unstaked. Can be retrieved from the `vlSYNO.Staked` events

`vlSYNO.unstake(...)`

* Finalizes the unstaking process initiated by `vlSYNO.requestUnstake(...)`. Retrieves the LP tokens and returns them to the user.
* Params
  * `index` - the index of the sake to be unstaked. Can be retrieved from the `vlSYNO.Staked` events

`vlSYNO.restake(...)`

* When a vlSYNO stake expires, it no longer earns bonus APY, instead of unstaking it, waiting 7 days cooldown period and then staking it again, a user can immediately restake it.
* Params
  * `index` - the index of the sake to be restaked. Can be retrieved from the `vlSYNO.Staked` events

### TokenConverter

This smart contract allows users to convert their NEWO tokens to tSYNO and rCT tokens.

`TokenConverter.ClaimInput`

The input for `TokenConverter.convertWithProof(...)` function. The input values must match the merkle tree leafs:

* `amount`&#x20;
  * must be lesser or equal to `rCTCap/multiplier`
  * this much NEWO will be converted to tSYNO
* `proof` - merkle tree proof
* `index` - merkle tree index
* `rCTCap`
* `multiplier`

`TokenConverter.convertWithProof(...)`

* This function converts NEWO to tSTYNO and rCT tokens
* This function should called once only. If you want to convert your NEWO in stages, use `TokenConverter.convert(...)` for subsequent conversions
* Should be only called if the user is eligible to rCT token (veNEWO stakers, visit the [tokenomics](https://docs.syno.finance/documentation/tokenomics-and-rewards/syno-tokenomics) for more details)
* It's required to use this function if the user is eligible to rCT tokens
* Params
  * `ethereumClaim` - a proof of rCT eligibility from Ethereum
  * `avalancheClaim` - a proof of rCT eligibility from Avalanche
  * `disclaimerSignature` - a signed disclaimer (`TokenConverter.disclaimer`)

`TokenConverter.convert(...)`

* **If your are eligible to rCT token (veNEWO stakers, visit the** [**tokenomics**](https://docs.syno.finance/documentation/tokenomics-and-rewards/syno-tokenomics) **for more details), call `TokenConverter.convertWithProof(...)` first.**
* This function converts NEWO to tSTYNO and rCT tokens
  * For users who are veNEWO stakes and called `TokenConverter.convertWithProof(...)` first
  * For all the other users
* Params
  * `network`
    * The origin network for the NEWO you want to convert
    * `ITokenConverter.Network`: `ETHEREUM` | `AVALANCHE`
  * `amount`&#x20;
    * this much NEWO will be converted to tSYNO
    * if you are eligible to rCT tokens and called `TokenConverter.convertWithProof(...)` previously, you'll receive rCT tokens as well.
  * `disclaimerSignature` - a signed disclaimer (`TokenConverter.disclaimer`)

### tSYNO

A non-transferable ERC20 token. Earns a portion of the protocol fees (visit [tokenomics](https://docs.syno.finance/documentation/tokenomics-and-rewards/syno-tokenomics) for more details). Can be obtained through NEWO token conversion through `tSYNO.unstake(...)`.&#x20;

`tSYNO.unstake(...)`

* tSYNO tokens will be converted to SYNO tokens when unstaked. If unstaked before the lock period elapses, a penalty is applied. The penalty starts at 90% and decreases linearly to 0% over the lock period. The penalty is transferred to the protocol treasury.
* Unstaking tSYNO tokens will result in permanently burning corresponding rCT tokens.&#x20;
* If you have a suprplus of tSYNO tokens over your vlSYNO allowance, unstaking them will not result in burning rCT tokens (visit the [tokenomics](https://docs.syno.finance/documentation/tokenomics-and-rewards/syno-tokenomics) for more details)
* Params
  * `amount`&#x20;

### rCT

A non-transferable ERC20 token. Earns a portion of treasury yield (visit [tokenomics](https://docs.syno.finance/documentation/tokenomics-and-rewards/syno-tokenomics) for more details). Only staked rCTs earn the yield. You can stake/unstake any time with `rCT.stake()` and `rCT.unstake()`.

### RewardsDistributor

For every asset distributed by the protocol to the users (rewards, emissions, yield) there is a `RewardsDistributor` instance.

`RewardsDistributor.claim(...)`&#x20;

* Allows to claim rewards for multiple epochs
* Params
  * `inputs` - a list of merkle tree proofs (`RewardsDistributor.ClaimInput`) for the distribution claims
