# Tokenization

Deposit ticks can be optionally represented by an ERC20 token, offering users a basic ERC20 interface to their deposit position. This is enabled for a tick by an external actor calling `tokenize(uint128 tick)` on the [`Pool`](https://github.com/metastreet-labs/metastreet-contracts-v2/blob/master/contracts/Pool.sol), which deploys an ERC20 token bound to the specified deposit tick. Once an ERC20 token exists for a tick, all users of that tick are automatically minted and burned tokens for deposit and redeem operations on that tick.

The basic ERC20 interface (`balanceOf()`, `allowance()`, `approve()`, `transfer()`, `transferFrom()`, etc.) operates in terms of deposit tick **shares**, rather than currency value, allowing for a stable, non-rebasing unit of account. The ERC20 token is also extended with several convenience APIs, including `depositSharePrice()` and `redemptionSharePrice()` price getters, for converting the shares amounts to a currency value using one of the two tick valuation approaches discussed in the [Deposit Flow](/technical-overview/protocol-design/deposit-flow.md) section.

Tokenized ERC20 deposits can be used with other protocols in DeFi, such as automated market makers, lending protocols, etc.

See the [`ERC20DepositTokenImplementation`](https://github.com/metastreet-labs/metastreet-contracts-v2/blob/master/contracts/tokenization/ERC20DepositTokenImplementation.sol) contract for more information and the exposed API.


---

# 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.metastreet.xyz/technical-overview/protocol-design/tokenization.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.
