Built-in RPL pool

This is a submission for “Options forum thread”.

Summary

Current tokenomics require node operators to supply RPL to run minipools, and it is known to be a blocker for risk-averse players, thus hindering RP growth. Here I explore one possible way to enrich NO UX by allowing an option to create minipools without the need to invest into RPL token. It is based on a built-in RPL pool that lends RPL to such minipools, captures a portion of inflation and a part of their commission.

Details

Seamless RPL borrowing

Right now operators who don’t want to invest into RPL have an option to borrow RPL from AAVE. A drawback of this option is that it requires more capital as collateral for AAVE, and, an additional to NO duties, management of a loan. To minimize a cost and a friction RP can implement its own RPL pool and a seamless RPL borrowing from it, so that smartnode software manages a loan automatically requiring minimal NO attention.

This can be based on RPIP-31: RPL Withdrawal Address and RPIP-32: Stake ETH on behalf of node.

Implementation

  1. RP builds its own RPL pool, similar to AAVE’s.
    • This pool allows anyone to lock RPL and have a better APR than on AAVE (see Numbers for details).
    • This pool gives its participants voting rights, proportional to their share and RPL utilization.
  2. smartnode shall allow a user to fund a minipool using automatically borrowed RPL from the pool.
    • This loan does not need a collateral because the system borrows from itself (NO has no access to a borrowed capital).
    • In a simplest implementation borrowing minipools cannot be mixed with standard minipools on a single node. Mixing makes collateral calculations harder (per minipool vs per node).
  3. Minipools funded this way get a share of RPL inflation as normal, but claiming RPL rewards is different:
    • Instead of NO RPL rewards are claimed by the pool.
    • A portion or all RPL rewards goes to the pool.
    • A portion (≥ 0) of RPL rewards can be burned or used in pDAO interests (think of it as a pool fee).
      • It is possible to collect a pool fee for funding a protocol owned liquidity, which will allow to reduce a pDAO share of RPL inflation in the future.
  4. It is possible to set a slightly lower commission for minipools using borrowed RPL in order to increase rETH APR or direct a deducted commission to other places.
  5. NOs have voting rights only from non-borrowing minipools, because running minipools without owning RPL is not properly aligned with RPL/RP.

Diagram

Loan management

  1. A loan from the pool has no interest to pay.
  2. Before a snapshot, if RPL collateral falls below 10% due to price move, either a smartnode or one of pool’s smart contracts tops up RPL on borrowing nodes to bring them back to 10%.
    • If there is not enough RPL in the pool to top up all nodes, it’s not a problem. It means that the pool with utilization over 100% earns less interest, than a maximum possible, hence incentivizing people to supply RPL to bring it back to full capacity.
  3. Before a snapshot, if RPL collateral exceeds 150%, smartnode withdraws excess RPL back to the pool.
    • This is unlikely to lead to significant loss of gas for transactions because going from 10% to 150% collateral is a rare event.

Pool fee and commission cut directions

Options presented here are not mutually exclusive and can be mixed, which allows for a great flexibility for achieving desired outcomes.

Collected fees may be directed to:
1.Treasury / establishing a protocol owned liquidity. This would allow to reduce a pDAO portion of inflation and thus benefits standard NOs bonding their RPL and RPL pool suppliers.
2. rETH contract. This benefits rETH holders primarily.
3. Buying back from a market and sending to null address, i.e., effectively get burned. This benefits all RPL holders.
4. Standard node owners. This makes standard RPL-bonding nodes more appealing.

Numbers

I assume here LEB8 as the only available option for simplicity.

In general a RPL valuation model stays the same as it is now, because all minipools still bond RPL.

Pool possible APR

Inputs:
Current RPL APR = 7.27%.
Current RPL price = 0.014.
Current AAVE utilization = 40% (or 190K of 480K RPL).

Imagine the same demand:
We get 1000 LEB8 funded (190,000 * 0.014 / (24 * 0.10) ~= 1000).
Pool APR is 0.0727 * 0.40 = 2.9% which is twice as high as AAVE average RPL supply APR 1.46%.

Maturity

As we go closer to maturity, RPL price becomes less volatile. Given that RPL APR for standard minipools always outperforms pool RPL APR (at least due to pool fee), it can be expected that a majority of RPL will belong to NOs.

No number here :person_shrugging:

Benefits

  • Preserves current tokenomics.
  • Protocol owned RPL pool allows to borrow RPL without a collateral, thus maximizing capital efficiency for NO seeking to run minipools without investment into RPL.
  • Adds an option to run minipools for those who don’t want to invest into RPL token, thus expanding NO base.
  • Minimizes friction compared to currently existing option of manual RPL loan from a third party.
  • Involves more RP stakeholders into governance.
  • Gives RPL more utility by adding another option for RPL yield and governance participation.

Drawbacks

  • More smart contracts…

UPD1: Added Maturity section to Numbers.
UPD2: Added revenue stream from commission cut to standard nodes (both diagram and description).

Hmmm… I think this one is broken at maturity. Imagine all RPL is staked in this pool, RPL inflation is 5%, with 70% of that (3.5% going back to the pool). Essentially the pool gets diluted and has no other source of revenue.

Iirc, your earlier variant directed some of the ETH commission at the RPL pool stakers, which I think would do the trick.

Thanks for reading this and an earlier version.

