Numbers explained

21 questions and answers about the figures on this site: what each one counts, where it comes from and how often it is updated. Each answer names the code or data file it is written from, and links to the page that shows the figure.

The totals on the overview

What counts as private DeFi TVL?

The total value locked (TVL) that DefiLlama reports for each protocol on the Protocols page that counts in the totals (26 of the 49 tracked on 29 Oct 2026), added up. A protocol counts unless it is marked as excluded, is past the date its service ended, or has one of the statuses inactive, sunset, deprecated, exploited or no reliable data. The headline figure leaves out Tornado Cash.

From: src/compute.mjs (isCountedNow) and src/model.mjs; TVL from DefiLlama.

Why is Tornado Cash left out by default?

Because Tornado Cash holds most of the total, and its value moves mainly with the price of ETH. The overview shows the total with Tornado Cash beside the headline figure, and its chart has an Include Tornado Cash switch. Tornado Cash is still tracked, and its own figures are on its profile.

From: The note under the TVL chart on the overview (src/render.mjs).

How is the privacy-asset float worked out?

It is the combined market cap of a basket of privacy coins: Zcash, Monero, Decred, Zano, Pirate Chain, Verge and Firo, charted on the overview. The current value adds up each coin's market cap from DefiLlama, refreshed every five minutes; the daily history comes from Coin Metrics Community Data. The basket follows a written rule: "Coins in CoinGecko's Privacy Coins category that have protocol-level transaction privacy and a market cap above $15M at the last review. Reviewed quarterly." It was last reviewed on 9 Oct 2026.

From: config/assets.json and src/model.mjs.

What is PriFi penetration?

Private DeFi TVL (without Tornado Cash) divided by the privacy-asset float, charted on the overview. It is a ratio of two separate measures, and shows how much value sits in private DeFi relative to the value of privacy coins.

From: The PriFi penetration tile and its chart note (web/views.mjs, src/render.mjs).

What is the private share of DeFi?

Private DeFi TVL as a share of the TVL of all DeFi that DefiLlama tracks across every chain, charted on the overview. Like the headline TVL, it leaves out Tornado Cash, and the tile also gives the share with it.

From: src/defishare.mjs; both figures from DefiLlama.

Why do some protocols show no 7-day or 30-day change?

A change in the table on the Protocols page is shown only for a protocol that counts in the totals and had at least a week of history before the day it is compared with. Balances in a protocol's first week make percentage changes meaningless, so newer protocols show none until their history is long enough.

From: src/model.mjs (changeOver).

Does a new DefiLlama Privacy listing count straight away?

No. The daily job finds protocols that DefiLlama adds to its Privacy category and puts them in a review queue. They appear on the Changes page as new listings, and are added to the protocol list and the totals only after PriFi.info has reviewed them.

From: src/jobs.mjs (step 4 of the daily job) and src/changelog.mjs.

Privacy coins

Why does Monero have no TVL?

TVL (total value locked) measures the money sitting in private pools and in the wrappers behind confidential tokens, as How it works explains. Monero is a coin with its own blockchain, and its transactions are private by default, so there is no pool to measure. Monero is counted in the privacy-asset float by its market cap instead, and its profile shows that figure. Zcash is treated the same way, with its shielded supply as a separate measure.

From: config/assets.json (Monero: "Private by default") and src/profiles.mjs (market cap for a coin).

What is Zcash shielded supply?

The ZEC held in all of Zcash's shielded pools (Sprout, Sapling, Orchard and Ironwood), out of public view, and its share of the total supply, charted on the overview. The live value comes from ZecStats, with ZcashInfo as the fallback, every five minutes; the daily history since October 2018 comes from zeczcash.com.

From: The Zcash shielded supply tile and src/jobs.mjs (the live job).

What does the Monero ring size mean?

Monero hides each coin it spends among decoys picked from earlier outputs on the chain. The ring size is how many members each ring must have under the consensus rules: 16, the real one and 15 decoys. The Anonymity sets page charts it with the number of RingCT outputs on the chain.

From: config/anonymity.json (monero.ringSize) and src/anonymity.mjs.

Activity, anonymity sets and the live ticker

How are anonymity set figures measured?

