Skip to content
This repository was archived by the owner on Apr 14, 2026. It is now read-only.
This repository was archived by the owner on Apr 14, 2026. It is now read-only.

Map Fee allocation ratios from StakeDAO #295

Description

@Xeonus

We are currently missing the veBAL / vlAURA allocation shares because StakeDAOs votemarket aggregates everything.
More specifically we are missing following fields:

auraIncentives
auravebalShare
auraIncentivesPct

since fee run for timestamp periodStart=1767225600

Use the StakeDAO VoteMarket Analytics data (hosted on GitHub) to retroactively determine the Aura/BAL split after each round completes.

Data Sources Available

  1. Balancer-level analytics (all veBAL voters):
    - Metadata: https://raw.githubusercontent.com/stake-dao/votemarket-analytics/main/analytics/votemarket-analytics/balancer/rounds-metadata.json
    - Per-round: https://raw.githubusercontent.com/stake-dao/votemarket-analytics/main/analytics/votemarket-analytics/balancer/{roundId}.json
    - Contains: totalDepositedUSD, per-gauge totalDeposited, nonBlacklistedVotes, efficiency
  2. Aura/vlAURA-specific analytics (Aura voters only):
    - Metadata: https://raw.githubusercontent.com/stake-dao/votemarket-analytics/main/analytics/votemarket-analytics/vlaura/balancer/rounds-metadata.json
    - Per-round: https://raw.githubusercontent.com/stake-dao/votemarket-analytics/main/analytics/votemarket-analytics/vlaura/balancer/{roundId}.json
    - Contains: Same structure but filtered to Aura voter proxy's voting power only

Round Data Structure (both endpoints)

  {
    "totalDepositedUSD": 15942.30,        // Total incentives deposited for this round
    "globalAverageDollarPerVote": 0.0052, // Average $/vote
    "globalAverageEfficiency": 0.456,     // Emissions per $1 spent
    "analytics": [
      {
        "gauge": "0x1da1...",
        "nonBlacklistedVotes": 534931.78,
        "totalDeposited": 709.29,          // Incentives for this gauge
        "dollarPerVote": 0.00132,
        "incentiveDirected": 8442.01,      // BAL inflation directed
        "incentiveDirectedUSD": 1279.02,
        "efficiency": 1.803,
        "platform": "votemarket"
      }
    ]
  }

Calculation Method

For a given fee allocation period (biweekly):

  1. Match the period to VoteMarket rounds: Use endVoting timestamps from rounds-metadata.json to find the round(s) that overlap with the fee allocation period (periodStart → periodEnd). A biweekly period typically spans 2
    weekly VoteMarket rounds.
  2. Fetch both Balancer and vlAURA data for the matching round(s).
  3. Calculate Aura's share per gauge:
    For each gauge in the allocation:
    aura_votes = vlaura_round.analytics[gauge].nonBlacklistedVotes
    total_votes = balancer_round.analytics[gauge].nonBlacklistedVotes
    aura_share_for_gauge = aura_votes / total_votes
  4. Calculate aggregate split:
    aura_incentives = sum(pool.total_to_incentives_usd × aura_share_for_gauge[pool.gauge])
    bal_incentives = total_incentives - aura_incentives
    aura_vebal_share = aura_incentives / total_incentives
  5. Alliance pools exception: Pools with is_whitelist=true (alliance/aura-only) are 100% Aura by definition — no lookup needed.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions