← back to blog

Funding 200 sybil wallets without a centralised exchange footprint

Funding 200 sybil wallets without a centralised exchange footprint

The first time I ran a 200-wallet cluster through a Linea airdrop campaign, I made the mistake every new operator makes: I swept my Binance spot wallet, split the ETH three ways through a disperse contract, and called it a day. Three months later the snapshot landed, and the project’s sybil report flagged every single address as part of one cluster. Not because of my on-chain behaviour. Not because of timing. Because every wallet in the tree could be traced, in four hops or fewer, back to a single Binance deposit address registered in my name.

That experience cost me several hundred dollars of gas and a full campaign’s worth of interaction work. It also taught me the most underappreciated truth in airdrop farming: the funding path is the fingerprint. You can use separate hardware profiles, separate IPs, and staggered transaction timing, but if the money comes from one KYC’d account, chain-analysis tools will cluster you automatically. The on-chain graph is public and permanent, and the firms running sybil analysis for major protocols, including Nansen, Chainalysis, and in-house analytics teams at foundations, know how to walk it backwards.

This deep-dive is for operators who already understand wallet generation, browser fingerprinting basics, and EVM transaction mechanics. I’m not going to explain what an airdrop is. I’m going to explain, in operational detail, how I now fund large clusters without leaving a traceable CEX origin, what tools I actually use, and where this approach still fails.


background and prior art

The problem of on-chain clustering has been well-documented since at least the Arbitrum airdrop in March 2023, when the foundation published criteria that explicitly penalised wallets with similar funding sources. The Hop Protocol sybil bounty programme before that was an early public demonstration of how effective funding-graph analysis is: the team used a simple heuristic of shared deposit addresses on CEXs to remove roughly 10% of claimed addresses.

Since then the methodology has only gotten sharper. Chainalysis’s Reactor product can resolve clusters from common-spend and co-spending patterns automatically. Layer-zero sybil reports in 2023 flagged addresses based on nearly identical gas-usage patterns and common funding ancestors up to seven hops deep. The core insight these tools exploit is straightforward: money leaving a CEX carries a label (your account), and unless that label is removed before it touches farming addresses, the cluster is trivially discoverable.

Prior to 2022, most operators solved this with a single intermediate “mixer” hop, typically Tornado Cash. That option is now legally fraught in most Western jurisdictions following OFAC sanctions in August 2022, and practically blocked on most bridges. The space has adapted. The current best-practice involves a combination of P2P acquisition, privacy-preserving on-chain routing, and careful timing hygiene that together remove the CEX label from funds before they reach farming addresses.


the core mechanism

The goal is to acquire native gas tokens (ETH, MATIC, ARB, etc.) in a way that either (a) never involves a KYC’d CEX in the first place, or (b) passes the funds through a sufficiently deep privacy layer that the CEX origin cannot be reconstructed with reasonable effort.

There are four primary acquisition paths I use. I’ll rate each by practicality at the 200-wallet scale.

Path 1: P2P acquisition via Bisq or Hodl Hodl

Bisq is a decentralised, open-source exchange that runs entirely peer-to-peer with no central server, no KYC, and no withdrawal address tracking. You download the desktop client, fund a security deposit in BTC, and trade against counterparties using local payment methods like bank transfer, Revolut, or cash by mail. Bisq fees are roughly 0.4% for makers and 0.7% for takers as of early 2026. The BTC you receive lands in a Bisq wallet address with no on-chain link to any exchange.

Hodl Hodl works similarly but is a hosted platform with a web interface, slightly more liquidity, and multisig escrow. Their standard fee is 0.6% on the trade amount. Neither platform requires identity verification for the on-chain side of the trade.

At 200-wallet scale, you’re probably looking at acquiring 0.02 to 0.05 ETH per wallet minimum (depending on chain and campaign depth), so 4 to 10 ETH total. That’s a manageable P2P purchase in two or three tranches. The main friction is speed: Bisq trades can take 30 to 90 minutes depending on payment method and counterparty responsiveness. I typically build up a reserve over two or three weeks before a major campaign, not the night before.

Path 2: Mining or staking with no CEX exit

If you run any mining hardware, even a small GPU rig, the block rewards that land in your payout wallet have no CEX ancestor. Staking rewards from validators you control are similar. This is the cleanest source of “virgin” crypto, but it’s capital-intensive and slow for most operators. I use this for ETH on mainnet top-ups where I want maximum cleanliness, but it’s not practical as a primary channel.

Path 3: On-chain privacy via Railgun

Railgun is a smart contract privacy system deployed on Ethereum, BNB Chain, Polygon, and Arbitrum. It implements zk-SNARK shielded transactions: you deposit tokens into the Railgun contract, they enter a shielded pool where balances are hidden, and you can withdraw to any address with no on-chain link to the depositing address. The system is non-custodial and has been audited by multiple firms.

