# Tokenomics Contracts

VirtuSwap Tokenomics contracts implement the following key functionality:

1. Algorithmic emission of VRSW (GlobalMinter)
2. Distribution of the emission between different chains&#x20;
3. Allocation of the minted VRSW tokens to pools according to AllocationPoints
4. Updating the AllocationPoints every epoch (default epoch is 1 week)
5. Staking and locking LP tokens and VRSW tokens by users
6. Distribution of minted VRSW tokens to LPs in each pool according to their proportionate stake and the boost they receive by staking and/or locking VRSW

VirtuSwap Tokenomics contracts support multi-chain deployment. However, in v1, the transfer of tokens between different chains is done manually. We realize the centralization risk in this solution, and we will be implementing an automated trustless solution for this in v2.

VRSW tokens will be initially minted on Ethereum. The tokens allocated to algorithmic distribution to LPs are locked in the vGlobalMinter contract, and released over time according to the VirtuSwap emission schedule. Once released, the tokens are transferred to the respective vChainMinter contracts deployed on each supported chain.  The proportional allocation of rewards between supported chains will be decided by the DAO.

vChainMinter allocates the minted tokens between VirtuSwap pools to be distributed to LPs. Pools are represented by vStaker contract instances. In addition, a special vStaker instance can be deployed to offer rewards to stakers of VRSW token.

&#x20;Initially, VirtuSwap has been deployed on Polygon and Arbitrum blockchains, with more blockchains coming afterwards.

The diagram below shows the architecture of the system:

<figure><img src="/files/eBJ2hDBJWYZq8IjjN82L" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.virtuswap.io/virtuswap-documentation/technical-reference/smart-contracts-v1/tokenomics-contracts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
