Uniswap contracts hold the tokens associated with the UNI-V2 LP tokens as they normally do. The geyser contracts hold the staked UNI-V2 tokens and the Xdef tokens for distribution (in the locked and unlocked pools). All ownership is accounted for onchain via smart contracts.
The more you stake and the longer you stake them for relative to others, the greater share of the unlock pool you receive.
Ownership share of the unlock pool is equal to:
User_staking_token_time / Global_staking_token_time
Imagine there are two users in the system, Alice and Bob. Alice has staked 10 tokens for 1 day, Bob has staked 5 tokens for 3 days.
Alice_token_time = 10 tokens * 1 days = 10Bob_token_time = 5 * tokens * 3 days = 15Global_staking_token_time = (Alice_token_time) + (Bob_token_time) = 25 token_daysAlice owns (10 / 25) = 40%Bob owns (15 / 25) = 60%
The ownership percentage is over the unlocked pool. As soon as you withdraw your staked tokens, you get your share of the currently unlocked tokens, irrespective of the locked tokens still waiting to unlock.
Ownership percentages and token unlocks are continuous, meaning they're calculated block-by-block.
*These percentages assume the maximum bonus from the bonus period has been met.
The Geyser is meant to incentivize long-term liquidity providers. While there are no hard lockups for staking, there is a benefit to keeping your staked position longer.
When you begin staking, you begin at a 1X bonus multiplier on your reward earnings. This multiplier increases throughout the trial period, to a maximum of 3X after two months. An easy way to think about it is: each additional month you hold, you receive 'an extra X' on your multiplier, up to a maximum of 3X. For example, holding for an entire month gives you a 2X multiplier, and holding for two months, a 3X multiplier.
If you withdraw half-way through month 2 (after 6 weeks), you would get half-way between 2X and 3X--it's a simple linear function.
Each individual stake amount marks the beginning of it's own period. So if you stake two times then withdraw, the first stake and the second stake may have different bonus amounts. Withdrawn stakes always start with the newest staked tokens.
If this sounds complicated, there are really just two things to keep in mind: 1. Try to keep stakes for at least 8 weeks. 2. The Geyser interface always shows your current stake amount and reward balance.
We're initially targeting Uniswap v2. However, the DeFi landscape changes fast. We'll re-evaluate after each unlock period and may decide to incentivize other pools instead of (or in addition to) Uniswap. The architecture of the Geyser is general and not tied to any particular downstream platform. This can even include supplying on lending platforms.
If there are other platforms you'd like to see included, reach out to us here in the forums, over email, or in our Telegram channel.
The geyser solidity code and contract addresses here on github.
Yes, the onchain code will be audited once we have the publish the codes on Github . You can find the report here:
Yes. Xdef supply changes are universal and affect all users proportially and equally, whether they are an end-user (EOA) wallet or a contract wallet.
This means the geyser locked pool, geyser unlocked pool, and Uniswap's Xdef pool can increase or decrease in size each rebase period. Your UNI-V2 LP tokens remain static in balance, but can be converted into the correct amount of Xdef when they are redeemed, similar to Compound CTokens.
Yes. The profit-and-loss of Uniswap tokens are unchanged by the geyser. The geyser contracts simply hold the UNI-V2 LP tokens for you as long as they are staked.
No, the Xdef Foundation will not provide liquidity tokens into the Geyser to generate rewards. The Xdef Foundation does provide liquidity to DEX pools, including the Uniswap V2 Xdef/ETH pool, to encourage a healthy and liquid market. However, this liquidity is separate from the Geyser. For anyone curious, this data is all transparent and available onchain through tools like Etherscan.