The practical workflow for funding a cluster: buy ETH on Bisq or a non-KYC’d DEX, deposit into Railgun’s shielded pool, wait at least 48 hours (ideally a week, to benefit from more pool participants mixing in), then withdraw to a fresh distributor address. From the distributor, use disperse.app to batch-send to all 200 farming addresses in a single transaction. The disperse contract is publicly documented and costs one gas transaction instead of 200, which is significant at current mainnet prices.

The weak point in this path is deposit size. A single 10 ETH deposit followed by a single 10 ETH withdrawal stands out even in a shielded pool if the pool is thin. The mitigation is to break deposits into 0.5 to 1 ETH chunks over several days, and to not withdraw until the pool has processed considerable other activity.

Path 4: Cross-chain obfuscation via DEX + bridge routing

This is the most complex path and the one most prone to mistakes. The idea is to convert CEX-origin funds into a privacy coin or a less-analysed chain, execute enough intermediate steps that the graph becomes impractical to follow, then bridge back to the target chain.

In practice: CEX withdrawal to Polygon (low fees), swap to a privacy-preserving token, bridge to another EVM L2 using a bridge that doesn’t log metadata, swap back to ETH or the native gas token, distribute. The problem is that each bridge and each DEX is a potential re-linkage point. Most bridges log the source address and destination address on both chains, and bridge fingerprinting is a well-understood technique. I only use this path when I already have a P2P or Railgun leg in the chain.


worked examples

Example 1: Linea campaign, 200 wallets, ETH mainnet gas

In Q4 2025 I was preparing for a Linea snapshot that required six months of on-chain history. I needed 200 wallets funded with roughly 0.025 ETH each for initial deployment, plus an ongoing top-up budget. Total requirement: about 5 ETH.

I bought 3 ETH on Bisq over two weeks using three separate Bisq wallet instances, paying with Wise transfers to three different counterparties. Each purchase settled to a different Bisq payout address. I then consolidated these into one address (accept the consolidation hop, it’s unavoidable), waited 5 days, deposited 2.5 ETH into Railgun in five separate 0.5 ETH transactions on different days. The remaining 0.5 ETH I kept in the consolidation address as a contingency reserve.

After 11 days in the Railgun pool, I withdrew 2.4 ETH (leaving a small buffer in the pool for pool health) to a fresh EOA I generated offline. From that EOA, I used disperse.app to distribute to all 200 wallets in a single transaction, sending 0.012 ETH per wallet. Total gas for the disperse transaction: approximately $18 at the gas prices that week. The wallets had no on-chain ancestor linking back to any exchange.

Example 2: Scroll campaign, 50 wallets, cheap-chain gas top-up

For Scroll I needed ETH on L2, which means I had to bridge. The bridging step is the hard part because the official Scroll bridge logs your L1 origin address, which would immediately link all 50 wallets to one source.

My approach: Railgun deposit on mainnet (1 ETH in four 0.25 ETH tranches), withdraw to a fresh address after 10 days, then bridge from that address to Scroll. On Scroll, I again used a disperse contract (Scroll has deployed compatible batch-transfer contracts) to distribute to 50 farming addresses. The L1 bridge origin was a fresh address with no CEX history, so even if someone walked back the bridge record, they’d hit a dead end at the Railgun withdrawal.

Cost breakdown: Bisq buy roughly 0.5% fee, Railgun relayer fees roughly 0.003 ETH total, L1 bridge transaction $12, Scroll disperse transaction $0.80. Total overhead roughly 1.2% plus fixed gas costs.

Example 3: zkSync Era, 150 wallets, ongoing top-ups

This one required more operational complexity because zkSync was running an extended campaign with multiple snapshot windows, meaning I needed to top up wallets over a 4-month period without creating a repeating pattern.

I established a rotating Bisq purchase schedule: one purchase per week for 8 weeks, alternating between two Bisq instances and three different payment counterparties to vary the purchase fingerprint. Each week’s purchase fed a separate Railgun deposit. I maintained a Railgun balance as a “float” and made irregular-sized withdrawals to a distributor address on a non-regular schedule, roughly every 12 to 18 days. The disperse transactions were staggered by 2 to 4 hours from wallet-to-wallet to avoid block-level clustering.

The total cost overhead for 4 months of top-ups across 150 wallets was about 1.8% in fees and gas waste, which I consider acceptable for a campaign of this size.


edge cases and failure modes

Timing correlation

The single most common mistake after fixing the funding path is timing correlation. If you deposit into Railgun on Monday and withdraw on Wednesday, the correlation is trivial to spot by block timestamp. Minimum viable dwell time in any shielded pool is 72 hours. My personal threshold is 7 days for anything over 1 ETH. The same logic applies to disperse transactions: don’t send to 200 wallets and then have all 200 wallets execute their first transaction within the same 30-minute window. Stagger wallet activation by days or weeks.

