[Part 4 of 4] The 0Chain Geyser Guide: How to Participate in The 0Chain Geyser

Derick Fiebiger
10 min readDec 18, 2020

Welcome to Part 4 of the 0Chain Geyser Guide.

In this part, we will cover how to participate in the 0Chain Geyser using Uniswap and the Metamask crypto wallet. Once you understand how to become a liquidity provider on Uniswap, understanding how to use the Geyser will seem fairly straightforward. More questions will tend to arise surrounding various definitions related to the Geyser and the implications of Geyser rewards. Before outlining the process of joining the Geyser, this page will first establish a FAQ to define most of the terms within the Geyser.

If you already feel comfortable with DeFi and would like to skip the tutorials, feel free to head directly to the 0Chain Geyser Page to begin staking.

Geyser FAQ

General Questions

What is a Token Geyser?

The Token Geyser was developed and first launched in April 2020 by the brilliant team over at Ampleforth. The AMPL token is a decentralized stable token that benefits from high liquidity. The Token Geyser is a smart contract on Ethereum that dispenses additional token rewards to liquidity providers on Uniswap and on other Decentralized Exchanges. Ampleforth’s Token Geyser program has helped to augment the liquidity of the AMPL token on decentralized exchanges. Fortunately, the Token Geyser’s decentralized reward program can also augment the decentralized liquidity on a variety of crypto tokens, including ZCN. For this reason, the 0Chain team has decided to deploy one for the ZCN community.

How does a Geyser help to grow liquidity?

Liquidity providers (LP) on Uniswap collectively share fee revenue of .3% on every trade. This fee revenue generates significant upside for LPs, but they also have to contend with the downside of impermanent loss. Impermanent loss can be defined as the difference, or opportunity cost, between simply holding your tokens vs. depositing your tokens into the liquidity pool. Part 3 of the 0Chain Geyser Guide goes into further detail on the concept of impermanent loss, but the ultimate purpose of the Geyser is to combat the risk of impermanent loss. The 0Chain Geyser dispenses ZCN token rewards to LPs as an additional reward for LPs, and, as a result, the earnings derived from providing liquidity are increased, lowering the risk of impermanent loss.

How does the Geyser work?

The 0Chain Geyser is a smart contract that controls a pool of ZCN reward tokens. The V1.0 0Chain Geyser smart contract is programmed to dispense a fixed amount of tokens (216,000 ZCN) over a fixed amount of time (180 days). The pool of ZCN will dispense ZCN rewards (1200 ZCN per day), to all of the LPs participating in the Geyser, over the course of the 180 day unlock period. The longer an LP remains staked in the Geyser contract, the better reward rate the LP receives.

How are the rewards split up?

The rewards that an LP receives are based on the duration of time an LP is in the Geyser, as well as the LP’s “share” of the pool relative to the total LP shares staked into the pool. So, if Tom, an LP, has .1 LP tokens (shares) out of a total of 2 LP tokens that are staked in the Geyser, he will receive twice as many rewards as Susan, a fellow LP with .05 LP tokens staked (this is assuming both Tom and Susan had both staked into the Geyser at the same time, giving them an identical reward multiplier). Additionally, Tom and Susan will receive an increasing reward rate each day that they remain staked in the Geyser. In other words, Tom and Susan start out at a 1X reward multiplier, and the reward multiplier will grow to a 2X multiplier after 60 days staked in the Geyser. So, to reiterate, the rewards are given out to LPs in proportion to an LP’s share of the pool and the time spent within the pool.

If you’re still confused, there will be more clarity on LP tokens and the multipliers later on.

Stats Page Explained

For more information on these six stat categories, reference the definitions below.

Total Rewards: The total amount of ZCN in the pool that will be dispensed by the Geyser contract.

For instance, the V1.0 Geyser will begin with 216,000 ZCN in the pool. This will be the Total Rewards for V1.0.

Locked Rewards: The amount of ZCN that remains in the pool to be dispensed by the Geyser contract.

For instance, the V1.0 Geyser will begin with 216,000 ZCN and will unlock ZCN at a rate of 1200 ZCN per day. After 10 days, the Locked Rewards will be 204,000 ZCN:

(216,000 ZCN)-(1200 ZCN per day)*(10 days)=(Locked Rewards of 204,000 ZCN)

