# Allocation Scaling Process

How are balances scaled for airdrops

### Process outline

A snapshot of data is gathered for the following, at a block height not made available in advance:

BAL holders (including wallet balances, major BAL liquidity provision, incl. 80BAL-20WETH)

Voters of the Aura proposal on Balancer’s Snapshot

Vote-locked Convex (vlCVX) holders

LobsterDAO NFT holders

Holder addresses are filtered:

“Infrastructure” (e.g. CEX) addresses are removed

Addresses which are not either EOAs or Gnosis Safe multi-sigs are removed

Balancer DAO addresses are removed

Top-level allocations of AURA are defined for different groups.

The allocations are calculated for each group (explained below).

The allocations for each group are combined into a single allocation for each user.

A Merkle tree is generated for the combined allocations, and a number of artefacts are output:

Address⇒Allocation table as CSV and JSON

Merkle proofs for every address with a claim

Interactive tree map to visualise all holdings

### Calculating allocations

For each group with a top-level allocation (Balancer, Convex, LobsterDAO):

Apply redirections

Verified redirections (e.g. for BadgerDAO and individuals) are applied to underlying balances

Initial rescale

Considered balances are rescaled in order to reduce whale dominance and create a fairer distribution.

Get the relevant unscaled balance for each user (e.g. for Balancer, each user’s total BAL holdings we captured).

Get the largest holding value to establish the domain of values (i.e. the considered range of balances).

Given the domain, create a power scaling function with an exponential transform which will be applied to each value

The exponent being used is

`0.75`

.Each range value

*y*can be expressed as a function of the domain value*x: y = mx^k + b*, where*k*is the exponent value.This creates an array of multipliers that scale balances according to the balance and the considered domain.

Get the share of the allocation for all the multipliers, and simply multiply the unscaled balances by this share.

This yields fairly rescaled values according to the power scale we defined for each group.

Cull shrimp

Given a minimum claim size of

`50 AURA`

per account, remove all claimants under this threshold.

Final rescale

Same process as initial rescale; claimants that were not filtered out will receive more AURA.

At each step, key metrics are logged out and the Gini coefficient is calculated to ensure that rescaling has the desired effect.

**IMPORTANT**: Snapshots of eligible addresses were taken with block heights before this information was posted, to avoid gaming of these airdrop allocations

Last updated