Bridging patterns that get sybils filtered (and how to avoid them)
Bridging patterns that get sybils filtered (and how to avoid them)
The cross-chain bridge is where most sybil operations leak the most information. it is the part of the farming lifecycle that looks the most mechanical, happens in the highest volume, and leaves the clearest on-chain trail. every major airdrop that has run a serious sybil filter in the last three years, from Arbitrum in March 2023 to the LayerZero ZRO distribution in June 2024, has leaned heavily on bridging graph analysis as a primary signal. if your operation is still treating the bridge hop as a throwaway step, you are probably already in a filtered cohort somewhere.
this piece is for operators who already understand the fundamentals: you know what a sybil is in the context of airdrop eligibility, you have run multi-wallet operations before, and you are not here for a primer on how bridges work. the focus here is specifically on the patterns that get wallets clustered and excluded, why those patterns are so easy to detect, and the adjustments that actually move the needle. i will be specific about tools and examples because vague advice is not useful.
one thing worth saying upfront: nothing in this article is legal or financial advice. operating multi-wallet farming setups sits in a grey area in most jurisdictions. understand your local rules. and none of this is a guide to KYC fraud, identity theft, or anything that involves misrepresenting yourself to a regulated entity. the scope here is on-chain activity analysis, not circumventing compliance checks.
background and prior art
the academic foundation for on-chain wallet clustering predates airdrop farming by about a decade. the core heuristics, co-spend clustering and change-address tagging, were formalised for Bitcoin in Meiklejohn et al.’s 2013 paper and ported to account-based chains with some modifications. the intuition is simple: if two addresses both sign inputs in the same transaction, the same entity controls both. on EVM chains the direct co-spend heuristic is weaker because accounts, not UTXOs, carry balances. instead, the dominant signals are funding provenance (who sent you your initial ETH) and interaction graph topology (which addresses do you transact with, in what order, at what times).
by 2023, analytics platforms like Nansen and Dune Analytics had made this accessible without writing a custom indexer. any protocol team running an airdrop had the tools to pull a subgraph of all wallets that interacted with their contracts and run basic clustering in-house or through a third party. Gauntlet, Chaos Labs, and several boutique analytics firms all now offer sybil-scoring as a service. the LayerZero team went public in May 2024 with a self-reporting mechanism and a bounty-hunter model, where external researchers could submit sybil clusters for a cut of clawback tokens. that public programme surfaced over 800,000 flagged addresses before the final snapshot. the methodology documents they released are about as close to a primary source as you will find on what the detection actually looks like in practice.
the core mechanism
when a protocol runs sybil detection, they are not looking for a single smoking-gun signal. they build a weighted graph. nodes are wallet addresses. edges are on-chain interactions: funding transfers, bridge transactions, shared gas sources, and same-block co-activity. clusters emerge from connected components in that graph. a wallet inside a large cluster, especially one where every member of the cluster has an identical or near-identical activity fingerprint, gets a high sybil probability score. the exact thresholds vary by protocol and by the economic stakes of the distribution.
funding provenance is the strongest edge. if you fund 40 wallets from a single CEX withdrawal address, you have drawn a star-shaped subgraph with your master wallet at the centre. Arkham Intelligence, Nansen’s entity tagging, and even basic Etherscan block explorer searches make this trivially visible. some operators try to use a single intermediary wallet as a one-hop buffer. it does not work. the graph analysis follows the chain. what you need is multiple different funding sources, with different entry points, different withdrawal times, and different amounts. using the same Binance account to fund everything is equivalent to labelling the wallets yourself.
bridge route homogeneity is the second major signal. if 30 wallets all bridge 0.05 ETH from Ethereum mainnet to Arbitrum via Stargate Finance within a 90-minute window, that is a cluster. it does not matter that the wallets have never interacted with each other directly. the combination of same route, same protocol, similar amount, and temporal proximity creates a strong statistical fingerprint. detection here is done with SQL queries on a bridge contract’s event logs. a Dune query that looks for StargateComposed or Swap events grouped by sender, filtered to a 24-hour window, and then sorted by amount similarity takes under an hour to write. protocol teams have these running before their snapshot even closes.
gas distribution patterns are underrated as a detection vector. before every bridge operation, your farming wallets need gas. the naive way to handle this is a dispenser script that sends small ETH amounts from one wallet to many. this creates exactly the star topology you want to avoid. even if the funding source for the ETH itself is clean, the gas dispenser becomes a clustering node. the graph connects every wallet that received gas from it. if those wallets also all bridge through the same protocol around the same time, you have compounded the signal.
amount clustering deserves its own mention. protocols do statistical analysis on the distribution of bridged amounts. a uniform distribution, say every wallet sends between 0.04 and 0.06 ETH, looks machine-generated because humans are not that consistent. real users have jagged distributions: one person sends 0.3 ETH because they are moving a larger position, another sends 0.01 because they are testing, another sends 0.15 for no particular reason. if your wallet set has a suspiciously tight amount distribution, that is a flag even before the graph analysis runs.
temporal clustering is statistical. if your 50 wallets all execute their bridge transactions within a two-hour window on the same day, the probability of that happening organically is very low. protocol analysts flag cohorts with unusually tight transaction timing. this is especially acute for multi-step sequences: bridge on day 1, swap on day 2, stake on day 3, same pattern across all wallets. that sequence correlation is more informative than any individual step.
interaction graph beyond bridging also matters. if your wallets farm a protocol but never interact with anything else, the activity profile looks thin. real users land on a new chain and do a variety of things: swap, provide liquidity, use a lending protocol, maybe buy an NFT. a wallet that only ever executes the exact steps required for airdrop eligibility, in exactly the required order, is a pattern.
worked examples
example one: the LayerZero ZRO distribution, June 2024. LayerZero used a multi-pronged approach. they made a public bounty-hunter programme available, where anyone could submit a JSON file of sybil addresses with on-chain evidence. the primary evidence type accepted was funding source clustering and identical message-path usage. a typical valid submission looked like: wallet A and wallet B both received their initial funding from address X, and both sent OFT (Omnichain Fungible Token) transactions using the same source/destination chain pair within a 48-hour window. the self-reporting mechanism ran in parallel: wallets that self-reported as sybils before the deadline were eligible to receive 15% of their calculated allocation, versus zero for wallets caught by bounty hunters. approximately 803,000 addresses were ultimately excluded. the public methodology note from the LayerZero team referenced graph analysis on their OFT contract event logs as the primary tool. this is the most documented public example of bridge-specific sybil detection at scale.
example two: the Arbitrum ARB airdrop, March 2023. Arbitrum’s eligibility criteria included multiple tiers based on transaction count, contract diversity, value bridged, and time on chain. the filtering pass before distribution excluded wallets in clusters that showed identical activity scores across all five criteria simultaneously. the minimum threshold approach, all wallets in a cohort hitting the lowest qualifying tier in every dimension, was the clearest signal. wallets that had bridged exactly the threshold amount (more than $10,000 worth of assets or the minimum number of transactions to qualify) with no surplus activity were disproportionately filtered. the lesson from Arbitrum was that hitting exactly the minimum requirements across every dimension is itself a pattern. organic users overshoot some criteria and undershoot others.
example three: zkSync Era airdrop, June 2024. this was numerically the largest sybil filtering event in dollar terms up to that point. the zkSync team ran their own internal clustering using both bridging data from their official bridge and activity data from native Era contracts. the specific patterns that got wallets excluded included: same-day funding from the same source address, identical sequences of contract interactions within 30-day windows, and wallet sets where all members had bridged within 48 hours of each other using the Orbiter Finance or official zkSync bridge with amounts in a narrow range. publicly available post-mortems from affected farmers on community forums identified the gas dispenser as the most common shared node in their clusters. one operator with around 200 wallets noted that all of them shared a single dispenser address that had sent gas to them across a two-week period. that single node connected all 200 wallets in the clustering graph despite them using four different bridges and varying their amounts.
edge cases and failure modes
using a mixer or privacy protocol as a one-size-fixes-all solution. tornado cash (now non-functional in most jurisdictions due to OFAC sanctions) and its successors are not neutral tools in this context. wallets that receive funds from known mixer contract addresses get flagged not for sybil activity specifically but for compliance reasons. several protocol teams have stated publicly that wallets with mixer funding are excluded categorically, before any sybil analysis runs. the OFAC SDN list includes Tornado Cash contracts, and many US-adjacent protocol teams auto-exclude any wallet with mixer interactions in its history. using a mixer to obscure sybil clustering creates a worse outcome, not a better one.
time-spreading that is not actually spread. a common mitigation is to run operations in “waves” over multiple days or weeks rather than in a single batch. this helps, but only if the waves are genuinely separated. running 50 wallets over five days, 10 per day at the same time each morning, is detectable as a schedule. the temporal clustering analysis works on relative timing within a cohort, not absolute dates. ten wallets all bridging at 09:00 UTC five days in a row are correlated by a different statistical test than ten wallets all bridging within an hour of each other, but both are detectable. actual variance in timing means wallets operating at genuinely different hours, on different days of the week, with some wallets being idle for extended periods.
bridge diversity that is superficial. swapping between Stargate, Hop Protocol, and Across Protocol across your wallet set looks more diverse, but if all three bridges are used in the same sequence (bridge to Arbitrum first, then to zkSync, then to Base) across all wallets, the route correlation still exists. diversity that matters is diversity in destination chains, in asset types bridged (not just ETH), in the order of operations, and in the intervals between bridging events. using three different bridges in the same order at the same time accomplishes very little.
the CEX withdrawal batch problem. some centralised exchanges process withdrawals in batches, which means your 10 separate withdrawals might all show up in the same block or within the same few blocks on-chain. even if the receiving addresses are different, the batch withdrawal creates a timing correlation at the source. exchanges that are known to do this include some smaller CEXes with less sophisticated withdrawal infrastructure. for high-stakes operations, using an exchange with real-time withdrawals or staging funds through an intermediate self-custodied wallet well in advance of farming activity is worth the friction.
on-chain activity padding that is too uniform. some operators respond to thin activity profiles by adding additional contract interactions: swapping on a DEX, providing a small LP position, interacting with a lending market. if this padding is applied with the same script to all wallets (same DEX, same pool, same amounts, same day), the padding itself becomes a clustering signal. wallets that all suddenly appear on Uniswap’s WETH/USDC pool at 0.1 ETH within the same 24-hour window, before bridging to a target chain, are not adding noise. they are adding another correlated edge to the graph.
what we learned in production
the most expensive lesson is that graph analysis is retroactive and total. you cannot run a sybil-proof operation if any historical node in your wallet graph connects clusters together. i have seen operations that were meticulously separated for six months compromised by a single early funding transaction where someone used the same address to seed two groups of wallets before the operational security practices were in place. protocol teams do not just analyse recent activity. they pull the full on-chain history of every wallet that interacts with their contract. if your wallets share any common ancestor address anywhere in their funding history, that edge exists in the graph.
the second thing i will note is that the self-reporting mechanisms protocols have used, LayerZero’s 15% settlement offer being the clearest example, are genuinely worth considering on a case-by-case basis. the expected value calculation depends on the probability of being caught via bounty hunters versus the cost of the reporting discount. in the LayerZero case, bounty hunters identified a very high proportion of the ultimately excluded wallets. for large operations where the cluster is objectively visible to anyone running a basic Dune query, the settlement offer is often the better outcome. this is not legal advice and the specifics vary by distribution, but the option should not be dismissed on principle.
practical wallet hygiene that actually helps: use Dune Analytics to audit your own clusters before a snapshot. write a query that groups your wallet addresses by common funding ancestors within three hops. if you see cohorts of more than two or three wallets sharing a node anywhere in that three-hop graph, you have a problem that needs to be resolved before the snapshot, not after. separating wallets at that point means fully severing the on-chain connection, which typically requires moving assets out, waiting for a clean period, and re-funding from a genuinely separate source.
for understanding how your browser and device fingerprint maps onto your wallet activity, the operational security practices covered at antidetectreview.org are worth reading alongside the on-chain analysis here. on-chain graph clustering and browser fingerprinting are separate detection vectors that can be used in combination, and the strongest operations manage both.
references and further reading
-
LayerZero ZRO Token Generation Event and Sybil Reporting Process , the public methodology and self-reporting mechanism from the LayerZero team, documented on their official site and announced via their foundation communications in May 2024.
-
OFAC Specially Designated Nationals List , the US Treasury’s SDN list, which includes Tornado Cash contracts. relevant for understanding which wallet histories trigger categorical exclusion before sybil analysis runs.
-
Nansen On-Chain Analytics Platform , entity labelling and wallet clustering tool used by protocol teams and researchers. their smart money and wallet profiler features are the practitioner interface for the clustering techniques described in this piece.
-
Dune Analytics , community SQL query platform for EVM chain data. the primary tool for running your own bridging cohort analysis before a snapshot.
-
Hop Protocol Bridge Documentation , Hop’s official documentation, useful for understanding how AMM-based bridges log events on-chain and what data is available for analysis at the contract level.
for more on the multi-account operational layer that sits beneath bridging activity, the guides at multiaccountops.com cover wallet management practices in more depth. for the proxy and IP-layer separation that complements on-chain graph hygiene, proxyscraping.org has relevant coverage.
related reading on this site:
- airdrop eligibility criteria: how protocols actually set thresholds
- gas cost accounting for multi-wallet farming operations
- how on-chain analytics platforms score wallet quality
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-22.