CPS Distribution Amount & Vote Prioritization Improvements

With a large increase in demand for CPS funding recently, the team would like to provide two solutions to problems that have arisen within the CPS protocol.

Problem #1 - Fixed Distribution Amount

Currently the “max bnUSD cap” of 200,000 bnUSD serves as the maximum amount that can be proposed for each Application Period. This is flawed because it creates the assumption that there will always be 200,000 bnUSD available for funding. There is no sense of scarcity for funding, causing no incentive to deny a proposal.

Solution #1 - Dynamic Distribution Amount

At the end of each Voting Period a “distribution amount” will be determined based on how much bnUSD is in the CPS Treasury. This calculation will always simply be:

  • Distribution amount = bnUSD amount in CPS Treasury

This is important because if lower-quality proposals are submitted during one period, it is in the network’s best interest that P-Reps deny the least valuable proposals. This will allow for additional funding next period, where there may be higher quality proposals.

Problem #2 - First Come, First Served Funding

Currently, we are experiencing projects getting an opportunity for funding on a “first come, first served” basis. Those that are able to submit their projects first during the Application Period are the only ones with a chance to receive funding during the cycle.

Solution #2 - Prioritization Funding

I believe this can be improved by introducing a “prioritization vote” by P-Reps. P-Reps will conduct their voting for each proposal as normal, but they will also need to submit one “prioritization vote” each period. P-Reps will rank the proposals from best->worst based on the value the proposal can provide to the ICON ecosystem.

This will allow for any number of proposals to be submitted during the Application Period, giving all teams a fair shot to receive funding. This also ensures only the highest value projects will receive funding during the cycle.

Prioritization Mechanism Design

In this case - there was 185,000 bnUSD in the CPS Treasury at the end of the Voting Period (making the distribution amount 185,000 bnUSD).

Maintenance Mode

The CPS will be entering “maintenance mode” to start this upcoming Application Period, meaning no proposals can be submitted during this time. This will allow the team adequate time to test and implement the above changes.

I will keep all prospective proposals notified of the maintenance timeline, but there should be plenty of time to submit your proposals before the Application Period is over. Best yet, you will no longer need to race to submit your proposal. As long as you submit before the Voting Period begins, you will have an opportunity to receive funding.

In my opinion, these two changes will ensure only the highest value proposals receive funding each cycle - increasing the benefit that CPS funding provides to the ICON ecosystem.

As always, feedback and suggestions are welcome.


Makes perfect sense! Big ideas w/ big funding requirements need a good lobby to get the #1 priority vote.

1 Like

Awesome improvements.

1 Like

I like this thing, however I would propose 2 edits:

  1. If denied due to rejects, fees apply. If passed but funding not available, then no fees apply (to either sponsor or applicant)
  2. There would be a simple way to keep an application in the running, or carry over your submission to the next month

Thanks for the suggestions Galen. I would say #1 is probably pretty easy to implement, and I’ll talk with the team about #2

Excellent improvements, all for it.

Does this one look better to you?

Projects that were accepted but there wasn’t enough funding are automatically submitted to the next application period for free.


Yeah, that’s pretty cool - I like it.


Hi, I have a question about the automatic resubmission to next application period. Can a proposal which was approved but did not receive funding choose to opt out of resubmission? (In this case Proposal #2)

In the current build no. I think we would have to communicate with Validators to reject the proposal next period.

Any specific reason why a project would want funding one period but not the next?

This is possibly an unlikely scenario: Let’s say due to extreme competition in consecutive application periods a project is low prioritized and continuously approved and not funded. Possibly, the applicant will want to make certain adjustments to be more competitive but you can’t adjust an application so they want to reapply as a new proposal. Sponsor bond as well will be locked up in the initial application.


These are great points, I could definitely see that situation occurring!

I can look into a solution a bit more… specifically what would make the most sense from a backend implementation perspective.

My first idea would be rather than resubmitting the proposal automatically, the project would receive a voucher to submit their proposal for free next application period. This way the user would have time to adjust some things with their proposal but still resubmit for free.