AggregatorsLive

Best wallet labeling API provider

Share of well-known addresses each provider correctly labels with an entity (CEX, DEX, multisig, sanctioned, etc.), split by EOA vs contract.

Read this carefully

Coverage means the provider returned a non-empty label for the probed address, it says nothing about label quality or correctness. Read the EOA vs contract split before concluding: a provider can look strong overall while only labeling contracts (verified-source names) and missing every wallet. The Success column is fetch reliability (share of API calls that did not error), not labeling accuracy.

This benchmark answers the question that decides whether a wallet labeling API is worth integrating. given a publicly-known address, does the API actually identify it. Arkham and Nansen own the consumer visualization layer; the builder side of the question lives elsewhere, in the labeling APIs wallets, portfolio trackers and AML flows hit under the hood. The harness pushes ~180 curated anchor addresses (CEX hot wallets, DEX routers, Safe multisigs, OFAC SDN, public figures, verified smart contracts) into a queue every 30 minutes and asks each provider for an entity name. The leaderboard splits the result by address kind because the two jobs measure different things. Contract identification asks whether the provider returns the name of a verified smart contract (Uniswap V3 router, WETH9, Aave V3 pool). Any chain explorer that reads verified source code passes this trivially, so Blockscout saturates near 100% on every chain it indexes. EOA identification asks whether the provider resolves an externally-owned account to a curated entity name (Binance hot wallet 14, Vitalik Buterin, OFAC SDN address). EOAs carry no on-chain signal at all, the answer has to come from a curated graph, which is where Mobula, Helius, TonAPI, StellarExpert and the chain specialists actually compete. The Kind tab at the top of the page switches between the two. Hits count only when the response is a meaningful name, generic fillers like "EOA", "Contract" or "Wallet" are excluded because they carry no entity signal. Coverage is also reported per chain so chain-specialists (Helius on Solana, TonAPI on Gram, StellarExpert on Stellar, XRPScan on XRP, WalletExplorer on Bitcoin) are not unfairly penalised for chains they do not claim to cover. Universal providers (Mobula, Moralis, Blockscout, OLI) are scored on every chain they advertise.

Methodology

We benchmark how well each major wallet-labeling provider identifies a curated sample of publicly-known addresses across 11 chains. The harness pushes ~180 rotating anchor addresses (Etherscan public name tags, OFAC SDN list, Safe multisigs, DEX routers, public figures, verified smart contracts) onto a queue and asks every supported provider for an entity label. A provider scores a hit when it returns a non-generic entity name; categorical fillers like "EOA" or "Contract" don't count. Coverage is split by address kind because the two jobs are very different. Contract identification asks whether the provider returns the name of a verified smart contract (Uniswap V3 router, WETH9, Aave V3 pool). Any chain explorer that reads verified source code passes this trivially. EOA identification asks whether the provider resolves an externally-owned account to a curated entity name (Binance hot wallet 14, Vitalik Buterin, an OFAC SDN address). EOAs carry no on-chain signal, the answer comes from a curated knowledge graph. The Kind tab on the page switches between the two views so the contract-easy providers and the entity-curated providers are no longer averaged into one number. Coverage is also shown per chain. Some providers cover 90+ chains (Mobula), others are chain-specialists (Helius for Solana, TonAPI for Gram, StellarExpert for Stellar, XRPScan for XRP, WalletExplorer for Bitcoin). Showing per-chain rather than aggregating prevents specialists from being unfairly penalized for chains they don't claim to cover.

Frequently asked

Which wallet labeling API has the best coverage right now?

Helius currently leads the active chain tab at 84.1% (24 h) across 9 measured providers. The leaderboard re-sorts every 30 minutes against fresh Prometheus samples, so the answer reflects the last 24 hours of live audits against ~180 curated anchor addresses, not a marketing-page claim. The Kind tab at the top of the page switches between EOA coverage (entity identification on plain wallets) and contract coverage (smart-contract name resolution); the right answer depends which job your product is doing.

What is the difference between EOA and contract coverage on this benchmark?

Two different jobs, two different scores. Contract coverage measures whether the provider returns a name for a verified smart contract (Uniswap V3 router, WETH9, Aave V3 pool). The name lives in the contract's verified source code, so any chain explorer that indexes verified contracts will saturate near 100% on this tab. EOA coverage measures whether the provider resolves an externally-owned account (a plain wallet, no code) to a curated entity name (`Binance hot wallet 14`, `Vitalik Buterin`, an OFAC SDN address). EOAs carry no on-chain signal at all, the name has to come from a curated knowledge graph. The EOA tab is the honest comparison between Mobula's, Moralis's, Helius's, TonAPI's etc. label graphs; the Contract tab is the comparison between Blockscout's and other explorers' verified-source pipelines. The bench previously averaged the two together, which mechanically favoured explorers over entity-graph APIs.

What does 'wallet labeling' mean in a crypto API?

A wallet labeling API takes an address and returns an entity name. The CEX it belongs to (`Binance hot wallet 14`), the protocol (`Uniswap V3 router`), the multisig owner (`Safe: foundation treasury`), the sanctioned status (`OFAC SDN`), or a public-figure tag (`Vitalik Buterin`). Generic categorical labels like `EOA`, `Contract`, `Wallet` are not considered a hit on this benchmark because they carry no entity signal.

Is Mobula's labels API better than Moralis or Helius?

It depends on the chain and on the kind. Mobula is a universal provider audited on every chain it advertises and currently returns 43.2% on the active tab. Helius is Solana-only and dominates that chain because its label graph is curated against native Solana programs. Moralis is EVM-centric and trails on Gram, Stellar, XRP and Bitcoin. The Kind = EOA tab is where curated entity graphs (Mobula, Helius, chain specialists) actually compete; the Kind = Contract tab favours explorers like Blockscout because they read verified source code for free.

What is the alternative to Arkham or Nansen for builders?

Arkham and Nansen own the consumer visualization layer (browse-the-web-of-onchain-money). The builder side of the question, the API integrated under the hood by wallets, portfolio trackers and AML flows, lives elsewhere. Mobula, Helius, Moralis, Blockscout, OLI, TonAPI, StellarExpert, XRPScan and WalletExplorer are the labeling APIs benchmarked here. Pick the one whose coverage matches the chains your product touches and whose response shape fits your integration latency budget.

How does OpenChainBench measure wallet label coverage?

The harness maintains a curated list of ~180 publicly-known anchor addresses (CEX hot wallets, DEX routers, Safe multisigs, OFAC SDN, public figures, verified smart contracts) rotated quarterly from public sources (Etherscan public name tags, Treasury OFAC list, Safe registry). Each anchor is tagged with a kind (contract or eoa) at curation time using an on-chain code probe. Every 30 minutes each address is pushed to every provider that declares support for its chain. A `hit` is recorded only when the response is a non-generic entity name. Coverage is `success_total / checks_total` over 24 hours, sliced per chain AND per kind so chain-specialists are not penalised on chains they do not claim to cover, and the contract-name signal does not get conflated with the entity-curation signal.

Why does Blockscout score so well on coverage?

Blockscout reads verified contract source code on every chain it indexes. For any verified smart contract (Uniswap V3 router, an Aave pool, the WETH9 contract) the contract's source already contains a constructor name like `Aave V3 Pool` or `Uniswap V3 Router`, so Blockscout returns it for free without curating anything. That's why it saturates near 100% on the Contract tab. On the EOA tab Blockscout drops sharply because EOAs have no source code to read, the entity name has to come from a curated `public_tags` table which is chain-instance-specific and far less complete. The bench used to average the two jobs into one number, which made Blockscout look stronger than it actually is at the entity-curation job. The Kind tab separates the two so each provider is judged on the job it actually does.

Which wallet labeling API has the best Solana coverage?

Helius returns 84.1% on Solana. Chain-specialists dominate their home chain because their label graph is curated against native protocols (Jito stake pools, Jupiter routers, Pump.fun creators, Magic Eden marketplace programs) rather than translated from an EVM-shaped schema. Universal providers (Mobula, Moralis) are also audited on Solana, but switch the chain tab to Solana to see the direct comparison rather than the cross-chain average.

Source code github.com/ChainBench/OpenChainBench/tree/main/harnesses/wallet-labels