How 40 Million SAF Was Allocated: Inside Safrochain’s Phase 1 Airdrop Distribution

When Safrochain set aside 40 million SAF for its Phase 1 community airdrop, the goal was straightforward: reward people who actually showed up. Not vanity addresses. Not empty wallets sitting in a snapshot. Real participation across the Hub, real engagement in AirLyft campaigns, and a distribution model that anyone could verify before a single token moved on-chain.

This report breaks down how that allocation was built, who received what, and what the numbers say about how Safrochain’s early community actually behaved.

The headline numbers

Metric Value
Total distributed 40,000,000 SAF
Eligible wallets 39,690
Combined activity score 15,005,937 points
Average allocation 1,008 SAF
Median allocation 347 SAF
Range 13 to 37,116 SAF

Nearly 40,000 wallets qualified. The median recipient walks away with 347 SAF, a meaningful but modest reward for showing up and contributing. The most active participant earns 37,116 SAF, roughly 107× the median. That gap is intentional. This was never designed to be a flat handout.

A unified score, three data sources

Safrochain did not rely on a single leaderboard or a one-off snapshot. The final allocation merged three independent inputs into one unified points model:

Phase 1 Hub snapshot: mission and task activity from the original Hub cohort, contributing 2,151,831 points (14.3%) of the total score pool.

AirLyft: Ecosystem Activation: early campaign participation via XP and Fuel, adding 56,107 points (0.4%).

AirLyft: On-Chain Activities: the dominant signal, contributing 12,797,999 points (85.3%) of all eligible activity.

To connect AirLyft user accounts to on-chain wallets, the team used 144,303 verified 1:1 mappings from the wallet_links table. Every allocation traceable to a specific addr_safro address.

The result: a single, auditable score per wallet, and a clear eligibility rule. If your combined score was zero after merging all sources, you were excluded. 555,946 wallets fell into that category, leaving 39,690 active addresses in the final allocation file.

Where the points actually came from

The composition of the eligible cohort tells its own story.

65.9% of recipients (26,141 wallets) earned their allocation entirely through AirLyft, with no Hub snapshot points at all. They represent 84.2% of the total points pool.

33.9% (13,469 wallets) were Hub-only participants, snapshot veterans who never picked up AirLyft campaign credit. They still account for 13.9% of total points.

Only 77 wallets (0.2%) scored meaningfully across both channels, contributing 1.9% of the combined pool.

In plain terms: on-chain campaign activity drove this airdrop. The Hub mattered, especially for long-time participants, but AirLyft’s on-chain track was the engine. Of the 8,910,312 AirLyft XP and 3,943,794 Fuel counted toward eligibility, on-chain activities alone accounted for 12,797,999 combined points, versus just 56,107 from ecosystem activation.

That is not a flaw in the model. It reflects where the community actually invested its time during Phase 1.

How allocations were calculated

The formula was transparent and deterministic:

amount_saf(wallet) = floor(40,000,000 × points(wallet) / 15,005,937)

Every wallet received a proportional share based on its share of the total points pool. Because floor rounding would otherwise leave tokens unassigned, the remainder was distributed +1 SAF at a time to the highest-ranked wallets until the pool summed to exactly 40,000,000 SAF.

No discretion. No manual overrides for the general cohort. The same inputs always produce the same outputs.

Five internal test wallets received fixed allocations between 40 and 350 SAF (880 SAF total), deducted from the pool before the proportional split. Everything else was earned.

How vesting duration is calculated

Allocation size determines how long each wallet must vest after claiming. Larger allocations get longer schedules; smaller ones vest faster. The mapping is linear between fixed bounds.

Vesting months (one value per wallet, stored in the snapshot and Merkle leaf):

T_m = 1 + (6 − 1) × (amount_usaf − amount_min) / (amount_max − amount_min)

  • amount_usaf = wallet allocation in micro-SAF (1 SAF = 1,000,000 usaf)
  • amount_min / amount_max = smallest and largest allocation in the eligible cohort
  • Result is clamped to [1, 6] months
  • If every wallet had the same amount, T_m = 3.5 months (midpoint)

Examples from the live snapshot:

Allocation Approx. vesting
Minimum (13 SAF) 1 month
Median (347 SAF) ~1.05 months
Mid cohort (5,000 SAF) ~1.7 months
Maximum (37,116 SAF) 6 months

Vesting end time (fixed per wallet in the Merkle tree):

duration_seconds = round(T_m × 30 × 86,400)
end_time_unix = claim_close_unix + duration_seconds

  • claim_close_unix = 24 Aug 2026 00:00 UTC (1787529600) for mainnet
  • Vesting always runs for at least T_m months after the claim window closes, even if you claim on the last day

On-chain unlock: When a wallet claims, the contract creates a ContinuousVestingAccount (linear unlock per block) for the full amount_usaf, ending at end_time_unix. There is no cliff: from the claim transaction onward, every new block releases a small portion of SAF into your spendable balance. You do not wait until the end of vesting to use your tokens; unlocked SAF can be transferred, staked, or spent as soon as it vests.

