# Providing Liquidity







When a user tokenizes their yield, they may want access to a liquid form of the principal and yield immediately. To enable this, we use the DEX [Curve.finance](https://curve.fi/) to ensure a large amount of liquidity is always available to swap in/out of the associated PT.

<Callout type="info">
  We're currently building something special for liquidity of Yield Tokens. Stay tuned! 👀
</Callout>

The liquidity on the Curve.finance pools comes from Liquidity Providers, who supply one or both sides of the pool with assets. By doing this, they can earn trading fees each time a swap is made on the Curve pool.

<img alt="LP fees" src="__img0" />

## Step by step [#step-by-step]

### 1. Find a PrincipalToken [#1-find-a-principaltoken]

See [Tokenizing Yield](/docs/guides/tokenizing-yield) guide for more details.

### 2. Deposit [#2-deposit]

The easiest and quickest way to supply liquidity is to use our [Router](/docs/technical-reference/contract-functions/router). The Spectra app for instance uses the router to execute all the depositing and liquidity provision in a single transaction.

See [Routing](/docs/guides/routing) for more information on how to build such transactions.

<img alt="LP tokens" src="__img1" />

<Callout type="info">
  The relevant allowance of the token must be approved for the [Router](/docs/technical-reference/contract-functions/router) contract before depositing.
</Callout>

#### Alternative: Depositing directly via Curve [#alternative-depositing-directly-via-curve]

Alternatively, you can deposit directly into the associated Curve pools. However this is more difficult and may take longer as you calculate the optimal amount of IBT and PT to convert and deposit. See the official [Curve documentation here](https://resources.curve.fi/lp/depositing).
