Phase III rewards distribution proposals

Motivation:
In the past week or so we’ve been actively discussing how to make sure that the project grows into the №1 community-owned money market in crypto (even beyond Ethereum). See here for context.

The community identified the strong need to expand the dev team to reach our immediate-to-long-term goals.

We have also witnessed first-hand that we need to continue incentivizing the money market before Percent distinguishes itself with the new features we plant to build.

Liquidity of the PCT token is another of these three major concerns we want to address.

We have about 2.8m PCT left for incentives that we need to distribute in a way that helps resolve the outlined issues.

Multiple scenarios have been proposed and analyzed across this forum and Discord to reach optimal results.

Below are the 4 options that i’d like to propose to put up for the vote. It makes sense to gather additional input from the community to finalize these options.

Proposal

Consider the following options for the Phase III distribution to support: developer team expansion, money market growth, PCT liquidity. Here are the calculations behind the proposals, kindly provided by @Bluecrypt.

Option 1

We use 100% of the remaining PCT to incentivize targeted money markets.

Currentl APYs are low due to the low price of PCT, yet if we initially target a 6month distribution we can still get at 5%-1,23% incentive for 10-40m TVL, respectively. We can retain the flexibility for the multisig to choose which markets to incentivize and also allow to adapt the distribution schedule to the appreciation in the token price, so that we can target certain PCT-incentivized APYs, rather than have a fixed amount of tokens allocated within a fixed amout of time.

Option 2

2m PCT gets allocated to the money market, while 847k is put into a 75/25 Balancer pool to support token liquidity and allow Treasury to earn additional BAL rewards.

We put up a smart Balancer pool that starts as a 75/25 PCT/ETH pool and allows to change token weights and trading fees as token appreciates and liquidity rises - in order to maximize the BAL rewards for the treasury. The PCT supply in the pool is capped by the 847k PCT, so that only the Treasury tokens are added, but we source the ETH liquidity from the community providing additional incentives via the protocol - e.g. “better” collateral ratios for supplied stablecoins, or 1.5 boost in rewards (unpreferable).

This will allow the project to have a slightly better budget for hires, integrations and future growth, which is crucial at this stage.

Option 3

Option 1 plus the following: We incentivize early PCT/WETH 50/50 liquidity providers by allowing them to unstake BPTs to get BAL rewards and offering incentives in the Money Markets.

We want to maintain the liquidity of PCT and allow early LPs make up for their impermanent losses as the token appreciates. We incentivize them to keep supporting the pool by allowing them to keep their BAL rewards (as opposed to having to stake their BPTs in order to earn PCT in Phases I and II) and providing them incentives in the money markets - e.g. “better” collateral ratios for supplied stablecoins, or 1.5 boost in rewards (unpreferable).

Option 4

We initially do nothing and monitor the PCT/WETH pool liquidity after the incentives dry up

Option 5

We put 100% of remaining PCT into a 75/25 smart pool and incentivise the money markets with BPTs from the pool over the period of 9 months.

This way the Treasury will be able to maximize the return on PCT before giving it all out while still benefiting from money markets growing.

1 Like

Ok, first off thanks for summarizing all this @Vaspou. I agree we should put options up for a vote on this phase three stuff asap.

My first thought here is having too many options is usually crippling in any kind of setting where human beings have to make choices. Accordingly, I think we need to limit this vote to three options, not five, and articulate it as clearly as possible. In my view the three are:

a) 100% of PCT allocated to money market rewards in a targeted manner

b) 100% of PCT allocated to a 75/25 pool on Balancer where BPTs are offered as liquidity provider incentives.

c) 2 million PCT allocated to direct money market rewards, complemented by a pool on Balancer with the remaining 800,000ish PCT (assuming associated BAL is used for dev funds)

I personally think we should offer the liquidity rewards mentioned in both option a) and c) over a 9 month schedule. This is shorter than the 1 year option where APYs are unattractive, but longer than the 6 month option where we may run into the problem of running out of PCT too quickly.

