Cosmic Climb - Leaderboard for GM NFT Holders šŸš€

hey guys, Davide here from Vechain Foundation,
sorry for the late reply on this,
we discussed this proposal a lot internally, and we have technical concerns about how to implement it:

What cannot be done

  • You cannot create a rank on-chain, grouping only the best 500 wallets: it’s resource heavy, cannot be enforced during reward distribution since it could easily increase the gas usage by a lot, and probably the transaction will revert because out of gas.

  • You cannot ask the blockchain to return ā€œonly the best 500 walletsā€, because contracts do not have ranking capabilities.

Sorry but it can’t be implemented like it is, and VeChain Foundation cannot act as a middleman for such a feature.

We suggest paths for a new proposal:

What we can do

  • We already use the VeBetterPassport every time a reward is distributed, so we can store: the number of actions a user did in a round, and the number of different apps a user used in a round

  • We already know how many VOT3 tokens and what GM NFT a user held at the start of the round

Alternative proposal

  1. Every action the user performs (triggered by the app via distributeRewards) registers in the contract, through 2 mappings, the user’s score for that round (derived from the formula) and the total score generated in that round:
    gmUserScore[userAddress][roundId] += actionScore
    totalScore[roundId] += actionScore

  2. Non-GM holders get zero score

  3. When the round ends, a technique already used in VoterRewards is adopted, using a simple formula to calculate the user’s reward share:
    userRewardsShare = gmUserScore[userAddress][roundId] / totalScore[roundId] * roundRewards

  4. That’s it
    This means that there is no ranking, and all users having a gm nft and doing actions can get rewards.

  5. If a user is signaled, we remove the points both from the user and from the total accumulated score. Another approach can be: don’t subtract from total. Just block claim if signaled. The ā€œlostā€ rewards stay in the pool for next round or go to treasury.

Trade off

New model: everyone with GM + actions gets proportional rewards.

Original proposal: only top 500 get rewards, with steep power-law favoring top ranks.

These are fundamentally different incentives. In the new model, a whale with 1M VOT3 doing 3 actions dominates. In the original, activity matters more because ranking is competitive.

The new version is simpler and more inclusive, but may not achieve the ā€œdrive upgradesā€ goal as effectively.

A solution to this could be to introduce tired caps per GM levels:

uint256 cap = tierCap[gmLevel]; // Moon: 10k, Mercury: 15k, ... Galaxy: 100k
baseScore = min(vot3Points + actionPoints, cap);
finalScore = baseScore * tierMultiplier;

The effect would be:

  • Higher tiers get both higher caps AND higher multipliers

  • Double incentive to upgrade

  • Still prevents infinite whale dominance

  • Tunable per tier

Thanks for the detailed response, Davide.

The alternative proportional model with tiered caps sounds like a solid, feasible solution which I don’t mind shifting away from the top-500 ranking if it means better on-chain efficiency. However a have a few questions:

  1. There’s already a leaderboard on the VeBetterDAO platform that tracks actions across all wallets. Couldn’t we build a new one (perhaps off-chain or integrated differently) that uses the on-chain scores to assign tiered prizes at different positions?

  2. Also, could you provide an example of how this new model would play out for different GM holders? For instance, compare rewards for a Moon-tier holder with moderate VOT3 and actions vs. a Saturn-tier whale with high holdings but minimal activity. (you could use the example tables - which have wallets with different actions/vot3 - that I have in the proposal so we are able to compare).

  3. Finally, to make it harder for bots, it might be worth keeping a minimum requirement of at least 3 actions across different apps per round for eligibility, not sure if this would be already the case.

1 Like

Hey @MonkeyDCrypto , good questions:

  • Leaderboard / ranked prizes: the current VeBetterDAO leaderboards are aggregated by the indexer (off-chain). We can’t use those results inside contracts for security + maintenance reasons (you’d be trusting an external system/oracle, plus operational overhead). We can still show an off-chain UI leaderboard for visibility, but assigning prizes by rank would require an oracle/commitment scheme (eg merkle root + verification/dispute flow), which is a very different trust model than ā€œpure on-chainā€.

  • Eligibility / anti-bot: agreed. We’ll keep a minimum requirement of at least 3 actions across different apps per round (enforceable on-chain via the same counters we already track for rewards distribution: total actions + distinct apps used).

  • Example (how caps change outcomes): with the proposed ā€œcap per GM tier + multiplierā€ model:

  • Moon (moderate VOT3 + decent activity): suppose raw points = VOT3 Points 10,000 + Action Points 2,000= 12,000. If Moon cap = 10,000 base = 10,000. With Moon multiplier 1.0x final Score = 10,000

  • Saturn (whale VOT3 + minimal activity): suppose raw points = VOT3Points 1,000,000 + ActionPoints 300 = 1,000,300. If Saturn cap = 50,000, base = 50,000. With Saturn multiplier 2.0x, finalScore = 100,000.

  • Rewards are then simply proportional: userShare = finalScore / totalScore * roundRewards. The key effect is that holdings still matter, but infinite whale dominance is bounded by the tier cap, and the caps/multipliers are tunable to hit the ā€œupgrade incentiveā€ target.

