This document serves as the bible on how to go about making payouts once the round has ended. At a high level the flow , once the matching distribution (CLR results) have been validated by DAO + internally, it falls onto engineering to ensure the contract is loaded with the funds and grant owners would be able to claim these.

NOTE: The reason this is called the non custodial payout is cause we do not send the funds to the grant owners. Instead we uploading a mapping of the address to matching amount onto a newly deployed contract and allow users to claim them

STEP 0 : Ensure Distribution is finalized

Drop an update on discord with grants ops and ensure all the contributions which need to be ignored and the matching distribution on the database is exactly what we would want to payout. This is nothing more than asking internally if all analysis is completed and we are good to proceed for payouts

STEP 1 : Create GrantPayout Record

STEP 2 : Ensure GrantCLRCalculations have latest flag

We need to ensure the distribution is generated right and stored in the DB before we proceed.

You should skip this step if the GrantCLRCalculations have already have the latest flag.

If not → there are 2 ways to go about this :

Fallback A - PREFERRED (use results from last time CLR was run)

In case if the final distribution was generated right but someone ended up resetting the curve / if you are confident that the distribution from last time the algorithm was run , you can skip recalculating the entire curve by doing the following steps.

  1. reset all CLR calculations by heading over to Grant CLR and by clicking Reset all CLR calculations for all rounds