{"adoption": {"forks": 630, "observed_at": "2026-08-28T04:05:20.932215+00:00", "stars": 1677}, "canonical_url": "https://ross.abutalabs.com/products/tornado-core", "card": {"archived": true, "artifact_type": "application", "description": "Tornado cash. Non-custodial private transactions on Ethereum. ", "domain": ["blockchain", "privacy", "security"], "enriched": true, "function": ["cryptography", "security", "cli", "developer-tools"], "health_score": 10, "homepage": "https://tornado.cash", "language": "JavaScript", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["tornadocash/tornado-core"], "name": "tornadocash/tornado-core", "platform": ["cli"], "pushed_at": "2022-07-16T04:47:11+00:00", "repo": "tornadocash/tornado-core", "stars": 1677, "tags": ["ethereum", "zk-snarks", "zero-knowledge-proofs", "smart-contracts", "privacy", "defi", "erc20", "solidity", "cryptocurrency", "nodejs", "web-server"], "topics": [], "urls": [], "use_cases": ["make private ETH transactions on Ethereum", "break the link between sender and recipient addresses", "deposit and withdraw ERC20 tokens anonymously", "run a zkSNARK-based mixer locally via CLI", "integrate zero-knowledge deposit/withdrawal proofs into dapps"], "what_it_is": "Tornado Cash is a non-custodial privacy protocol for Ethereum and ERC20 tokens built on zkSNARKs, implemented as smart contracts with JavaScript tooling. It breaks the on-chain link between deposit and withdrawal addresses so transfers cannot be traced by external observers.", "when_to_avoid": ["you need privacy on non-EVM blockchains", "you require a custodial or hosted mixing service", "your project needs actively developed software - the repo has been in maintenance since 2022 and the protocol faces legal sanctions in some jurisdictions"], "when_to_choose": ["you need non-custodial transaction privacy on Ethereum", "you want audited zkSNARK smart contracts for mixing ETH or ERC20 tokens", "you need a serverless privacy solution with no trusted intermediary"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/tornado-core", "repo": "tornadocash/tornado-core", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.932215+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:41:38.240380+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca152011ce2e0bb19c03fb75bc1df38ab933e1ee62b9e7daf287a83c9595eae3", "fetched_at": "2026-08-28T04:05:20.932215+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tornadocash/tornado-core"}, {"content_hash": "721e9ea79b4a980c3586cd01060cfe39c02e0025cf0ace396c04481841f77c36", "fetched_at": "2026-08-29T11:15:25.048732+00:00", "kind": "homepage", "missing": false, "url": "https://tornado.cash"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.932215+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:41:38.240380+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca152011ce2e0bb19c03fb75bc1df38ab933e1ee62b9e7daf287a83c9595eae3", "fetched_at": "2026-08-28T04:05:20.932215+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tornadocash/tornado-core"}, {"content_hash": "721e9ea79b4a980c3586cd01060cfe39c02e0025cf0ace396c04481841f77c36", "fetched_at": "2026-08-29T11:15:25.048732+00:00", "kind": "homepage", "missing": false, "url": "https://tornado.cash"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:41:38.240380+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca152011ce2e0bb19c03fb75bc1df38ab933e1ee62b9e7daf287a83c9595eae3", "fetched_at": "2026-08-28T04:05:20.932215+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tornadocash/tornado-core"}, {"content_hash": "721e9ea79b4a980c3586cd01060cfe39c02e0025cf0ace396c04481841f77c36", "fetched_at": "2026-08-29T11:15:25.048732+00:00", "kind": "homepage", "missing": false, "url": "https://tornado.cash"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.932215+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.932215+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.932215+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:41:38.240380+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca152011ce2e0bb19c03fb75bc1df38ab933e1ee62b9e7daf287a83c9595eae3", "fetched_at": "2026-08-28T04:05:20.932215+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tornadocash/tornado-core"}, {"content_hash": "721e9ea79b4a980c3586cd01060cfe39c02e0025cf0ace396c04481841f77c36", "fetched_at": "2026-08-29T11:15:25.048732+00:00", "kind": "homepage", "missing": false, "url": "https://tornado.cash"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.932215+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.932215+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:41:38.240380+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca152011ce2e0bb19c03fb75bc1df38ab933e1ee62b9e7daf287a83c9595eae3", "fetched_at": "2026-08-28T04:05:20.932215+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tornadocash/tornado-core"}, {"content_hash": "721e9ea79b4a980c3586cd01060cfe39c02e0025cf0ace396c04481841f77c36", "fetched_at": "2026-08-29T11:15:25.048732+00:00", "kind": "homepage", "missing": false, "url": "https://tornado.cash"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.932215+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.932215+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.932215+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:41:38.240380+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca152011ce2e0bb19c03fb75bc1df38ab933e1ee62b9e7daf287a83c9595eae3", "fetched_at": "2026-08-28T04:05:20.932215+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tornadocash/tornado-core"}, {"content_hash": "721e9ea79b4a980c3586cd01060cfe39c02e0025cf0ace396c04481841f77c36", "fetched_at": "2026-08-29T11:15:25.048732+00:00", "kind": "homepage", "missing": false, "url": "https://tornado.cash"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.932215+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.932215+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:41:38.240380+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca152011ce2e0bb19c03fb75bc1df38ab933e1ee62b9e7daf287a83c9595eae3", "fetched_at": "2026-08-28T04:05:20.932215+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tornadocash/tornado-core"}, {"content_hash": "721e9ea79b4a980c3586cd01060cfe39c02e0025cf0ace396c04481841f77c36", "fetched_at": "2026-08-29T11:15:25.048732+00:00", "kind": "homepage", "missing": false, "url": "https://tornado.cash"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:41:38.240380+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca152011ce2e0bb19c03fb75bc1df38ab933e1ee62b9e7daf287a83c9595eae3", "fetched_at": "2026-08-28T04:05:20.932215+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tornadocash/tornado-core"}, {"content_hash": "721e9ea79b4a980c3586cd01060cfe39c02e0025cf0ace396c04481841f77c36", "fetched_at": "2026-08-29T11:15:25.048732+00:00", "kind": "homepage", "missing": false, "url": "https://tornado.cash"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:41:38.240380+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca152011ce2e0bb19c03fb75bc1df38ab933e1ee62b9e7daf287a83c9595eae3", "fetched_at": "2026-08-28T04:05:20.932215+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tornadocash/tornado-core"}, {"content_hash": "721e9ea79b4a980c3586cd01060cfe39c02e0025cf0ace396c04481841f77c36", "fetched_at": "2026-08-29T11:15:25.048732+00:00", "kind": "homepage", "missing": false, "url": "https://tornado.cash"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:41:38.240380+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca152011ce2e0bb19c03fb75bc1df38ab933e1ee62b9e7daf287a83c9595eae3", "fetched_at": "2026-08-28T04:05:20.932215+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tornadocash/tornado-core"}, {"content_hash": "721e9ea79b4a980c3586cd01060cfe39c02e0025cf0ace396c04481841f77c36", "fetched_at": "2026-08-29T11:15:25.048732+00:00", "kind": "homepage", "missing": false, "url": "https://tornado.cash"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2612, "days_push": 1509, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}