1 Like

The goal of the Cosmic Climb is to reward users for taking actions, while balancing the influence of VOT3 holdings. If VOT3 is weighted at 1 (full value) and we cap the total raw score (VOT3 + actions) before applying the multiplier, it may not sufficiently incentivize upgrades, as whales could still dominate with minimal activity. Instead, as I proposed, we could weight VOT3 at 0.1, cap only the resulting VOT3 points based on the GM tier and add uncapped Action points.

Activity should be the primary driver, while making upgrades appealing through higher caps and multipliers, encouraging progression without overly punishing smaller holders. Using your example (adjusted for clarity and assuming tier caps from the sequence: Moon 10k, Mercury 15k, etc.):

  • Moon (moderate VOT3 + decent activity): VOT3 = 10,000 → 1,000 points (10,000 Ɨ 0.1, below 10k cap) + Action points 2,000 = 3,000 base. With Moon multiplier 1.0x, final score = 3,000.
  • Saturn (whale VOT3 + minimal activity): VOT3 = 1,000,000 → 100,000 points (1,000,000 Ɨ 0.1, capped at 50k) + Action points 300 = 50,300 base. With Saturn multiplier 2.0x, final score = 100,600.
  • Moon (high VOT3 + decent activity): VOT3 = 200,000 → 20,000 points (200,000 Ɨ 0.1, capped at 10k) + Action points 2,000 = 12,000 base. With Moon multiplier 1.0x, final score = 12,000. (Worth upgrading: The higher multiplier and VOT3 cap make progression rewarding, if upgraded to Mercury, VOT3 points capped at 15k + 2,000 actions = 17,000 base (instead of 15k) Ɨ 1.1x multiplier = 17,700 - an improvement over 15,500 with your solution)

I’m not sure if further adjustments to the multipliers or caps would still be needed (as still look a bit unbalanced), but this approach is definitely more balanced than the solution you presented. Capping the VOT3 score specifically would align better with the original proposal, as it prevents holdings from overwhelming activity while still rewarding upgrades through tiered benefits.

1 Like

This would be the table with your solution @davidecarpini:

Position Wallet address GM NFT Multilpier Actions Vot3 Total Score Cap Points Final Points
1 0xff0df63feeBbBDb0b0d8E5e101F70d8cC0a14662 Saturn 2 3 821230 50000 50000 100000
2 0x2bB20EA457c9F2DcEC67F74e0031fECaEA5db7c9 Saturn 2 66 98000 50000 50000 100000
3 0x27fd8556A6f5541a20Ed29367101656c993D132B Jupiter 1,8 7 200000 35000 35000 63000
4 0xEc877E60d2b3f354766485d0420922bBEec7c5fd Jupiter 1,8 0 191704 35000 35000 63000
5 0xAE2956e159ea962855b609C92C05E390Cd5215eB Saturn 2 2 29835 50000 30035 60070
6 0xcd0D668a6d54A1e3e3a6b662F052Aab2bdf0E201 Mars 1,4 0 845214 25000 25000 35000
7 0xEe6097Eae7867d9e3047499B104F5FB0F5f8e6C8 Venus 1,2 9 129790 20000 20000 24000
8 0x62f2a166EC52c5B8Ac55A9f7cc9292484a1E05BC Mercury 1,1 16 467580 15000 15000 16500
9 0x3ebcbf4ec93b959447914810536016d175e26b39 Moon 1 150 376000 10000 10000 10000
10 0x3e8ee1d253156aac21fdb694ea61b1e0cce60b3d Moon 1 132 268000 10000 10000 10000
11 0xf0a87BE18EC4255872286Fb1F9ea4b9e71c8541c Moon 1 244 8961 10000 10000 10000
12 0x4c15c5dc71b55be258e488b03d00548ed8d6a196 Moon 1 174 5800 10000 10000 10000

As you can see from the table, whales can easily hit their tier caps primarily through VOT3 holdings alone, leaving active Moon-tier users stuck at the bottom despite high engagement in actions. This undermines the goal of rewarding participation and could reduce incentives for upgrades.

My proposed solution, weighting VOT3 at 0.1 and capping only the resulting VOT3 points per tier, while keeping actions uncapped - creates better balance. It ensures holdings provide a baseline but don’t dominate, making activity the key differentiator and upgrades more compelling for unlocking higher caps and multipliers. Here’s how it would play out in adjusted examples (using the tier caps and multipliers from our earlier sequence):

