{"adoption": {"forks": 238, "observed_at": "2026-08-28T04:03:42.374566+00:00", "stars": 1130}, "canonical_url": "https://ross.abutalabs.com/products/bulletproofs", "card": {"archived": false, "artifact_type": "library", "description": " A pure-Rust implementation of Bulletproofs using Ristretto.", "domain": ["privacy", "blockchain"], "enriched": true, "function": ["cryptography", "security"], "health_score": 20, "homepage": null, "language": "Rust", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["dalek-cryptography/bulletproofs"], "name": "dalek-cryptography/bulletproofs", "platform": ["rust", "cross-platform"], "pushed_at": "2024-07-23T19:30:43+00:00", "repo": "dalek-cryptography/bulletproofs", "stars": 1130, "tags": ["zero-knowledge-proofs", "bulletproofs", "range-proofs", "ristretto", "multiparty-computation", "zk-snarks", "cryptography", "algorithms"], "topics": [], "urls": [], "use_cases": ["generate zero-knowledge range proofs for confidential transactions", "aggregate range proofs across multiple parties", "prove statements with rank-1 constraint systems", "build privacy-preserving blockchain transactions", "compose zero-knowledge proofs with other Merlin-based protocols"], "what_it_is": "A pure-Rust implementation of Bulletproofs zero-knowledge range proofs using the Ristretto group over Curve25519. It supports single and aggregated range proofs, multiparty computation with session types, and an experimental programmable constraint system API.", "when_to_avoid": ["you need a stable constraint system API for production (it is experimental)", "you need general-purpose SNARKs rather than Bulletproofs", "your stack is not Rust"], "when_to_choose": ["you need fast Bulletproofs range proofs in Rust", "you want multiparty proof aggregation with statically enforced protocol flow", "you need proofs composable via Merlin transcripts", "you prefer Ristretto over secp256k1 for performance"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/bulletproofs", "repo": "dalek-cryptography/bulletproofs", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:42.374566+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:38:14.561722+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fd484358df257d01ba8a6508b2cf69113bad776072b15dc8e944a2233cacdc2a", "fetched_at": "2026-08-28T04:03:42.374566+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dalek-cryptography/bulletproofs"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:42.374566+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:38:14.561722+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fd484358df257d01ba8a6508b2cf69113bad776072b15dc8e944a2233cacdc2a", "fetched_at": "2026-08-28T04:03:42.374566+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dalek-cryptography/bulletproofs"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:38:14.561722+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fd484358df257d01ba8a6508b2cf69113bad776072b15dc8e944a2233cacdc2a", "fetched_at": "2026-08-28T04:03:42.374566+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dalek-cryptography/bulletproofs"}], "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:03:42.374566+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:42.374566+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:42.374566+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:38:14.561722+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fd484358df257d01ba8a6508b2cf69113bad776072b15dc8e944a2233cacdc2a", "fetched_at": "2026-08-28T04:03:42.374566+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dalek-cryptography/bulletproofs"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:42.374566+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:42.374566+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:38:14.561722+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fd484358df257d01ba8a6508b2cf69113bad776072b15dc8e944a2233cacdc2a", "fetched_at": "2026-08-28T04:03:42.374566+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dalek-cryptography/bulletproofs"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:42.374566+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:42.374566+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:42.374566+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:38:14.561722+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fd484358df257d01ba8a6508b2cf69113bad776072b15dc8e944a2233cacdc2a", "fetched_at": "2026-08-28T04:03:42.374566+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dalek-cryptography/bulletproofs"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:42.374566+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:42.374566+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:38:14.561722+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fd484358df257d01ba8a6508b2cf69113bad776072b15dc8e944a2233cacdc2a", "fetched_at": "2026-08-28T04:03:42.374566+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dalek-cryptography/bulletproofs"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:38:14.561722+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fd484358df257d01ba8a6508b2cf69113bad776072b15dc8e944a2233cacdc2a", "fetched_at": "2026-08-28T04:03:42.374566+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dalek-cryptography/bulletproofs"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:38:14.561722+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fd484358df257d01ba8a6508b2cf69113bad776072b15dc8e944a2233cacdc2a", "fetched_at": "2026-08-28T04:03:42.374566+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dalek-cryptography/bulletproofs"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:38:14.561722+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fd484358df257d01ba8a6508b2cf69113bad776072b15dc8e944a2233cacdc2a", "fetched_at": "2026-08-28T04:03:42.374566+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dalek-cryptography/bulletproofs"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3135, "days_push": 771, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}