The AMPL Geyser distributes AMPL tokens from the ecosystem fund to those who provide liquidity on Uniswap V2. The more liquidity you provide, and for longer, the greater share of the AMPL pool you receive.

The AMPL pool in the Geyser unlocks gradually over time, and stakers receive share over the unlocked AMPL over time.

User Flow

The basic staking flow is:
1. Deposit ETH and AMPL into Uniswap V2
2. Receive UNI-V2 LP Tokens
3. Stake those UNI-V2 LP Tokens in the Geyser

That's it! Once you've deposited staking tokens, you can check your current stake and reward amounts using the Geyser interface. You can add more staked liquidity whenever you want and there is no minimum lockup period. You receive your share of the Geyser pool when you unstake.

Video Walkthroughs

We also have video walkthroughs (courtesy of Jeremy) to help you through the process:
1. How to acquire AMPLs with Argent Wallet
2. How to use Metamask to participate in the Uniswap V2 pool
3. How to stake your UNI-V2 LP tokens in the Geyser
4. How to read the Geyser Stats

Motivation

The motivation of the geyser project is two-fold. First, it helps distribute the Ecosystem fund out into the world in a sensible, permissionless, and predictable way. And second, it distributes to those who contribute to the health of the AMPL ecosystem.

About Ampleforth

The AMPL is a digital asset, like Bitcoin, but with a supply that adjusts every day according to demand in the marketplace.

Each day the Ampleforth rebase operation compares the 24hr Volume-weighted-avg AMPL price to the target price. If the price is above the target, supply increases. If the price is below the target, supply decreases. These rules are codified in smart contracts deployed on the Ethereum blockchain.

The supply adjustment treats every address on the platform equally. Supply changes happen globally, proportional to each wallets balance. This means that AMPL has a long-run price target, but it also means that AMPL is non-dillutive. Just like BTC, if you own 1% of the network you'll always own 1% unless you make a transfer.

The AMPL targets the "2019 US Dollar", so the AMPL is immune to the normal devaluing effects of inflation. It does this by tracking a consumer price index (the PCE).

To read more about the background and economic motivations for Ampleforth, please see the Ampleforth Red Book, or the Whitepaper published in collaboration with our advisors at the Stanford Hoover Institute.

You can see the current state of the Ampleforth system, including the oracle values and supply adjustment history on the dashboard.

Frequently Asked Questions

Q: Who holds the funds?

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 AMPL tokens for distribution (in the locked and unlocked pools). All ownership is accounted for onchain via smart contracts.

Q: How is my pool share calculated?

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 = 10 
Bob_token_time = 5 * tokens * 3 days = 15

Global_staking_token_time = (Alice_token_time) + (Bob_token_time) = 25 token_days

Alice 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.

Q: How does the Bonus Period work?

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.

Q: What about exchanges beyond Uniswap?

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.

Q: Where can I see the code?

The geyser solidity code and contract addresses here on github.

Q: Have the smart contracts been audited?

Yes, the onchain code has been audited by CertiK. You can find the report here: https://github.com/ampleforth/ampleforth-audits/tree/master/token-geyser

Q: Is the Geyser insured?

Yes! Ampleforth has sponsored an insurance program through Nexus Mutual for up to 866 ETH (~$210,000) for the 3 month pilot period.

Q: Do rebases still impact the Uniswap AMPL and Geyser pool AMPL?

Yes. AMPL 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 AMPL 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 AMPL when they are redeemed, similar to Compound CTokens.

Q: Do I still receive my Uniswap LP trading fees?

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.

Q: I'm a developer, can I build on top of the Geyser?

Yes. The geyser implements the EIP-900 staking interface.

You can find the geyser solidity code and contract addresses here on github: https://github.com/ampleforth/token-geyser

Q: Is there an owner key? Can the smart contracts be changed?

The code is non-upgradeable and cannot be paused or halted. There is only one function protected by an owner key: the function that adds new tokens to be distributed. This is a security limitation to ensure we don't hit any memory or computation limits. Once AMPL have been deposited for distribution, the only way they can be withdrawn is through the staking process.

Q: Will the Ampleforth Foundation participate in the Geyser?

No, the Ampleforth Foundation will not provide liquidity tokens into the Geyser to generate rewards. The Ampleforth Foundation does provide liquidity to DEX pools, including the Uniswap V2 AMPL/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.