Position Wallet address GM NFT Multilpier Actions Vot3 Vot3 Cap Points Final Points
1 0xff0df63feeBbBDb0b0d8E5e101F70d8cC0a14662 Saturn 2 3 821230 50000 50300 100600
2 0x27fd8556A6f5541a20Ed29367101656c993D132B Jupiter 1,8 7 200000 35000 20700 37260
3 0xcd0D668a6d54A1e3e3a6b662F052Aab2bdf0E201 Mars 1,4 0 845214 25000 25000 35000
4 0xEc877E60d2b3f354766485d0420922bBEec7c5fd Jupiter 1,8 0 191704 35000 19170,4 34507
5 0x2bB20EA457c9F2DcEC67F74e0031fECaEA5db7c9 Saturn 2 66 98000 50000 16400 32800
6 0xf0a87BE18EC4255872286Fb1F9ea4b9e71c8541c Moon 1 244 8961 10000 25296,1 25296
7 0x3ebcbf4ec93b959447914810536016d175e26b39 Moon 1 150 376000 10000 25000 25000
8 0x3e8ee1d253156aac21fdb694ea61b1e0cce60b3d Moon 1 132 268000 10000 23200 23200
9 0x62f2a166EC52c5B8Ac55A9f7cc9292484a1E05BC Mercury 1,1 16 467580 15000 16600 18260
10 0x4c15c5dc71b55be258e488b03d00548ed8d6a196 Moon 1 174 5800 10000 17980 17980
11 0xEe6097Eae7867d9e3047499B104F5FB0F5f8e6C8 Venus 1,2 9 129790 20000 13879 16655
12 0xAE2956e159ea962855b609C92C05E390Cd5215eB Saturn 2 2 29835 50000 3183,5 6367

To build on this, we could align the Cosmic Climb multipliers directly with the existing GM NFT Pool multipliers (Moon: 1.1x, Mercury: 1.2x, Venus: 1.5x, Mars: 2.0x, Jupiter: 2.5x, Saturn: 3.0x, Uranus: 5.0x, Neptune: 10.0x, Galaxy: 25.0x). This would amplify the value of every action you take as you upgrade tiers, creating stronger incentives for progression. The examples in the table above would play out similarly but feel even more balanced, as higher tiers unlock exponentially greater rewards with more actions taken.

1 Like

This would be the table using the actual GM NFT multipliers:

Position Wallet address GM NFT Multilpier Actions Vot3 Vot3 Cap Points Final Points
1 0xff0df63feeBbBDb0b0d8E5e101F70d8cC0a14662 Saturn 3 3 821230 50000 50300 150900
2 0x27fd8556A6f5541a20Ed29367101656c993D132B Jupiter 2,5 7 200000 35000 20700 51750
3 0xcd0D668a6d54A1e3e3a6b662F052Aab2bdf0E201 Mars 2 0 845214 25000 25000 50000
4 0x2bB20EA457c9F2DcEC67F74e0031fECaEA5db7c9 Saturn 3 66 98000 50000 16400 49200
5 0xEc877E60d2b3f354766485d0420922bBEec7c5fd Jupiter 2,5 0 191704 35000 19170 47926
6 0xf0a87BE18EC4255872286Fb1F9ea4b9e71c8541c Moon 1,1 244 8961 10000 25296 27826
7 0x3ebcbf4ec93b959447914810536016d175e26b39 Moon 1,1 150 376000 10000 25000 27500
8 0x3e8ee1d253156aac21fdb694ea61b1e0cce60b3d Moon 1,1 132 268000 10000 23200 25520
9 0xEe6097Eae7867d9e3047499B104F5FB0F5f8e6C8 Venus 1,5 9 129790 20000 13879 20819
10 0x62f2a166EC52c5B8Ac55A9f7cc9292484a1E05BC Mercury 1,2 16 467580 15000 16600 19920
11 0x4c15c5dc71b55be258e488b03d00548ed8d6a196 Moon 1,1 174 5800 10000 17980 19778
12 0xAE2956e159ea962855b609C92C05E390Cd5215eB Saturn 3 2 29835 50000 3184 9551
1 Like

Hey @MonkeyDCrypto

yeah mine was an example of what is doable,
I like your approach, and what you are proposing in the last messages is doable as well, so go for it on a new proposal.

Just keep in mind:

Our vision (general, for all proposals)

  1. Keep things decentralized (avoiding ranking systems that would require centralized services)

  2. Keep it simple (let’s avoid magic numbers/tables when possible, complex formulas, and everything should be easy to understand for newcomers)

  3. Fix things, once and for all, instead of changing the rules every month (magic numbers/tables lead to new proposals for adjustments. Progressive and linear approaches are better long term)

Hey @davidecarpini , what if we utilized the existing VePassport decay mechanism for the action points? Instead of tracking raw weekly actions, we could use getCumulativeScoreWithDecay combined with the VOT3 tier caps discussed.

