Farming. It’s all about the artwork.

Prof Wobble
Jelly
Published in
7 min readApr 13, 2022

A new approach to farming by Professor Wobble of Jelly Protocol.

Abstract:

Farming has become quite generic, contracts are not flexible enough. Our researchers ran various experiments in the invention room with the goal of creating something Jellishly weird. Something with the ability to reward specific behaviors and provide high reward distribution efficiency. Our proposal is to combine a novel approach for Staking NFTs with a whitelisted farm for optimal results.

The problem with rewards today

Rewards at the protocol level suffer from an array of issues, from long term incentive misalignment, to excessive token distributions and general lack of granularity. While immutability is powerful for many aspects of DeFi, the hard coding of incentives is often undesirable, with the future near impossible to predict. As such, rewards need adjustment over time, and re-engineered when goals change.

Lack of granularity

The exact mechanisms for reward distribution at the macro level are widely understood and tested, however there remains a lack of granularity when it comes to rewards. Non fungibility of staked positions leads itself to the representation as an NFT and with it, a suite of new ways to reward individuals as well as opening up liquidity for staked positions.

Early community

Bootstrapping of new users is an afterthought, usually solved with excessive tokens and whale games. Little to no advantage is given to the early adopters over time, and airdrops campaigns disconnected from farming. Only a small amount of information is surfaced from the inner workings of farms. Due diligence is reduced to TVL and emissions, which are not indicative of the health of a pool and the underlying community.

Information

Farming is at its core an information game. The surfacing of new, never before seen information such as floor price, individual holders, low mint token IDs and their transfer history, is exposed when dealing with Staking NFTs.

A novel approach to Staking NFTs

Our research into liquidity for staked positions resulted in the creation of the Jelly Pool Staking NFTs.

Staking NFTs

Staking NFTs in the Jelly Pool represent the staked LP token pair JELLY/USDC, plus the $JELLY rewards being earned while the LP is staked. When the Staked NFT is bought or sold, the value of the staked position is transferred to the new owner. A wallet holding the NFT gets access to Claim the rewards and Unstake the LP tokens. Essentially, when you stake in the pool, you get an NFT, when you unstake, it gets burnt. A wallet can hold multiple NFTs from the same pool and these display on the Jelly protocol UI as a cumulative staked balance of LPs.

Figure 1: Staking NFT for the Sweet Pool

We found during experiments with our taste testers, that there is a lot more fun to be had flipping these NFTs than regular farming.

NFT market dynamics

When farming is abstracted to trading an NFT, a whole new market is opened up for users. New users can ape with a simple NFT transaction and claim rewards without knowing how to provide liquidity or step through multiple swaps, approvals, and staking transactions. Previously, staked positions that were below say $1000 on Ethereum mainnet suffered from multiple transactions that could cost 20–30% of the underlying value. Represented as an NFT and sold on Opensea, even with fees, will be significantly cheaper to get exposure.

Order book

The second insight was the order book nature of secondary NFT sales. Trades of staked NFTs do not touch the DEX of the underlying SLPs. This can be important for larger holders who wish to avoid significant slippage or sell pressure, by setting a price they would be happy to be hit. As the token remains on sale, rewards accumulate and/or the underlying price moves, such that the NFT value approaches the sale price and gets hit. The benefit for all here, is again that this large trade did not have a negative price impact at the DEX.

Token ID Accounting

Aside from being able to sell these NFTs, mapping the rewarder information by token ID, not user address, this has subsequent advantages, such as staking with a hot wallet, and being able to send the NFT to cold storage and still earn rewards, without cold storage ever interacting with the farming UI.

Reconstructing rewards

The future shouldn’t be set in stone. As a rewards protocol, it is critical to be able to try new reward ideas with our community. We want be able to set and update rewards over time, similar to our updateable airdrop which has worked so well for growing our community. Our approach is a modular framework, avoiding updateable proxy contracts and going for purpose built contracts.

Figure 2: Structure of Jelly Pool with bonded descriptors and rewarder cross-linking.

Rewarder Contract

To solve this, we have an external contract called the Jelly Rewarder. It is stateless, doesn’t hold any user balances, and is only responsible for serving rewards. Staked funds are kept in the Jelly Pool, connected to a Rewarder. The pool then does what it does best, split those rewards pro-rata to everyone inside, separating the pool, from the logic that determines how much Jelly is served this week. These external rewarders are great and will allow us to experiment and engineer a number of new incentive models.

Pool Contract

The pools are the next focus. They are less ephemeral, with the need to reduce tokens migrations required with every protocol upgrade. We have all the regular emergency features, say the rewarder is not right, your funds are always able to be unstaked safely. Next was the ability to distribute more than one token. Since the pool is a long term contract, we made it so that the Jelly pool is able to serve multiple tokens as rewards.

External Lists

Each Jelly pool has the option to set a list contract, giving granularity to who can and cannot stake into individual the pools. List operators are able to update a whitelist and set or unset any staking limits.

Onchain Metadata

Since these Staking NFTs will be tradeable, and a significant amount of value will be represented via their metadata, information like the amount staked, or the rewards claimable. Users can refresh metadata to be sure of what they’re buying, and have trust knowing this data is served on-chain, not from an external API.

NFT Descriptors

Metadata for this comes straight from smart contracts called NFT descriptors which pull data from the pool. Each pool has its own descriptor to allow different artworks. Since the metadata logic is not frozen, it opens the potential for different artworks and attributes within the pool.

Two Pools, the Sweet and the Royal

Figure 3: Sweet Pool and Royal Pool, Jelly Farming UI

For our launch and initial farming rewards program, we’ll have two pools. One for new users, call the Sweet Pool, and one to reward our existing community of Royal Jellies called the Royal Pool.

Given that all the pools share our standard rewarder interface, the next step was to have the two pools work together at the contract level, or at least have co-dependent logic. We used a shared rewarder to balance between our Sweet and Royal pools, ensuring that our royals always get 2x the reward for their SLPs, irrespective of the tokens staked in ether of the two pools. This is great for farmers who previously had to tend to their crops, constantly rotating their farmed positions to get the best yield. With our shared rewarder, these pools now work together.

Combining our whitelist and farming

Following on from our airdrop program with the Royal Jellies, we have a growing list of users which we will incorporate into our farming program. When a new Royal Jelly is knighted and Merkle proof updated, their royalty is also recognized across multiple contracts. We do this with a shared list contract used by both our airdrop and the Royal pool. Similar to the rewarder, it is external, updateable, and when one Merkle gets updated, they both do.

Figure 2: Staking NFT for the Royal Jelly Whitelisted Pool

Concluding remarks

Research into incentive engineering will continue to evolve. Combining different techniques for rewarding behaviour, such as whitelisting and custom rewarders, results in something greater than the sum of its parts.

We learn however, through iterations with our taste testers, irrespective of the new features for Staking NFTs, and the underlying technology, when it comes to farming, it’s all about the artwork.

— Professor Wobble

This farm will be launching soon along with the $JELLY token launch. We will release updates on launch details and Jellynomics soon, please join us on Discord and follow us on Twitter for updates.

Join our Discord

https://discord.com/invite/MGqDkxjpM3

Follow us on Twitter

https://twitter.com/jellyprotocol

Visit us at
https://www.jelly.io

For projects wanting to use Jelly for your next Airdrop or Farming Program, reach out to Dr Jiggle or Prof Wobble to secure early access to the Jelly Factory.

https://twitter.com/DoctorJiggle

— Dr Jiggle (Chief Viscoelastic Rheologist)

https://twitter.com/ProfWobble

— Professor Wobble (Chief Gelatin Crystallogist)

--

--