by 0xd11a019a70986bd607cbc1c1f9ae221c78581f49 (Yemel)
Linked Draft Proposal
DAO Grants Program - New Vesting Contract
Redesign the smart contract used to allocate funds to projects supported via the Grants Program.
The DAO is currently using a linear vesting contract to pay grantees. This proposal aims to replace the current second-by-second schedule with a regular 30-day payment scheme.
The new vesting contract should also allow the DAO to preemptively pause the vesting contract, to later decide to resume it or revoke it.
The DAO’s grant program is one of the best vehicles to help grow the Decentraland ecosystem. Since the inception of Decentraland, linear vesting contracts have been used to distribute funds.
A typical linear vesting schedule has a month cliff, in which no funds are accessible, and after day 30 the payment for the elapsed month is made available. The rest of the funds are released second by second until the end of the contract.
The linear vesting model is a simple and elegant method to distribute funds over time, however, it might be too optimistic and generate some caveats around the revocation process.
Nowadays, when a project doesn’t report any progress for a while or the reported progress is not related to the project roadmap, the DAO committee proceeds to a preemptive revocation. It is the best course of action to protect the DAO’s treasury.
The concept of preemptive revocation strikes really badly on grantees and the general morale in the community. Implementing a new vesting schedule and a mechanism to pause/resume the vesting can ease a lot the process of overviewing grant-funded projects.
The new vesting schedule should follow a step function, where compensation is made available in chunks over periods of time. This means the beneficiary is paid in arrears; they are paid for a working period AFTER the work is done.
The Grant Program should standardize payment contracts with 30 days periods and equal payment amounts for each period. Different amounts per month could be defined for non-standard situations after the review of the DAO Committee.
The vesting contract should be always initialized on the 1st day or the 15th day of the month, this will give some time of preparation to the grantee between the votation finishes and the work starts. This will also order projects over time and synchronize updates made by grantees through the Governance dApp at the end of half of the month.
The new vesting contract should include the capacity to pause and resume the vesting schedule. This can be used to warn the grantee in case of any concerns about the project status/health For example, in case a grantee didn’t report progress after 30 days, the contract should be paused. If the project reports progress short after, the vesting can be resumed without delays in the schedule. Otherwise, the vesting contract should be revoked and later recreated if necessary.
The operations of pause, resume and revoke can only be performed by the DAO through the DAO Committee.
The proposed changes to the vesting contract will have the following impact:
- Allow the grantee to pick the starting date of the project (1st or 15th).
- Grantees will receive payments every 30 days from the starting date.
- Improve the operations of monitoring grant projects.
The dApps Team from Decentraland Foundation had already implemented the following changes:
- Develop a new vesting contract.
- Conduct external security auditing of the contract.
- Update the vesting deployer tool.
- Update the vesting viewer page.
These tools have been already implemented by Decentraland Foundation. They made sure to include all the DAO needs in the new implementation. The code changes are ready and 4 audits have been completed.
The DAO Committee can start using the new implementation of vesting contracts immediately.
The Governance Squad should update the grant submission form to allow the selection of the starting date. Such change can be developed in one or two weeks.
A new vesting schedule of constant periods of 30 days it’s an easy model to understand and better protects the DAO’s treasury.
It removes the anxiety of overviewing projects that are not reporting progress but still continue to vest funds every day. It pays for the work done and not while it’s being performed.
The capacity to pause and resume it later adds an extra layer of security, setting expectations to grantees about making a public update of their progress every month, otherwise, the vesting contract will be preemptively paused. In case they show up with progress, the vesting is resumed quite easily. Otherwise, the contract can be revoked and recreated with a new schedule if necessary.
Vote on this proposal on the Decentraland DAO