At a high level:

spendable_after_claim = amount_saf × (blocks_elapsed / blocks_until_end_time)

Each block adds a tiny slice of your allocation. Over the full vesting period, the slices sum to 100% of your claim. Until end_time_unix, only the vested portion is spendable; the rest stays locked in the vesting account.

The Merkle leaf binds all three values so they cannot change after deploy:

leaf = SHA256( bech32_address_bytes || amount_usaf (u128) || end_time_unix (u64) )

What the distribution shape looks like

Activity-weighted airdrops produce uneven outcomes by design. Safrochain’s distribution is no exception.

The mean allocation (1,008 SAF) sits nearly 3× above the median (347 SAF), a classic long-tail pattern. Most people earned a solid but modest amount. A smaller group of deeply engaged participants earned substantially more.

Percentile breakdown (approximate SAF):

Percentile Points SAF
P50 (median) 130 347
P75 330 880
P90 760 2,027
P95 1,200 3,200
P99 3,615 9,640
P99.9 7,002 18,670

Concentration:

  • The top 100 wallets (0.25%) receive 4.95% of the pool.
  • The top 1,000 wallets (2.5%) receive 25.07%, one quarter of the entire distribution.

The Gini coefficient for both points and SAF allocation sits at ~0.634, indicating moderate-to-high inequality. For an engagement-based reward program, that is expected. Not everyone participated at the same depth, and the model did not pretend otherwise.

Who landed in each tier

Allocation tier Wallets Share of recipients
10,000 to 99,999 SAF 379 1.0%
1,000 to 9,999 SAF 8,625 21.7%
100 to 999 SAF 30,197 76.1%
10 to 99 SAF 486 1.2%

More than three quarters of all recipients (76.1%) fall in the 100 to 999 SAF band. That is the core of this airdrop: a broad base of active community members receiving a meaningful but not outsized share.

High-tier allocations above 10,000 SAF are rare: just 379 wallets, or 1.0% of the cohort. These are the power users, the people who treated Safrochain’s early campaigns as more than a checkbox.

Top of the leaderboard

The highest-ranked wallet accumulated 13,924 points and receives 37,116 SAF, blending Hub snapshot credit (2,443 points) with AirLyft on-chain activity (11,481 points). Several of the top 20 earned exclusively through AirLyft, with zero Hub snapshot contribution, further evidence that on-chain engagement was the primary differentiator at the high end.

The top 10 wallets collectively hold less than 1% of the pool. Even at the summit, concentration remains restrained relative to many token distributions where a handful of addresses capture double-digit percentages.

What we verified before going live

Every allocation passed automated validation before deployment:

Check Status
Sum of allocations equals 40,000,000 SAF passed
No duplicate wallet entries passed
All rows have points > 0 passed
Mainnet test wallets present (5/5) passed

The full allocation dataset is published in airdrop-allocation-by-wallet.csv. The unified scoring audit lives in airdrop-clean-summary.md). The Merkle tree built from this data ensures on-chain claims match off-chain records exactly.

The wallets we could not reach

47 ecosystem campaign users could not be mapped to a verified wallet address and are excluded from this distribution. Their combined XP and Fuel scores are documented in the audit log. If wallet linkage is resolved before the claim window closes, a future update may address their eligibility, but as of this report, they remain unallocated.

Transparency here matters as much as the numbers themselves. We are not hiding exclusions; we are documenting them.

Five things to remember

  1. 40 million SAF. Nearly 40,000 wallets. Out of 595,633 unique addresses in the merged universe, only those with provable activity received an allocation.

  2. On-chain activity dominated. AirLyft on-chain campaigns accounted for 85% of all eligible points. The Hub contributed 14%. Overlap between the two was minimal: just 77 wallets scored in both.

  3. The model is deterministic and auditable. Same inputs, same outputs, exact pool sum. No rounding leakage, no manual adjustments to the general cohort.

  4. Most recipients are in the middle. The median wallet receives 347 SAF. The distribution rewards depth of engagement without concentrating the majority of tokens in a tiny elite.

  5. The top 1,000 wallets earned their share. They represent 2.5% of recipients and 25% of the pool, significant but proportionate to the activity gap between casual and committed participants.

Looking ahead

The allocation is set. The Merkle root is fixed. Claims open on a defined window, and unclaimed tokens return to the treasury after close.

If you are in the eligible cohort, check your wallet on the claim portal (to be announced). If you want to verify the math yourself, the CSVs and audit files are in the repository.

Safrochain’s Phase 1 airdrop was built to answer a simple question: who actually participated? The data has a clear answer. The chain will enforce it.

This report is derived from the Safrochain Airdrop Phase 1 distribution analysis (July 2026).

5 Likes

Thanks for clarification, I hope a great launch of mainnet for Safrochain.

1 Like

Thanks safro we happy mainnet launch went very smoothly

1 Like

Thanks for approved :heart:

1 Like