Unlocked Rewards: The amount of ZCN in the pool that has been dispensed by the Geyser contract.

For instance, the V1.0 Geyser will begin with 216,000 ZCN and will unlock ZCN at a rate of 1200 ZCN per day. After 10 days, the Unlocked Rewards will be 12,000:

(1200 ZCN per day)*(10 days)=(Unlocked Rewards of 12,000 ZCN)

Reward Unlock Rate: The amount of ZCN dispensed by the pool per month.

For instance, the V1.0 Geyser will be programmed to function for 180 days (6 months) with a 36,000 ZCN/month reward unlock rate:

(216,000 ZCN)/(6 months)=(36,000 ZCN/month)

Time Remaining: The number of days remaining in the Geyser contract.

For instance, the V1.0 Geyser will be programmed to function for 180 days (6 months). After 4 months, there will be 60 days remaining:

(180 days)-(120 days)=(60 days remaining)

Total Deposits: The total value of the LP tokens deposited into the Geyser smart contract.

For instance, if the total liquidity of the ETH/ZCN Uniswap pool is $1 Million and there is a total supply of 2 LP tokens, 1 LP will equal $500,000. If 1.5 LP tokens out of the total supply of 2 LP tokens are deposited into the Geyser, the Total Deposits will be $750,000.

(1.5 LP Tokens in geyser)/(Total LP token supply of 2 LP Tokens)*($1 Million total liquidity in ETH/ZCN Uniswap pool)=($750,000 Total Deposits)

Pro-tip: How to find the Total Supply & Value of the ZCN/ETH LP token?

You may be wondering where to find the information mentioned in the last paragraph regarding LP token supply. You can locate both the total liquidity value underpinning the LP tokens and the total LP token supply on the ZCN/ETH Uniswap pool on the Ethereum blockchain explorer (Etherscan.io):

Total ZCN/ETH Liquidity Value (in Uniswap): LINK

The Sum of WETH USD Value ($959k) and ZCN USD Value ($958k) in the Uniswap Smart Contract = Total Liquidity Value

Total ZCN/ETH LP Token Supply: LINK

The total ZCN/ETH LP token supply = Max Total Supply (5.34 UNI-V2)

Reward Multiplier Explained

For more information on these three stat categories, reference the definitions below.

APY: The Annual Percentage Yield of ZCN rewards in the Geyser. This indicates your ZCN reward rate of return, annualized. The math behind the APY is one of the more complex formulas in the Geyser, but if you’re interested in how it’s calculated, you can read on.

The APY uses the following formula (note: for illustrative purposes we’ll use the rates for the V1.0 Pilot 0Chain Geyser, rates that may be different in future Geysers):

(12 Months)*(1.918 Default Monthly Reward Multiplier)*(36,000 ZCN Unlock Rate Per Month)*(Spot Market Price of ZCN/USD)*(100/Total Deposits)=APY

Terms in APY formula Defined:

The Default Multiplier: your average rate of return before reaching the max multiplier (1.5X rewards over 60 days), plus the max multiplier (2X rewards over 305 days), divided by a full year (365 days). This gives you the average return per month, annualized of 1.918.

Total Deposits: See Stats Page portion of the FAQ, above.

Unlock Rate Per Month: See Stats Page portion of the FAQ, above.

Reward Multiplier: The current rate at which your rewards are multiplied. On Day 1, your multiplier is zero, or 1X. The Geyser multiplier grows each second you’re staked in the Geyser up to a maximum multiplier.

For instance, the V1.0 Geyser’s reward multiplier will be programmed to start at a 1X multiplier and ascend to a 2X multiple after 60 days of staking, increasing linearly up to that 60 day mark (eg. an LP will receive a 1.5X multiplier after 30 days, the 50% mark to the max reward). After 60 days the LP will remain at the 2X multiple until he or she withdraws from the Geyser and/or the Geyser reaches its full duration of 180 days.

Accrued Rewards: Your total Geyser rewards, accumulated over the duration of your staking period in the Geyser.

Necessities for Setup

