[MakerDAO] How best for Maker to collect liquidity rewards?

Over at Maker, we recently realized we haven’t been collecting our CFG rewards. Given that from a technical perspective it’s a bit different from a regular investor, what is the easiest method for us to receive CFG or wCFG? Just ask for a manual distribution every week or month or quarter? Or find a way to do it automatically?

Also, how would we calculate/find out what rewards are owed from past involvement? Or was there a cutoff date that past rewards needed to be claimed by? It’s a significant amount, so it would be helpful to know what that would be, if there’s an easy way to check.

2 Likes

@Ash @lucasvo

Calling in the cavalry, since this is a very valid question that deserves some attention. :slight_smile:

2 Likes

Unfortunately it’s not very straightforward but could be done somehow if the Maker Protocol Engineering Core Unit implemented a way for these rewards to be claimed. I’ll share a bit more in detail what would have to happen for this to be feasible. The rewards are implemented completely on chain and a manual distribution of CFG or wCFG is not possible.

The rewards roughly work as follows: any external Ethereum Account (contract or private key) that holds TIN/DROP tokens is eligible to accrue rewards on Centrifuge Chain. These rewards are paid out on Centrifuge chain and can not be paid out as an ERC20 token as they are minted on Cent Chain for this purpose. The owner of the Ethereum account must submit a special transaction on Ethereum that instructs what Centrifuge address the CFG should be paid out to. From that point on rewards can be claimed by that Centrifuge address on a daily basis by triggering a Centrifuge Chain transaction.

Here’s where the complexity comes when trying to allow Maker to claim these rewards:

  1. The current owner of the DROP ERC20 tokens is the Manager contract which does not have a way to announce which Centrifuge Chain address it wants to get tokens paid out to, so it can’t do the first step necessary to claim any rewards.

  2. The DROP tokens are currently held in a Tinlake internal contract and these do not accrue rewards (e.g. the Operator, Tranche & for Maker specifically the Manager all do not earn rewards). Maker Protocol Engineering would need to work together with us to modify & redeploy the collateral adapters (MIP21/MIP22) to take proper control of the DROP tokens.

  3. If we addressed the first two issues, then there’s the challenge of who would hold the rewards on Centrifuge Chain: There is no way for any wallet on Centrifuge Chain to be controlled purely by Maker governance. Someone else (a single owner or a group of people in a multisig) would have to control the wallet that CFG is paid into. So Maker Governance needs to agree on who should control that wallet and decide that and then trigger the transaction on Ethereum to declare where it would want it to get paid it out to. If that wallet is owned by several people these people would of course have to clarify their personal tax & legal liabilities of receiving these CFG tokens and then holding them for Maker (or bridging them to wCFG to send it into the Maker governance contract).

Point 1 & 2 would likely mean reworking a lot of the MIP21/MIP22 process and it probably makes sense after MKR holders have come to a conclusion that they want to prioritize this work and how they want to deal with the Centrifuge Chain based rewards.

Because the current Manager contract is considered an internal contract and does not have a method to to claim there are no rewards that can be claimed in the current setup. I hope this helps with your questions!

1 Like

Thank you for the detailed response I can take back to Protocol Engineering! I’ll see what we can get moving going forward to get the liquidity rewards to accrue automatically.

What should we do about past rewards and those that accrue before we can get a technical solution in place? Is there an easy way for us to see what Maker’s CFG stack should be at this point? If not, I’ll have someone do it the oldest fashioned way with a spreadsheet.

Given that we can’t get a manual distribution for those, what is your suggestion for Maker to receive them (once we have an operational way to bridge and hold them as wCFG, I suspect)? Is there a way to get them escrowed or a running tally somewhere?

We really appreciate the effort to ensure Maker is able to collect all of these rewards!

Maker was never awarded these rewards because the tokens were never held in an account that is eligible for rewards and thus no CFG have been minted for these tokens. There is no way to just circumvent this or use some escrow account for this. Unfortunately as there simply isn’t a balance accrued to Maker here it’s also not possible what they would have been if the DROP tokens were held in a contract by Maker.

This is unintentional, though? Surely the idea was never to exclude Maker? We’re happy to just figure out the amount and keep track of it for now.

We know what rewards rates were on each day and also what the DAI balance of Maker credit was on each day. So Maker can tally the total of back-rewards, not to worry on that measure. Just didn’t know if there was a way to do it before having someone build out a spreadsheet manually.

Good news! I had someone manually calculate what Maker would get if its provided DAI liquidity from April 16 to present had been held in a typical contract. We weren’t sure exactly when new rates went into effect after approval so just used the lowest number when in doubt.

Based on daily DAI balances provided by Maker, we estimate Maker has earned just over 521,000 CFG in liquidity rewards. It’s a big number, but Maker is the largest liquidity provider on Tinlake.

I also spoke to our Protocol Engineering team, and they assured me we can find a solution, though provision of wCFG to our pause proxy is likely to be the easiest method for everyone.

For the time being, I am certain we can task someone at Maker with monitoring and tracking the total accumulated rewards for the substantial current and future liquidity provided to Tinlake. We can work on how exactly to generate and migrate those rewards at a later date.

Let me know if you come out to a different number than our estimate above. I’ll make sure the spreadsheet jockeys use the formula and methods of measurement that you use for all DROP holders. We took daily values for both rewards and DAI balance of vaults connected to Tinlake (just one at present, but soon to be more).

We’re very excited to continue to grow our participation on Tinlake.