Skip to content

Airdrop points system — locked design

Locked 2026-06-25 after team review. This doc supersedes the earlier 2026-06-17 draft. Pairs with docs/airdrop-genesis-allocation.md (Day-0 Uniswap-anchored hook) and docs/airdrop-mainnet-plan.md (operator runbook).

Phase structure

PhaseSnapshotTokensVesting
Phase 1Day 18075M180-day linear from claim
Phase 2Day 27075M180-day linear from claim
Phase 3Day 36075M180-day linear from claim
Phase 4Day 45075M180-day linear from claim

Total: 300M SNCT (30% of supply).

Unclaimed phase tokens after 365 days post-snapshot revert to Treasury.

No per-wallet cap. Real work = real points. A whale who provides $10M of shielded liquidity for 90 days earns 100× what a $100k user earns, because they put in 100× the capital. Same rate, no penalty either way.

Points reset per phase

Each phase is a fresh leaderboard. You can't grind Phase 1 and disappear — Phase 4 only counts Phase-4-window activity. This forces sustained engagement across all 450 days.

The 14-product matrix (updated 2026-07-15)

Every on-chain action falls into one of two anti-wash patterns: time-locked (paid by days held) or fee-locked (paid by fees spent). Nothing pays a flat per-action bonus on user-controllable $ amounts that could be looped.