The main pro here is that it rewards sustained engagement. Users can’t just spam actions for one week and then drop off; they have to maintain their momentum over the rolling window (12 weeks currently, I believe).

A couple of tradeoffs I noticed though: we’d lose the ability to apply custom caps to specific dApps (like Pause Your Carbon) since the passport just aggregates the total score. This might be a risk for abuse. Also, I believe the decay rate is currently set to 0, so we’d need to include a parameter change to actually make it decay.

My main question is: would looping through that window to calculate the decayed score be too heavy on gas during the reward distribution, or is this a feasible way to calculate the base score?

Not sure how feasible this is, but figured most of the heavy lifting is already done on the PoP-scoring, if we could utilize that to accomplish the goal with CC.


About the vision, I think that’s great - and we should definitely work on creating proposals that align with that. However, I think we’re in a bit of a weird place at the moment.

We have plenty of people willing to come up with ideas and proposals, but not a lot of technical consultants that we can utilize for them. Cosmic climb was up for discussion for weeks, first on the VBD community discord (which I know isn’t the official discussion forum - but it’s part of the iteration process), and then a long time here on discourse as well.

If someone would’ve stepped in at that point to point out the problems with it like you did now, we could’ve adapted the proposal before it was approved.

We’re trying our best to balance technical complexity, decentralization, effectiveness, etc., but it’s not an easy task from the outside. It’d be great if you guys could pop into the discourse threads before they go live on governance to discuss the technical feasibility of implementation. At this time, it’s unfortunately a low chance for someone from the community to know the ins and outs of the VBD contracts and/or Solidity restrictions while also contributing with proposals.

Secondly, the vision isn’t really documented anywhere. Governance | VeBetterDAO Docs the docs have no real reference to it. It would be great to have that updated with some ā€œProposal expectationsā€ to guide authors/community discussions on proposal creation.

Appreciate the responses, @davidecarpini - and great work again @MonkeyDCrypto !

4 Likes

hey @reheat ,
technically speaking,
gas should be ok, and I think it should be feasible (without the cap per app), we would still need to do some testing after the implementation to confirm 100% tho.

unfortunatelly we don’t have the bandwidth to jump on discussions before the approval, but internally we see your concerns and we are discussing a lot on how to improve the proposal creation experience, luckly you will see something in the near future.

we will improve docs, thanks for letting us know.

2 Likes

Appreciated! Let us know how it goes :raising_hands:

–

About proposals, I totally understand not being able to jump onto every proposal. Would it be possible to have some sort of review process, where we can just shoot you an email / message to say ā€œhey, this proposal is ready to go up on governance, could someone give a go/no go on the technical feasibility?ā€.

If the proposal passes, its gonna be needed anyway, and if the review could point out needed adjustments before hand the entire process could be more efficient.

Excited to see what you guys cook up!

2 Likes

So looks like this was cancelled now. Very unfortunate, it sounded like something was possible from the last messages.

No announcement prior to the cancellation or even with the cancellation really stings. If it truly is technically impossible to implement as proposed, then fine, but writing a post with the cancellation is in my opinion the least we can expect. Multiple hours were put into creating this proposal and for it to just vanish overnight with no compromise is extremely disheartening.

Shoutout @MonkeyDCrypto for the work on it and sorry to see the efforts wasted. Thanks @davidecarpini for the responses prior, I’m sure this wasn’t an easy choice to make from your team.

4 Likes

I’m disappointed that my proposal was canceled by the VeBetterDAO team without any prior notice (something that the community voted FOR). At the very least, a counter-proposal could have been drafted and put to a community vote. From now on, I won’t invest more time in developing new proposals from scratch, but I’m happy to provide feedback on existing ones. Thanks to everyone who supported and believed in this proposal.

3 Likes

hey @MonkeyDCrypto @reheat ,

We are sorry for the disappointment.
The proposal, as it stands right now, cannot be implemented.
I appreciate your ideas, but the community needs to vote on the changes, and we cannot decide on them ourselves.
Perhaps this was not clear, and I apologize for that:

davidecarpini:**
Sorry but it can’t be implemented like it is, and VeChain Foundation cannot act as a middleman for such a feature.**

We suggest paths for a new proposal:

I’m sorry again for any misunderstanding,

Davide

1 Like

Hi guys, as Davide said we were not able to implement the proposal as it was, and it seemed like any new implementation suggestion was differing from the original proposal content, for this reason it makes sense to cancel the current proposal and create a new one.

I think the topic is important and the work you were doing here was good, so I’m sorry to see you @MonkeyDCrypto so disappointed, since we actually would love to see this (or something else around GM nfts that empowers them) be shipped.

Let’s get back at it next week, find something that makes sense and that can be implemented and create a new proposal.

3 Likes