💧Providing Liquidity for Thales AMM

The Thales AMM has proven it's reliability by handling thousands of transactions that have generated millions in volume, so it's finally time to allow THALES stakers to take part in liquidity provisioning for the Thales AMM.

You can take part by visiting https://thalesmarket.io/liquidity-pool

How does Providing Liquidity for the Thales AMM work?

Liquidity Provisioning is the process of providing collateral to a protocol that can then use this collateral to execute trades. This is done by acting as a counterparty to traders by providing collateral to back these trades and is then used to payout successful traders.

You can see all the details for providing liquidity for the AMM in TIP-139.

Allowance is Based on THALES Staked

Every THALES token staker will have a capped allowance on how much they can LP based on the amount of THALES token they are staking. The ratio between this allowance and amount of THALES staked will be controlled by a variable called:

This multiplier represents how much USD you are allowed to deposit into the AMM for each 1 THALES token staked.

Current stakedThalesMultiplier value = 1

This means the number of THALES you have staked is the number of USD you can provide in liquidity. More THALES can always be staked to increase one's USD deposit allowance. You can follow this guide for steps to stake THALES on Optimism

You are not able to unstake your THALES while you are providing liquidity into the AMM. If you wish to unstake your THALES you have to withdraw funds from the AMM first.

LP deposits count towards your wallet’s gamified THALES staking rewards as protocol generated volume. Since gamified THALES staking counts volume over a running 4 week timeframe, 100 USD deposited (assuming no change in the AMM’s performance) would equate to 100 USD per week or a total of 400 USD of protocol volume towards gamified staking.

Deposit and Withdrawal Mechanics

Deposits are entered in 1 week long rounds so Profit and Loss (PnL) can be calculated. Traders can make a deposit and their collateral will be queued up to enter the upcoming round. Deposits and withdrawals need to be signaled on the UI and will be performed at the start of the next round.

When a round ends, the AMM's performance from all markets in that round is summed up, and allocated to all liquidity providers proportional to their share of the pool.

  • Each LP-ing round lasts 7 days.

  • Users can deposit at any time during any round. The deposited funds will be utilized as collateral in the AMM starting with the next round from time of depositing.

  • The minimum deposit is 100 USD.

  • A maximum of 100 users can enter the pool at one time.

  • The maximum amount of USD you can deposit is the number of your staked THALES divided by 5.

  • Funds roll over to the next round automatically until a withdrawal is signaled.

  • User can signal a withdrawal at any time during any round. Withdrawals are limited to no less than 10% of your total deposit.

  • The funds that are signaled for withdrawal will be unlocked at the start of the next round from time of signaling.

If you signal a withdrawal, your funds will still be exposed as collateral for the duration of the ongoing round and will only be removed as AMM collateral when the round ends.

Risks of Providing Liquidity to the Thales AMM

Providing liquidity exposes you to various risks including potential losses due to users winning in trading as well as smart contract security risks. Please make sure you understand these risks before depositing.

Liquidity Provisioning is capped to limit exposure for depositors. In the event that the AMM performs in an unexpected way these caps limit the potential downside experienced by depositors.

Caps are updated via the governance process, where stakers can vote to elect council members every 6 months. These council members then vote on community submitted TIPs (Thales Improvement Proposals that act as changes to the protocol) and once approved the Protocol DAO can execute these changes.

20% of each profitable round will be sent to the SafeBox and leveraged for buybacks and burning, via TIP-163.

Guide for Providing Liquidity for the Thales AMM

If you wish to start providing liquidity for the AMM, make sure you have sufficient THALES staked so you can provide the desired amount of collateral to LP.

Navigate to the Liquidity Pool page on the Thales Market dapp:

Depositing USD to provide liquidity for the Thales AMM

Step 1: Connect your wallet to the Thales Market dapp on the top right corner of the page.

Step 2: Enter the amount of USD you wish to DEPOSIT

Your Max allowance of how much USD you can deposit is visible in the Total LP info card on the left of the page. Your allowance is calculated as following:

Step 3: Approve USD by clicking APPROVE

Step 4: Click on Deposit toggle, enter the amount of USD you'd like to deposit and confirm the transaction

The time until the current round ends is listed on the left. Once the round ends any deposits made during the previous round will be added to the AMM.

You can use the GET THALES button to purchase THALES from Uniswap, and the STAKE THALES button to stake them.

Once you've made a pending deposit for the next round, the amount to deposit will be listed as "Next round balance".

Withdrawing USD from the AMM

To withdraw, you must have USD deposited in the current round.

Step 1: Connect your wallet to the Thales dapp on the top right corner of the page.

Step 2: Click on the REQUEST WITHDRAWAL button and select either "Full Withdrawal" or "Partial Withdrawal".

Step 3: If you've selected Partial Withdrawal, enter the amount you'd like to withdrawal (minimum of 10%, maximum 90% of your total collateral held by the AMM).

Step 4: Wait for current round to end to receive your funds directly to your wallet.

Once you've successfully requested a withdraw, you'll see the estimated amount you'll receive at the end of the current round. The actual amount you'll receive will be calculated once the current round closes and is based on the PnL of the round.

Your stats will update to include your requested withdrawal amount as well as your expected balance for the next round.

You cannot deposit when you have a pending withdrawal until the round has ended and you've received your deposit. Once the current rounds ends your deposit will be automatically sent to you.

Last updated