I think we also need to run a vote (either now or concurrently with this one) on what coins to add in the next phase because if we do focus on stablecoins, as has been suggested by @pyggie, then we will want to add sUSD, BUSD, and TUSD to compliment the USDC, DAI, and USDT currently available. If we do that and incent those six stables then we would instantly become the most attractive place for stablecoin lend/borrow in the ecosystem even with PCT at current prices.

Maybe the optimal thing is, if people are in agreement here, we just add the three stables along with the top two coins from our forum vote (COMP and MKR are the ones available on Chainlink) 'cause it is a grand strategy thing and doing snapshot votes on every single step of the process doesn’t scale. See here for the informal vote I’m referencing:

My personal opinion is we go with what I have labelled option c. Let’s take 2 million PCT and allocate it to the money market over 9 months, subject to adjustment every three months in the event the token appreciates. This is to target a specific APY in rewards over each time period as opposed to just handing the token out blindly. The incentives should also be limited specifically to lend/borrow on the 6 main stablecoins mentioned (again, to be revisited on three month intervals in the event we want to add other stable like YFI’s stablecredit, RAI, Curve’s stable, etc…all of which can only happen if we incorporate some oracle to compliment Chainlink.)

Three months is an arbitrary time window here, I’m fine if we do one month check ins. The point is it is easier to communicate if we stick with a timeline for making changes to what we’re incentivising and how much. Arbitrary ability to make changes to rewards whenever is too activist in my mind, plus it is both confusing to follow for users and annoying to manage for the core team as prices will fluctuate.

As for the small 75-25 pool on Balancer with the remaining 800,000ish PCT…I think doing this is prudent in that it both creates a source of dev funding in BAL and ensures we have a small reserve to use down the line. It also creates access to the token (which in my mind IS something we need to have, even in a small way like this).

The open question here is how to source the ETH. Fully being honest here, my preference is that @PercentFinance pony up and just offer us that ETH. It is not going go be a big amount whatsoever and you are sitting on a boatload of BAL rewards. To me, by doing this you would solve our biggest structural problem as a community without losing more than a rounding error on your bounty. Maybe we can even “sell” you a portion of that 800,000 PCT to cover the cost of a weighted pool if you think that is a preferable option. I’m saying this because it will be tough to just fundraise the ETH, so this is the best option in my view. I hope @PercentFinance will at least take a minute to consider it.

Overall, I’m bullish on this project still. Probably more than ever. Props to all of you @moderators and others for the awesome discussion and viewpoints. Let me know what you think?

I just wanted to add a couple more fine-grained thoughts about stablecoin incentives.

Firstly the rewards need to be calculated on deposit - borrow, as opposed to deposit+borrow, as discussed previously.

Secondly if we were to add BUSD, we have to be careful for it not to take too many rewards, because it has very little utility in the ERC20 DeFi space. I would say if we add BUSD we would have to split the rewards equally between each stablecoin, for example if the rewards work out at 300k PCT per month for 6 stablecoins, the options are:

a) 50k/month for each
b) 300k/month for all combined

Particularly if we add BUSD then we would have to go for option a), but the more I think of it, option a) seems the best anyway in order to make sure people deposit DAI and sUSD, instead of just USDT/USDC.

For some extra APY calculations, under the above proposed 2M / 9 months and 6 stablecoins, that is 37k PCT per month per stablecoin. So at current rates a deposit of 1M DAI would have 4.44% APY, plus the extra Deposit APY, which is competitive with Compound and AAVE.

As for the BAL pool, I don’t think at 800k PCT it would generate enough income to make a difference. Maybe a better scenario is to just plan for 3 months of MM incentives using 1/3rd of our current pot, and reassess after 2.5 months, rather than commit to 9 months using the entire supply.

The bigger problem however in my opinion is what incentive people have to hold PCT as opposed to just farm and dump it still. I think we need to work it into the system somehow. Since fee sharing is too far away still, and we may well need to use all earnings for development for the foreseeable future, I think we should consider incorporating PCT ownership/staking into the money market system itself.

Some examples would be preferential rates for holding the equivalent PCT (e.g. 100 PCT per each $1k borrow leads to 50% discount), or adding the requirement of staking PCT in order to receive MM liquidity rewards (might turn people away though).

Love the 3 Options from @CliveSpader - let’s go with it guys if no-one objects!