Once a day the site reads each project's own contracts and nodes: deposits and unspent notes in the Tornado Cash pools, note commitments in Railgun, Zcash and Privacy Cash, deposits in Privacy Pools, the ZEC in each Zcash pool, and Monero's ring size and outputs. The units differ between designs, so the figures are not directly comparable across protocols; the Anonymity sets page says what they do not tell you.

From: src/anonymity.mjs and data/anonymity.json.

What does the live ticker count?

The live ticker shows transactions as public nodes and block explorers report them on six chains (Ethereum, Monero, Zcash, Solana, Liquid and Aztec), and new blocks on Monero and Aztec. It keeps the newest 300 events, holds no addresses, and shows amounts only for the fixed amounts of Tornado Cash pools and fully transparent Zcash transactions. The events are deleted after seven days. It does not count users.

From: src/ticker.mjs, web/ticker-view.mjs and the live ticker files on the Data page.

Where do the daily activity counts come from?

From the sources each chart on the Activity page names: Coin Metrics Community Data for Monero and Zcash transactions, Railgun's indexers, the Ethereum chain for Tornado Cash, 0xbow's API for Privacy Pools, Solana's public RPC for Privacy Cash and Aztecscan for Aztec. A day is counted once it is complete in UTC.

From: src/activity-collect.mjs and the Sources page.

Exchanges and rules

How does the exchange check work?

Once a day the site asks each exchange's own public market API which of the seven coins it lists for spot trading (14 exchanges: Binance, Coinbase, Kraken, OKX, Bybit, Bitget, KuCoin, Gate, HTX, MEXC, Gemini, Bitfinex, Crypto.com and Upbit). It keeps only whether each coin is listed and the names of its pairs, not prices or volumes. An exchange that does not answer counts with its last answer of the previous seven days. A coin found trading where the exchange table says it is not, or not found where the table says it trades, is logged on the Changes page; the table itself changes only after review.

From: src/listing-check.mjs, src/jobs.mjs (step 5 of the daily job) and config/access.json.

What do the statuses in the exchange table mean?

Each cell of the table on Access and rules gives one coin on one exchange: Listed, Restricted, Delisted, Never listed and Unknown, each with its sources. Restricted means listed but not for everyone, with the regions given in the cell. A listing on this site is not an endorsement of the exchange or the coin.

From: config/access.json, checked 13 Oct 2026.

What do the levels on the map mean?

On the map on Access and rules, each of the 73 jurisdictions has its strongest rule on privacy coins and mixers, from the most to the least severe: Crypto trading barred, Exchanges barred from listing, Exchange bar scheduled, Delisted under pressure, Mixers targeted and No restriction found. EU members without an entry of their own follow the European Union's. Each entry gives its sources and the date it took effect.

From: config/rules.json, checked 13 Oct 2026.

What do the confidence levels mean?

Confirmed: a primary source states it. Reported: it rests on secondary sources only, such as press reports. Not verified: it rests on inference or on the absence of evidence. Entries on Access and rules and the Timeline carry these labels.

From: LABELS.confidence in src/access.mjs.

Updates and sources

How often is the data updated?

Every five minutes: Zcash shielded supply and the market caps of the privacy coins. Every hour, from 12 minutes past: the current TVL of each counted protocol, the total TVL of all DeFi, the change log and every page. Every day after 01:20 UTC: the full TVL and market cap histories, Zcash's shielded history, new DefiLlama Privacy listings, the exchange check, the activity counts, the anonymity sets and the Bitcoin privacy figures. Each figure shows when it was observed, and the Sources page shows when each source was last fetched.

From: src/daemon.mjs and src/jobs.mjs.

Why are some changes dated after the event?

Exchange changes and country rules carry the date of the event itself. Changes found by the hourly comparison, such as a new protocol status, or by the daily exchange check carry the day they were found, which can be a little after the event. The Changes page says which is which.

From: src/changelog.mjs.

What is in a protocol profile?

The 23 profiles give a project's mechanism, what it hides and what it does not, its token, team, audits, incidents, milestones and funding, each with its sources and the day it was checked. The Compare page puts two or three of them side by side.

From: config/profiles/*.json and src/profiles.mjs.

Can I reuse the data?

Yes, for non-commercial purposes and with credit: the Data page offers CSV and JSON files under CC BY-NC 4.0, with the credits each source asks for. TVL figures stay under DefiLlama's terms. Changes are also available as RSS feeds, one for the whole site and one for each topic.

From: src/data.mjs and the Sources page.