Skip to main content

Airdrop eligibility lists and sybil filtering

What are airdrop eligibility lists and sybil filtering?

Airdrop eligibility lists and sybil filtering are how a token team decides who receives an airdrop: every address’s activity is scored up to one snapshot block, and wallets run by one actor posing as many people, called sybils, are removed before the list goes out.

Chain foundations and protocol teams run it before a token launch, because each farmed wallet left on the list takes tokens meant for real users.

Goldsky backfills chain activity up to the snapshot block into your warehouse; the criteria, scoring, sybil rules, address labels, Merkle root and claim contract stay with your team.

Who uses airdrop eligibility lists and sybil filtering?

Chain foundations, DeFi protocols and app teams launching a token, and the data teams that run their sybil analysis.

How an airdrop eligibility list gets built

The diagram follows one airdrop from the criteria and snapshot block to the wallets that claim. Your setup may differ.

Your business, step 1: Set criteria and snapshot blockPoints per activity, one fixed block
Goldsky, step 2: TurboBackfill to the snapshot blockEvery transaction up to that block
Your business, step 3: Score each addressPoints per activity, capped
Your business, step 4: Tag exchanges and bridgesFrom address labels you license
Your business, step 5: Remove sybil clustersGroup wallets by funding links
Your business, step 6: Build the Merkle rootEligible addresses and amounts
Your business, step 7: Publish the list and rulesSo anyone can check the result
Blockchains, step 8: Eligible wallets claimWithin a set claim window
  • Goldsky

How to build an airdrop eligibility list

A one-time pipeline loads chain activity up to the snapshot block into your warehouse. Your team scores each address, removes sybil clusters, builds the Merkle root and publishes the list.

What you’ll need

  • Goldsky Turbo
  • Written eligibility criteria and a snapshot block
  • A data warehouse for the history
  • Address labels for exchanges and bridges
  • A claim contract
  1. Set the criteria and the snapshot block

    Everyone is judged by the same rules at the same moment, so both are fixed before scoring starts.

    Criteria are usually points per qualifying activity, such as bridging funds or using the chain over several months, with a cap on the total. Only activity before the snapshot block counts.

  2. Backfill activity up to the snapshot block

    Handled by Goldsky Turbo

    Scoring needs every address’s activity up to the snapshot, and nothing after it.

    The history has to stop at exactly the snapshot block and cover every chain the criteria name. A rerun on the same block should return the same rows, so anyone can check the list.

    With Goldsky, a Turbo Pipelines job mode pipeline loads a fixed block range that ends at the snapshot block into your warehouse, then exits.

    Run a one-time backfill (opens in a new tab)
  3. Score each address

    Points turn each address’s activity into an allocation.

    Your warehouse counts each qualifying action per address and caps the total. Extra weight for early activity, or a minimum score to qualify, belongs in the written rules too.

  4. Tag exchanges and bridges

    Exchange deposit addresses and bridge contracts move many people’s funds, so they come off the list.

    Labels come from an address labelling provider or your own research. A contract or exchange address left in takes tokens meant for users.

  5. Remove sybil clusters

    One actor running many wallets would otherwise collect many allocations.

    Link wallets that were funded from the same source or swept funds to the same place, then look for tight groups of linked wallets. Publish the method and the code with the list, so anyone can check who was removed and why.

  6. Build the Merkle root

    A claim contract checks each claim against one Merkle root, a single hash that commits to the whole list.

    Each eligible address and its amount become one entry, and the root goes onchain with the claim contract. Any change to the list changes the root, so finish filtering first.

  7. Publish the list and the rules

    People check their own eligibility, and the community checks the method.

    Publish the criteria, the snapshot block, the list and the code that built it. With those public, anyone can rerun the list and get the same result.

  8. Eligible wallets claim

    Each address claims its tokens from the claim contract during the claim window.

    The contract checks each claim against the Merkle root and pays it once. Set the window’s start and end up front, and say what happens to unclaimed tokens.

What you control

Your team
  • Set the criteria and the snapshot block
  • Score each address
  • Tag exchanges and bridges
  • Remove sybil clusters
  • Build the Merkle root
  • Publish the list and the rules

Security and deployment

  • SOC 2 Type IIIndependently audited security controls.
  • Dedicated infrastructureSingle-tenant options for production workloads.
  • Data residencyCloud, on-premises or co-located.

Build an airdrop eligibility list with Goldsky

We’ll map it to your systems and show you what Goldsky runs, so your team builds the product, not the pipelines underneath it.

© Endless Sky Inc. All rights reserved.

PrivacyTermsSecurity

System status