#ProductActionPoints formulaCaps
1DEXSwap (AMM)0.5 × fee_paid_usd
2DEXOrder book trade (CLOB)1 pt per $100 traded
3DEXLP held in pool0.1 pt/day × $ TVL
4LP FarmChef-staking bonus+0.05 pt/day × $ TVL (on top of #3 when chef-staked)
5.snctRegister name20 pt × years registered
6.snctWin sealed-bid auction10 pt × $ bid paid3/day, 10 lifetime
7.snctMarketplace buy/sell2 pt × $ traded3/day, 10 lifetime
8ShieldedHeld in pool0.3 pt/day × $ shielded
9ShieldedInternal send5 pt/send3/day
10Bridge$ bridged-in, held on sanect0.1 pt/day × $ held (per 24h since bridge-in)
11NativeDelegated to validator0.05 pt/day × $ delegated
12GovernanceVote on proposal50 pt/vote
13.snctSet reverse-record (primary name)100 pt1 lifetime
14Bridge + DEXLP pair contains ≥1 bridged asset+25% bonus on #3 and #4

Why these specific rates — $1k × 90 days comparison

Anchored on bridge = 0.1 pt/day. All passive-held rates are within a 6× range of each other.

ActivityRate$1k × 90d points
Shielded held0.3 pt/day/$27,000
LP chef-staked, bridged pair (+25%)0.1875 pt/day/$16,875
LP chef-staked, native pair0.15 pt/day/$13,500
LP plain, bridged pair (+25%)0.125 pt/day/$11,250
LP plain, native pair0.1 pt/day/$9,000
Bridge held0.1 pt/day/$9,000
Delegated0.05 pt/day/$4,500
Single $1k swap (0.3% fee = $3)0.5 × fee1.5 (one-time)
Single $1k order book trade1 pt/$10010 (one-time)

Why shielded is top: privacy is sanect's product. The gradient needs to be steep enough that "shield $1k" is more attractive than "leave $1k in LP." 3× plain LP is right.

Why chef-staked bonus is +0.05 (1.5× of plain LP): chef-staked is locked (you forfeit pending SNCT emissions if you withdraw early). Worth the bonus, not worth doubling.

Why bridge = LP plain: both are passive held. Bridge-held is the foundational TVL metric, LP-held is the foundational DEX-depth metric. Both 0.1.

Why delegated is lowest: native staking already pays SNCT inflation rewards continuously. Airdrop points are extra on top.

Anti-wash mechanics

The whole point of the rate structure above is that no item can be profitably looped:

AttackWhy it fails
LP add → remove → add (100×)Item #2 pays by day held. Same-day add+remove = 0 days = 0 pts.
Bridge in → out → in (loop)Item #9 counts only full 24h held since bridge-in. Bridge in at 11:59pm + out at 12:01am = 2 minutes = 0 full days = 0 pts.
Shield in → unshield (loop)Item #7 pays by day held. Same-day shield+unshield = 0 pts.
Swap wash tradingItem #1 pays 0.5 × fee. Wash-looping $1M earns $500 of points but burns $3,000 in DEX fees → economically negative.
Self-trade name on marketplaceItem #6 capped at 10 lifetime trades. Genuine name traders won't hit 10; flippers will.
Self-bid auction repeatedlyItem #5 capped at 10 lifetime auction wins.
Spam shielded sendsItem #8 capped at 3/day. Can't price private amounts, so cap is the only way.
Spam votesGovernance proposals are rate-limited at the protocol level; can't spawn 1000 to vote on.

Bridge points start accruing on day 1, not day 30 — the 24h "full day held" rule is enough to kill loops without punishing users who genuinely only want to bridge for 5 days.

Phase 1 wallet-age multiplier (Genesis Allocation mechanic)

Applied only in Phase 1, on own earned points (product matrix

  • off-chain) — NOT on referral earnings. Phases 2–4 do not use the multiplier.
Wallet's earliest cross-chain activityMultiplier
< 1 year before snapshot1.0×
1+ years1.1×
2+ years1.25×
5+ years1.5×
7+ years (pre-COVID era — real OG)2.0×

Snapshot reference: Phase 1 snapshot block (Day 180). For the live eligibility checker, we use "as of now" since the final snapshot isn't taken yet — see airdrop-app/lib/genesisAllocation.ts.

Cross-chain coverage (Ethereum, Arbitrum, Optimism, Base, Polygon, Avalanche) means the multiplier rewards anyone with old crypto history, not just Ethereum mainnet veterans.

Phase 1 formula

phase1_total = (own_product_pts + own_offchain_pts) × wallet_age_multiplier
             + referral_earnings

Phase 2–4 formula (no multiplier)

phaseN_total = own_product_pts + own_offchain_pts + referral_earnings

Worked example

A user with 1.1× multiplier earns 5,000 product pts + 200 offchain pts in Phase 1, brings 10 successful referees averaging 5,000 pts each:

ComponentValue
(own product + offchain) × multiplier5,200 × 1.1 = 5,720
+ flat referral bonus (10 × 10)+100
+ 10% referral commission (0.10 × 50,000)+5,000
Phase 1 total10,820

In Phases 2–4 the same user (assuming identical earnings) gets 5,200 + 100 + 5,000 = 10,300 pts.

The 1.1× multiplier on own work in Phase 1 = +520 pts bonus for being a 1+ yr wallet. Pre-COVID OGs (2× tier) get +5,200 — meaningful, but not so large that newer wallets are pushed out of the program.

Mouth marketing — the referral system

Refer friends. Earn 10 points per referee + 10% of their points.

Share your link. For every successful referral you get a flat 10 pts recruitment bonus AND 10% of that referee's phase points, every phase. One referrer per wallet, immutable. No cap on referrals.

Mechanics:

  • Each wallet has one permanent referrer (immutable once set)
  • Set via ?ref=0x... or ?ref=alice.snct on first wallet connect
  • Referrer earns:
    • 10 points flat per successful referral (one-time, on activation)
    • + 10% of all referee phase points, every phase
  • Referee earns their normal points — no separate bonus, no penalty
  • Single-level only — no MLM cascades

What makes a referral "successful"

A referral only counts toward referrer's rewards once the referee meets ALL of:

  1. Activation: referee wallet has either
    • bridged in ≥ $50 to sanect, OR
    • used ≥ 3 distinct sanect products from the 14-product matrix
  2. Pre-existing wallet: referee wallet existed BEFORE the referral was claimed (catches wallet-spam)
  3. Single attribution: each wallet can only be referred ONCE — first valid referrer attribution wins, locked forever
  4. No same-source funding: if ≥50 referees were funded from the same source within 1 hour, attribution voided

These gates are why we can offer the flat 10 pts without spam loops: the bridge fee + gas to fake activation costs more than 10 pts is worth at any plausible SNCT price.

Why both flat + commission

  • Flat 10 pts = predictable recruitment thank-you. Influencers know exactly what each referee is worth at minimum, regardless of how engaged the referee turns out to be.
  • 10% commission = compound reward for bringing high-quality users. A KOL who brings 10k users averaging 5k pts each earns 5M commission pts on top of the 100k flat — a 50× multiplier over flat alone.

The flat keeps the floor honest; the commission keeps the ceiling uncapped.

No cap on referrals.

Influencer outreach is a core distribution channel. A 1M-follower crypto KOL who brings 10,000 referees should earn 10,000× a small referrer who brings 1. Same rate, no penalty. Real reach = real reward. This is consistent with the "no per-wallet cap" principle across the whole system.

Referral anti-sybil (referrer side)

Referrer needs ≥1,000 own points before referral credits unlock — forces the referrer to actually use sanect themselves before they can collect commission.

Off-chain points (flat, one-time per user)

These are flat per-action, intentionally — they can't be priced in USD and we don't want creators gaming volume metrics. All one-time-per-user — repeat actions don't compound.

ChannelActionPoints
Twitter / XFollow @sanectnetwork + 3 original posts tagging sanect100
TelegramActive member ≥ 30 days in @sanectnetwork50
DiscordVerified rank above Member tier50
LinkedInShare a sanect post OR publish a Medium article75
YouTubeTutorial / explainer video about sanect (≥ 100 views)200

Verification via Galxe campaign + manual moderation. Bots filtered at the Galxe verification step. Maximum off-chain points per wallet: 475 (if a user completes all five). Modest by design — off-chain is a credibility filter, on-chain product use is the main earnings path.

Points → SNCT conversion

Per phase, independent pools:

your_phase_SNCT = (your_phase_points / total_phase_points) × 75M
  • Points reset each phase
  • No per-wallet cap on share
  • 180-day linear vest from each claim
  • Unclaimed > 365 days post-snapshot → Treasury

Distribution mechanism — registered claim

See docs/airdrop-distributor-spec.md for the full contract spec.

We use a registered claim model rather than Merkle proofs:

  • Indexer computes final per-user (liquid, vested) allocation off-chain
  • Operator publishes snapshot CSV publicly + on IPFS 7 days before claim opens
  • Community appeal window — flags wrong addresses
  • Operator batch-loads final allocations into AirdropDistributor.sol via setAllocations() (~500 users/tx, ~10-20 txs total for 50k users)
  • Operator calls lockPhase() — allocations now immutable, anyone can audit
  • Claim window opens → users connect wallet, sign verify message, call claim(phase) — liquid arrives in wallet, vest schedule registered
  • Users call claimVested(phase) periodically to pull linearly-released portion (or claimAll() for one-tx convenience)
  • After 365 days, unclaimed reverts to Treasury via revertUnclaimed(phase)

Why registered claim over Merkle:

  • Single contract holds all 4 phases — simpler audit surface
  • Users keep tax-timing control (vs forced push distribution)
  • No off-chain proof generation in the claim UI — lighter frontend
  • Lost-key users still lose, but Merkle has the same property
  • Operator-trust is bounded: lockPhase() makes allocations immutable

Staking and airdrop are independent reward streams

A delegator earning item #10 airdrop points is separate from native staking rewards. Both stack:

Reward streamSourceCadence
Native staking rewardsMint module inflation (7–20% annual)Continuous, claim via 0x...0801 precompile
Item #10 airdrop pointsAirdrop bucket (30% / 300M)Phase snapshot, claim at Day 180/270/360/450
Validator commissionDelegator rewards × commission rateContinuous
LP farm emissionsTreasuryEmitter via MasterChef (10% / 100M)Per-block, harvest from MasterChef
Item #2/#3 airdrop pointsAirdrop bucketPhase snapshot
Validator grants (genesis 50)5M one-time bucketOne-time at validator-set lock-in

All additive. A $1k delegator for 90 days collects ~$7 of native inflation rewards plus 4,500 airdrop points redeemable at Phase 1.

Public commitments

These are locked publicly and won't change without DAO governance:

  • 30% / 300M SNCT for airdrop
  • 4 phases, equal 75M each, snapshots Day 180/270/360/450
  • 180-day vest per claim
  • No per-wallet cap, no per-referrer cap
  • 14-product matrix and rates above
  • Uniswap age multiplier tiers (1.1× / 1.25× / 1.5× / 2×)

Operator-side (not pre-disclosed)

  • Exact Phase 1–4 snapshot block heights (revealed 7 days before each)
  • Sybil cluster filtering rules (revealed at claim time)
  • Galxe campaign moderation criteria

Anti-patterns avoided

  • ❌ Per-wallet caps that punish genuine large users
  • ❌ Per-referrer caps that disincentivize influencer reach
  • ❌ Flat per-action points on USD-amount actions (loopable)
  • ❌ MLM-style multi-level referrals (pyramid optics)
  • ❌ Carry-forward points across phases (kills late-phase incentive)
  • ❌ 100% liquid at claim (guaranteed dump)
  • ❌ Hidden snapshot heights revealed early (snapshot gaming)