Let’s do it. But i’d rather add 8-10 new tokens instead. @PercentFinance can we merge this stablecoin list with the ones already voted in via forum poll here?

@pyggie can you provide a full list of stablecoins you propose to add and quickly stand up a poll below your thread - so that we run it quickly today?

Do we also add the tokens most desired for short sellers into the incentives, what do you guys think?

Also i believe we need to re-asses what markets to incentivise and whether to change the PCT distribution on a monthly basis - this way we will be able to extend the distribution if PCT appreciates and also this allows us to change specific market allocations quicker.

I also agree with @CliveSpader on having @PercentFinance supply the 25% ETH for the pool, if the option gets voted in. @PercentFinance will also get BAL rewards for it on top, this is a win-win. Urging @moderators to strongly support this.

It is just too complex for a quick shift on the technical side and is not secure. I suggest we pull up a vote on it in a week or so from now, after @PercentFinance and, hopefully :crossed_fingers:, @splix can take a better look at it.

Option b) looks like the most proper approach from the incentives standpoint. Any other thoughts?

@Bluecrypt will narrow down all the calculations for us to see the actual impact of the 3 options, so we will be able to asses it accordingly. Coming in a few, from what i gather.

Yes, this is precisely the next task. Please check this thread and contribute more thoughts, so we have more options to choose from as get there in a couple of days.

In what sense is it not secure? I concede the complex point, however I think this is absolutely crucial, otherwise we will only have fake TVL as in Phase II (people farming only, not providing any value to the system).

I have done some calculations, please refer to the sheets attached.
You have edit permissions, and to view the formulas, should you spot anything wrong, let me know.

1 Like

I want to share some technical considerations and some of my thoughts:

  • I prefer normal balancer pool over smart balancer pool, because using smart pool doesn’t provide many benefits and will add extra complexity and uncertainty to our system.

    • From what I understand, smart pool can provide flexibility in terms of pool ratio and fees, these are good things but I’m not sure if we actually need them.
    • The problem with smart pool is that it is a relatively new product and I believe not many people are familiar with it (e.g. does it have the same IL as normal pool? does it get BAL the same way?) and it requires a controller contract to handle the pool which requires further development and testing.
  • The current rewards distribution formula for the money market is the same as Compound’s:

    • The only thing we can control is the overall distribution rate and which markets we want to include in the distribution (i.e. we can turn on or off distribution for particular markets)
    • The rewards are distributed to all markets based on each market’s supply/borrow status, it is impossible to split rewards equally between each market.
    • The rewards are fixed to be PCT and it can’t be BPT or anything else.
  • Regarding changing the rewards formula to be based on deposit - borrow, I personally like the existing formula more, because I think it is important to incentivize both deposit and borrow, because the amount of borrow affects the APY for supply directly. By the way, the Liquidity shown on the UI is NOT inflated, because the value is calculated based on the exact underlying amount.

  • Regarding the source of ETH for the 25/75 pool, I think the most direct way is to sell PCT for ETH in the open market (e.g. We have 800K, we can sell 200K and get the equivalent ETH, then now we have 75% PCT and 25% ETH).

@Bluecrypt many thanks!

@vfat the change would need to be audited for hidden vulnerabilities/issues and as @PercentFinance pointed out current formula is not inflating the liquidity of the system. As i’ve said, i want to research this topic further, just not at a cusp of Phase III, but with more time and lower cost of making a wrong decision.

@PercentFinance thanks for addressing these! I’ll answer using

quotes: @Spartacus and others, myself included, have been calling for you to take a look at a smart pool for over a week now and we’ve done our bit of research, so i think this is kind of last minute to argue about it. but what it looks like is there is the same reward distribution and IL is subject to weight conditions. the only difference with the smart pool is that it is controlled by a smart contract. so i would urge you to take a close look while we’re having a vote - to make sure it’s easy to implement. because if it is, that is the way to run the pool IMHO.

We CANNOT sell PCT under no circumstances and i believe it is a pretty reckless proposition. We all have duty here to preserve and generate value for token holders, so it goes against this.

Again, is see no problem with you adding ETH liquidity and generating some trading fees and BAL rewards in return. If you can provide a rationale for your position, i’m open to discussing it. I’m sure the rest of the @moderators and wider community would share my sentiment.