Pool-size attacks on thin shielded pools

Railgun’s privacy guarantees degrade when the pool is thin. If only three people deposited in the same window and two are you, an observer can narrow down withdrawal candidates significantly. Check the pool activity before using it. On chains with low Railgun usage (some L2s), the pool may have fewer than 10 active participants, which is not sufficient anonymity. In these cases, use mainnet Railgun and bridge from there, even if the gas cost is higher.

Bridge fingerprinting

Most bridges store a complete record of source-chain address to destination-chain address mappings, and this data is either on-chain or logged by the bridge’s centralised infrastructure. If you bridge 200 separate wallets from 200 separate Railgun withdrawals, each bridging transaction is still a link between a “clean” address and the Railgun withdrawal that funded it. The counter-strategy is to bridge from one distributor address to the target chain, then use an L2-side disperse to distribute. You consolidate the bridge risk into one record, not 200.

Dust and address reuse on distributor wallets

After a disperse transaction, your distributor wallet is publicly linked to all 200 recipient addresses on-chain. If the distributor wallet receives any future funds (even dust), that receiving event becomes a new trace point. Retire distributor wallets after one use. Generate a new address for each disperse event. This sounds paranoid but takes 30 seconds with any competent wallet generation script. See our EVM wallet generation tutorial for a practical implementation.

Protocol-side metadata

Some protocols log IP addresses or frontend metadata during wallet connection events, not just on-chain behaviour. Using the same browser session or IP to connect 200 wallets is a separate clustering vector that no amount of on-chain hygiene fixes. This is a fingerprinting problem, not a funding problem, but it interacts with funding hygiene because protocols cross-reference both signals. The antidetect browser space has useful tooling here. For a thorough review of browser isolation options see antidetectreview.org’s blog which covers the major tools with operational notes.


what we learned in production

The most important practical lesson is that the funding path and the operational path have to be planned simultaneously. Most operators think about IP rotation, wallet generation, and transaction scripts as one workstream, and fund wallets as an afterthought. That ordering is backwards. The cleanliness of your funding source sets a ceiling on the maximum sybil-resistance of everything downstream. You can have perfect fingerprint isolation and still get clustered if all 200 wallets share a Binance ancestor.

The second lesson is that P2P acquisition at scale is slower than most people expect, and you should budget for it. Bisq in particular has variable liquidity by payment method and region. In Singapore, bank transfer offers are reasonably liquid at 0.5 to 2 ETH per trade, but larger trades require patience or using multiple counterparties. Building a clean float over weeks before a campaign is far more comfortable than scrambling three days before a snapshot deadline. If you are newer to P2P execution, the multi-account operations blog at multiaccountops.com has good coverage of the workflow mechanics for building out funding pipelines at scale.

One thing I’ve stopped doing: using any cross-chain bridge as the sole privacy layer. Every bridge I’ve examined in depth either logs metadata server-side or has on-chain records that are trivially joinable. Bridges are convenient but they’re not privacy tools. If your only break in the chain is a bridge hop, you haven’t actually broken the chain. The combination of P2P acquisition plus a genuine shielded pool with sufficient dwell time is the only approach I currently trust for high-value campaigns.

Finally, record-keeping matters. This is not legal advice and nothing here constitutes tax guidance. But every jurisdiction I’m aware of treats crypto-to-crypto swaps as taxable events, and P2P transactions can trigger reporting obligations depending on your residency. Keep accurate records of acquisition costs, dates, and disposal events. Running a 200-wallet cluster generates a lot of transactions, and reconstructing cost basis later from on-chain data alone is painful. This is not legal or tax advice, consult a professional in your jurisdiction.


references and further reading

  1. Bisq Network, official documentation and getting started guide - the canonical reference for P2P BTC exchange without KYC.

  2. Railgun Protocol, official site and documentation - technical overview of the zk-SNARK shielded pool system deployed on Ethereum and several L2s.

  3. Disperse.app, batch ETH and ERC-20 distribution contract - the open-source Ethereum contract for distributing to multiple addresses in one transaction.

  4. Chainalysis Reactor product page - understanding the tooling that foundation analytics teams typically use for sybil analysis gives useful perspective on what patterns to avoid.

  5. Layer Zero Sybil Reporting, on-chain methodology discussion - the public GitHub repository documenting the methodology used in the Layer Zero sybil removal process, including funding-graph analysis techniques.


Related reading on this site: - EVM wallet generation at scale: scripts and tooling - How protocols detect and flag sybil clusters: a technical breakdown - Gas optimisation across multi-wallet campaigns - Airdrop farming fundamentals

Written by Xavier Fok

disclosure: this article may contain affiliate links. if you buy through them we may earn a commission at no extra cost to you. verdicts are independent of payouts. last reviewed by Xavier Fok on 2026-05-19.

need infra for this today?