It’s not broken, it just renders the pool obsolete at your vision of maturity. I envision maturity with enough POL to cut pDAO portion of inflation to 0. And I think I know how to ensure it, but that’s for another proposal. I guess I should have kept my maturity case in Numbers in the final version, but it looked so useless :S

Nevertheless, this scheme is quite flexible so if we feel that the pool needs that commission cut, it’s quite doable.

1 Like

Got it, so this assumes that the staked RPL percentage is always less than the percentage of inflation going to NOs. That would be positive EV if it’s the case.

Do we get a vicious cycle in case of a significant price drop? Let’s assume: all RPL is staked using the pool, things have been stable a long while, the pool is fully utilized, and we have halfof borrowers each at 10%/11%. Price goes down by 5%, and those are now at 9.5%/10.45% respectively. My initial instinct was that revenue falls by half (and is less attractive from PE-like lenses). Then I realized that all RPL is staked here, so we still get all the RPL. Here I have 3 concerns: (1) the value of the revenue dropped 5% without a mechanism to balance it, (2) it looks like we went under 10% average without any reason for folks to buy more, so not sure the price model stays valid, and (3) there’s no obvious way to spin up minipools.

One general question - is it assumed that RPL is not slashable for NO actions (since they don’t provide it, after all)?

I think it’s close to working, and I think an ETH commission knob would probably suffice. Re earlier version - there’s some chance I was conflating this idea with Occam’s, which also uses pooled RPL staking. I may read too much RP stuff and have it blue together :stuck_out_tongue_closed_eyes:

Got it, so this assumes that the staked RPL percentage is always less than the percentage of inflation going to NOs. That would be positive EV if it’s the case.

Not necessary. But the more RPL is staked, the less NOs are afraid of standard minipools, and so the pool is less attractive and useful for the protocol. But while we are where we are, the pool can be of a great service.

Here I have 3 concerns: (1) the value of the revenue dropped 5% without a mechanism to balance it, (2) it looks like we went under 10% average without any reason for folks to buy more, so not sure the price model stays valid, and (3) there’s no obvious way to spin up minipools.

Yes, there is no obvious way to spin up minipools with the pool. So, you see, even NOs using the pool have incentive to add RPL to it :slight_smile:
Also, you still can spin up standard minipools.

I think this extreme scenario is highly unlikely due to existence of standard minipools that give better RPL APR than the pool. So it might be totally unnecessary, but anyway here are two quick ideas how it could be solved:

  • We auction RPL slots in minipools to RPL vault owners, so poolers are incentivized to fill gaps in supply. You’re the only to supply RPL for uncollateralized minipools? Take your best pool fee offer.
  • Those vault owners who supply RPL, while there are uncollateralized minipools in the system, receive a temporary fee/commission cut.

One general question - is it assumed that RPL is not slashable for NO actions (since they don’t provide it, after all)?

Uhm, yes. Didn’t think of it. I count on forced exits and maybe commission cuts.

I may read too much RP stuff and have it blue together :stuck_out_tongue_closed_eyes:

Let’s hope it will fuse into something powerful :wink:

In the light of Direct Capture proposal I decided to adjust mine to optimally fit that design.

Direct Capture version of Build-in RPL Pool

With Direct Capture it is still possible to give more utility to RPL by allowing RPL holders to earn ETH by providing their RPL for bonding to nodes. Some NOs may still want to not bet on the token future and maintain ETH only position, yet seeking to maximize their yield. Since RPL bond allows nodes to earn additional commission in a form of ETH, this commission can be split between parties: RPL providers and ETH stakers.

Diagram

Implementation

  1. New Pool smart contract is introduced; it acts as a node, in the sense that it collects RPL rewards as a normal node.
  2. Borrowing nodes do not bond RPL directly, but nominally, with the Pool accounting for all borrowing nodes and RPL available in it.
  3. RPL rewards of the Pool go to the protocol.
  4. Penalties against borrowing nodes are taken from ETH rewards (NO portion) first, then from ETH bond.
  5. Pooled RPL can provide voting power (on a basis of its utilization), but this can be implemented later.
  6. A share of commission going to RPL pool is a subject to pDAO choice at first. Later, it can be substituted with some sort of automatic system.

An alternative minimal (and inefficient) implementation is possible.

  1. Borrowing nodes has an RPL withdrawal address set to Pool.
  2. Node smart contract needs an ability to withdraw (at least) RPL on behalf of Pool smart contract (to rebalance stake across nodes).

This implementation is inefficient because Pool needs to stake and withdraw RPL to/from nodes every month to rebalance stakes due to fluctuations of a pool supply and RPL price. Which causes an excess waste of gas. Rebalancing can be ignored completely, but this will make the Pool earnings suboptimal.

Passing RPL inflation to protocol vs ignoring it

It’s possible to pass Pool rewards (or route RPL rewards from borrowing nodes in a minimal implementation) to the protocol (rule A).
It’s also possible to ignore Pool / borrowing nodes at all, so all inflation goes only to non-borrowing nodes and DAOs (rule B).

A. Pool / borrowing nodes earn RPL rewards, that are passed to the protocol:

  • Gives protocol additional revenue, which can be burned as well to negate inflation; The bigger the Pool supply, the bigger portion of NO RPL inflation can go to the protocol.
  • It is possible that nodes have RPL collateral < 10%, and while still earning significant amount of ETH rewards, do not earn RPL rewards for the protocol. This turns A into B.

B. Don’t count Pool / borrowing nodes in RPL rewards:

  • Borrowing nodes increase RPL yield of non-borrowing nodes.