Absolutely agree with the above. @PercentFinance please bear in mind that currently a 75/25 pool with 800k PCT would only require about 55 ETH. If you believe a liquidity pool is beneficial, using 55 ETH from the dev fund is the only way for it at this stage.

@PercentFinance the ETH pooling would not be more as 50-55 ETH to deposit, and you benefit along from the BAL rewards, which is a passive income.

Stablecoin poll is up here: Stablecoins are the center of the universe

1 Like

While I think the options the smart pool offers are great I’d also support just setting these as fixed as @PercentFinance suggests - the flexibility they offer may not offset the additional complexity and time needed for setup and testing.

@CliveSpader thank you for condensing the options. As per @PercentFinance remarks I would suggest ammending this option to:

b) 100% of PCT allocated to a 75/25 pool on Balancer where PCT is removed on monthly basis and set as money market rewards in a targeted manner.

In the original b) the BPTs are for LP incentive but I think the original discussion still called for this to be mm incentive so I changed that as well.

Yes, thanks for the update @spartacus! I don’t think the smart pool should be an issue, but i’ll let @PercentFinance have a last say on this.

If we’re agreeing on all of the options (given the precise pool mechanics can be deferred at this stage), then maybe it makes sense to draft a Snapshot proposal. I think @CliveSpader can do the best job in putting the motivation and brief option explanations in such a context that community understands. I would only urge you to use @bluecrypt’s great spreadsheet: https://docs.google.com/spreadsheets/d/1SAGH1nS9fN44XdCUefjKUM4AMCb1MVPMO9Fu39sDhU8/edit#gid=23934060 - for illustrating calculations.

If everyone agrees, i would not waste time and put it up for the 24h vote, so that tomorrow we can finalise the multisig transition and get the results for the Phase III allocations.

Added the 70/30 pool for the 700K pct.
It doesn’t change that much.

1 Like

Ok, great takes on all of the above everyone. Before I share a draft of what we can put up on Snapshot for the vote, I want to summarize some of the lose threads here from my perspective.

  1. @vfat has made some good points as usual surrounding stablecoins. For now as @PercentFinance says, we will need to use Compound’s model of whitelisting certain tokens that accrue rewards (i.e. only the six stablecoin markets, as a single reward bucket, on both lending and borrowing). The lend and borrow vs. lend but not borrow specifics of these reward allocations can be revisited in a month.

  2. If we rock a 9 month distribution of PCT, it is actually attractive! Woot.

  1. To @Vaspou’s points here.

A) I would be good if we can add 8 tokens ASAP as well, but this depends on @PercentFinance. It would make sense to add sUSD, TUSD, BUSD to fill out our stablecoin strategy then as many as possible from the poll on the other thread in this forum. I’m not a developer and so I don’t know how feasible this is/ how long it would take, so I defer here.

B) I am for the idea of listing tokens so users make Percent their main place for shorting. I’ve written a post about this that I can bring out down the line. But to me this is our base case 2.0, where stablecoin use is our base case 1.0. So, let’s focus on building out our ability to offers tokens to short in the coming weeks and get this stablecoin stuff in order first.

  1. I am in absolute agreement with @vfat and @Vaspou that we need to make the token more attractive to hold. Let’s prioritize that discussion after this initial reward stuff is clear. I am partial to having some kind of solution based around staking PCT for reduced fees, at least at first, before we have more of a spirited debate about using protocol funds as paybacks, etc.

  2. Thanks @Spartacus for the correction on the use of PCT not BPTs as rewards, I will note that.

  3. Thanks so much to @Bluecrypt for grinding out all the projections. Way to be, man!

  4. I think just to get this to a vote and get it live and working, we should create a normal Balancer pool with a 1% fee (if that option is voted for). It is just more straight forward to execute and explain.

  5. I want to explain my position on getting @PercentFinance to voluntarily offer us the ~50 ETH in the scenario we use a Balancer pool. Look @PercentFinance, I understand completely that any and all BAL from phase one belongs to you. You had a great idea and pushed out a lot of code. You’ve been fun to work with, and have kept your word on delivering community ownership etc. So respect and props to you for that.