Before you attempt to navigate on the 0Chain Geyser, you’re going to need a few things:

  • A computer (I’ll be using a Mac)
  • An internet connection
  • 1 of 4 web browsers (Google Chrome, Brave, Firefox, or Edge). For this guide we will be using Google Chrome, since it’s the most popular web browser.
  • A ZCN/WETH liquidity token in your Metamask Wallet
  • Some ETH in your Metamask Wallet (to pay for gas)

Assuming you have all of these items ready to roll, we can get started.

Step One: Open the 0Chain Geyser

  1. Go to geyser.zcn.exchange, and connect your Metamask wallet. Click “Next” in Metamask. You should be immediately prompted by Metamask to connect. If not, you can click “Connect” in the upper right hand corner of the 0Chain Geyser page. Connecting your Metamask will give the 0Chain Geyser front end permission to interact with your Metamask wallet.
Go to geyser.zcn.exchange, and connect your Metamask wallet. Click “Next” in Metamask.

2. Click “Connect”. This step will confirm the connection process.

Click “Connect”. This step will confirm the connection process.

Step Two: Deposit LP Tokens into the 0Chain Geyser

  1. Enter the amount of LP tokens you’d like to stake in the Geyser. The 0Chain Geyser will show your available LP token balance. If you do not see a balance, this indicates you do not have available LP tokens to deposit into the Geyser. To get LP tokens click the green “Get LP Tokens” button on the Geyser page, or refer to Part 3 of the Geyser Guide.
Enter the amount of LP tokens you’d like to stake in the Geyser. The 0Chain Geyser will show your available LP token balance.

2. Click “Deposit” on the 0Chain Geyser page; Click “Confirm” on Metamask. This will send the an “Approval Transaction” to the blockchain, allowing you, the LP, to initiate your LP token into a stake transaction on the Geyser. This transaction may take a while to finalize (it may show as pending for a 5+ minutes), but it is the second to last step to joining the Geyser.

Click “Deposit” on the 0Chain Geyser page; Click “Confirm” on Metamask. This will send the an “Approval Transaction” to the blockchain, allowing you, the LP, to initiate your LP token into a stake transaction on the Geyser.

3. Click “Confirm”. This will send the Stake Transaction to join the Geyser. Once the Stake Transaction is confirmed, you will now officially be staked in the Geyser pool and begin receiving rewards via the Geyser smart contract.

Click “Confirm”. This will send the Stake Transaction to join the Geyser.

4. Click the “Withdraw” tab to confirm you’re in. If the Stake Transaction was successful, your available wallet balance for withdrawal should show the amount of LP tokens that you deposited.

4. Click the “Withdraw” tab to double check to confirm you’re in.

Step Three: Monitor Rewards from the 0Chain Geyser

  1. Click the “Stats” tab to be directed to the Stats page, where you can monitor your rewards (Accrued Rewards will show your total rewards; Reward Multiplier will show your progress to the 2X multiplier; APY will show the reward rate; etc.), and various other aspects of the Geyser, such as Total Deposits (this will show the total amount in the Geyser).
Click the “Stats” tab to be directed to the Stats page, where you can monitor your rewards

Step Four: Withdrawing LP Tokens from the 0Chain Geyser

Eventually you’ll want to exit the Geyser and collect your rewards. Fortunately, this process is quite simple:

  1. Enter the balance you’d like to withdraw; Click the “Withdraw” tab. This will generate an Unstake Transaction for your Metamask wallet to confirm, where you will complete the withdrawal.
Enter the balance you’d like to withdraw; Click the “Withdraw” tab. This will generate an Unstake Transaction for your Metamask wallet to confirm, where you will complete the withdrawal.

2. Click “Confirm” on Metamask. This will transmit the Unstake Transaction on the Ethereum blockchain.

Note: Similar to your Staking Transaction, the Unstake Transaction may take a while to process on the blockchain, so be patient.

Click “Confirm” on Metamask. This will transmit the Unstake Transaction on the Ethereum blockchain.

3. Click “Activity” on Metamask to see that your Unstake transaction is completed (if it doesn’t have an error message or it doesn’t say “pending” it is completed).

Note: There are no additional steps required in order to claim your 0Chain Geyser rewards. Your rewards will automatically be claimed upon withdrawal.

The End!

That does it for the 0Chain Geyser Guide. Thanks for reading. If you still have questions, feel free to pop into the 0Chain telegram and ask for help.

If you found this article helpful, please let me know on twitter!

--

--