Allocation logic determines how and when allocators can express opinions about distributing the pool's funds to recipients. Allocators are wallet addresses that are able to utilize the allocate function. Each strategy will need to determine what makes a wallet eligible to be an allocator. Allocation can be as complex or simple as needed for a given strategy.

Some common considerations include:

  • Is there a certain time period allocation can occur during?
  • Can an allocator allocate multiple times?
  • Does allocation require funds to be sent, and if so where are they stored?


Strategy ContractAllocate DescriptionEligibilityAllocation WindowMultiple AllocationsFunds Transferred?
Donation Voting (opens in a new tab)Allocators donate directly to their chosen recipientAll addresses eligiblePool manager sets windowMultiple allocations allowedYes, must be from token allowlist. Funds stored on strategy contract.
Direct Grants Simple (opens in a new tab)Pool managers allocate grant money to accepted recipientsOnly pool managers are eligibleNo set allocation windowMultiple allocations allowedFunds are not transferred on allocate
RFP Committee (opens in a new tab)Committee members use allocate to vote on a recipient, one recipient wins by majorityOnly committee members are eligibleNo set allocation windowOnly one allocation allowed per member, but they can change their voteFunds are not transferred on allocate