The way I see it is from phase two onwards at least some subset of the BAL rewards is directly related to the activity of the community members like us who have put in a lot of time and effort (without pay) to help make the project real. We have offered vision, answered people’s questions, and generally showed a lot of credibility in the Discord. That directly translates to people farming and holding the token because they see potential here, meaning you have directly gained economic benefit in the form of BAL from us lending our time and effort to the project.

So, none of us are asking for compensation. You still get to keep nearly all of the rewards (even though this privileges development work 100% over community work, strategy, vision, community relations and all the other stuff the @moderators crew does ). All we are asking for is that you put up the ETH needed to offset that 800,000ish PCT in our community’s small Balancer pool. We can’t sell the PCT because that gets rid of the total community ownership proposition. And besides, you have already taken more than $500,000.00 worth (probably more to be honest) of USD-equivalent in terms of BAL off the table and de-risked yourself from the project. I see that you have also removed that BAL from the contract as well.

So look, real talk for a second. Real entrepreneurs bet on themselves. Please consider doing this to a) show you’re aligned with the community and b) offer us a little bit of recognition for the work all of us have done here by giving the multi-sig controlled pool the ETH it needs. It is such a light lift for you. And you still get to bank a fuck-ton of money while retaining control and involvement in this project. I mean, you are one of the multi-sig signers in control of those funds anyway, right?

To conclude, we are here to back you. Most entrepreneurs would dream to have access to the dozen or so active people we have here. So come on! We want you in here for the long-haul and this solves our biggest current challenge :).

*** Back to everyone now, I will draft a snapshot proposal soon and post it here separately.

Just to add, reinvesting the BAL rewards into the BAL-ETH pools results in over 100% APY or $500k/year, more than enough to fund all possible development work.

Edit: This led me to the obvious conclusion that what this project is missing is vested founder rewards. I think we are at a bit of a crossroads here, and everyone is expecting a serious token of devotion to the project from the dev. My suggestion is a bit farfetched but it would instantly align incentives:

@PercentFinance can purchase 1M PCT at OTC ($80k at current valuation, only a fraction of the earnings), then deposit this 1M PCT into a 12 month vesting contract.

1 Like

As I understand it, the ability for market to receive rewards or not, is controlled in the comptroller storage contract.

So we should able to privilege some markets over other, like we don’t incentivise ETH as an example, or LINK.

In addition, the compspeed and comprate are configurable, so we should not go for a blanket approach, if controlled distribution is an option at hand.
@PercentFinance I’ll let you check what I said is doable.
"

COMP Distributed Per Block (All Markets)

The Comptroller Storage contract’s compRate is an unsigned integer that indicates the rate at which the protocol distributes COMP to markets’ suppliers or borrowers, every Ethereum block. The value is the amount of COMP (in wei), per block, allocated for the markets. Note that not every market has COMP distributed to its participants (see Market Metadata).
"

COMP Distributed Per Block (Single Market)

The Comptroller Storage contract has a mapping called compSpeeds. It maps cToken addresses to an integer of each market’s COMP distribution per Ethereum block. The integer indicates the rate at which the protocol distributes COMP to markets’ suppliers or borrowers. The value is the amount of COMP (in wei), per block, allocated for the market. Note that not every market has COMP distributed to its participants (see Market Metadata).

The speed indicates how much COMP goes to the suppliers or the borrowers, so doubling this number shows how much COMP goes to market suppliers and borrowers combined. The code examples implement reading the amount of COMP distributed, per Ethereum block, to a single market.

@Bluecrypt From my understanding, compRate is configurable but compSpeed is not. That’s why I said the only thing we can control is the overall distribution rate (i.e. compRate) and which markets we want to include in the distribution (i.e. we can turn on or off distribution for particular markets) (i.e. addCompMarkets).
Please correct me if I am wrong and kindly tell me which function can be used to config compSpeed.

According the documentation, they are saying compspeed is set by market
I wonder whether this is done here:

@PercentFinance

@Bluecrypt Yes, we can refresh it, but I’m afraid we can’t config it to any arbitrary value. As I said, we can config the overall rate and turn on or off particular markets.