{"adoption": {"forks": 1313, "observed_at": "2026-08-28T04:06:58.684261+00:00", "stars": 2527}, "canonical_url": "https://ross.abutalabs.com/products/v4-core", "card": {"archived": false, "artifact_type": "library", "description": "🦄 🦄 🦄 🦄 Core smart contracts of Uniswap v4", "domain": ["blockchain", "fintech"], "enriched": true, "function": ["blockchain", "sdk"], "health_score": 78, "homepage": "https://blog.uniswap.org/uniswap-v4", "language": "Solidity", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["Uniswap/v4-core"], "name": "Uniswap/v4-core", "platform": [], "pushed_at": "2026-04-24T19:50:04+00:00", "repo": "Uniswap/v4-core", "stars": 2527, "tags": ["uniswap", "defi", "automated-market-maker", "smart-contracts", "solidity", "hooks", "singleton-architecture", "liquidity-pools", "decentralized-exchange", "cryptocurrency", "ethereum", "evm"], "topics": [], "urls": [], "use_cases": ["deploy custom AMM pools with hook-based logic on EVM chains", "build a decentralized exchange using Uniswap v4 pool primitives", "implement dynamic fees, limit orders, or TWAMM strategies via pool hooks", "integrate token swapping and liquidity provision into a DeFi protocol", "audit or fork the core pool logic of Uniswap v4", "create and manage concentrated liquidity positions programmatically"], "what_it_is": "Uniswap v4-core is the set of core Solidity smart contracts implementing the Uniswap v4 automated market maker protocol, including the singleton PoolManager contract that manages all pool state and actions like swapping, liquidity modification, and donations. It introduces a hook system that allows developers to attach custom contracts to pools, executing logic at various points in the pool lifecycle (e.g., before/after swaps or liquidity changes).", "when_to_avoid": ["you just want to swap tokens from a frontend without writing smart contracts (use the Uniswap SDK or API instead)", "you need a ready-made user interface or router (see v4-periphery or the Uniswap interface)", "you are building on a non-EVM blockchain", "you require a stable, long-frozen contract version and cannot tolerate draft-stage code changes"], "when_to_choose": ["you need the foundational, trust-minimized pool logic for building on Uniswap v4", "you want to leverage the singleton architecture and hook system for custom AMM behavior", "you are a protocol developer integrating directly with Uniswap v4 onchain primitives", "you need gas-efficient, audited core contracts for a decentralized exchange"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/v4-core", "repo": "Uniswap/v4-core", "role": "main", "score": 58}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:58.684261+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:25:24.219609+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "07177c5150a53923007017505607904fe28569c08463f4d955638c08bdd3e28f", "fetched_at": "2026-08-28T04:06:58.684261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Uniswap/v4-core"}, {"content_hash": "9cf249a54d2c90e74db3359e5cea0337608e1d4336b2decca3efd644a67a1796", "fetched_at": "2026-08-29T10:07:52.904584+00:00", "kind": "homepage", "missing": false, "url": "https://blog.uniswap.org/uniswap-v4"}, {"content_hash": "07d9ef5c24c77cb8a920f52eb7df81d5b94b72b0e5acdee82af4166fa186d325", "fetched_at": "2026-08-29T10:07:52.913911+00:00", "kind": "site_page", "missing": false, "url": "https://docs.uniswap.org/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:58.684261+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:25:24.219609+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "07177c5150a53923007017505607904fe28569c08463f4d955638c08bdd3e28f", "fetched_at": "2026-08-28T04:06:58.684261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Uniswap/v4-core"}, {"content_hash": "9cf249a54d2c90e74db3359e5cea0337608e1d4336b2decca3efd644a67a1796", "fetched_at": "2026-08-29T10:07:52.904584+00:00", "kind": "homepage", "missing": false, "url": "https://blog.uniswap.org/uniswap-v4"}, {"content_hash": "07d9ef5c24c77cb8a920f52eb7df81d5b94b72b0e5acdee82af4166fa186d325", "fetched_at": "2026-08-29T10:07:52.913911+00:00", "kind": "site_page", "missing": false, "url": "https://docs.uniswap.org/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:25:24.219609+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "07177c5150a53923007017505607904fe28569c08463f4d955638c08bdd3e28f", "fetched_at": "2026-08-28T04:06:58.684261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Uniswap/v4-core"}, {"content_hash": "9cf249a54d2c90e74db3359e5cea0337608e1d4336b2decca3efd644a67a1796", "fetched_at": "2026-08-29T10:07:52.904584+00:00", "kind": "homepage", "missing": false, "url": "https://blog.uniswap.org/uniswap-v4"}, {"content_hash": "07d9ef5c24c77cb8a920f52eb7df81d5b94b72b0e5acdee82af4166fa186d325", "fetched_at": "2026-08-29T10:07:52.913911+00:00", "kind": "site_page", "missing": false, "url": "https://docs.uniswap.org/"}], "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:06:58.684261+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:58.684261+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:58.684261+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:25:24.219609+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "07177c5150a53923007017505607904fe28569c08463f4d955638c08bdd3e28f", "fetched_at": "2026-08-28T04:06:58.684261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Uniswap/v4-core"}, {"content_hash": "9cf249a54d2c90e74db3359e5cea0337608e1d4336b2decca3efd644a67a1796", "fetched_at": "2026-08-29T10:07:52.904584+00:00", "kind": "homepage", "missing": false, "url": "https://blog.uniswap.org/uniswap-v4"}, {"content_hash": "07d9ef5c24c77cb8a920f52eb7df81d5b94b72b0e5acdee82af4166fa186d325", "fetched_at": "2026-08-29T10:07:52.913911+00:00", "kind": "site_page", "missing": false, "url": "https://docs.uniswap.org/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:58.684261+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:58.684261+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:25:24.219609+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "07177c5150a53923007017505607904fe28569c08463f4d955638c08bdd3e28f", "fetched_at": "2026-08-28T04:06:58.684261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Uniswap/v4-core"}, {"content_hash": "9cf249a54d2c90e74db3359e5cea0337608e1d4336b2decca3efd644a67a1796", "fetched_at": "2026-08-29T10:07:52.904584+00:00", "kind": "homepage", "missing": false, "url": "https://blog.uniswap.org/uniswap-v4"}, {"content_hash": "07d9ef5c24c77cb8a920f52eb7df81d5b94b72b0e5acdee82af4166fa186d325", "fetched_at": "2026-08-29T10:07:52.913911+00:00", "kind": "site_page", "missing": false, "url": "https://docs.uniswap.org/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:58.684261+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:58.684261+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:58.684261+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:25:24.219609+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "07177c5150a53923007017505607904fe28569c08463f4d955638c08bdd3e28f", "fetched_at": "2026-08-28T04:06:58.684261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Uniswap/v4-core"}, {"content_hash": "9cf249a54d2c90e74db3359e5cea0337608e1d4336b2decca3efd644a67a1796", "fetched_at": "2026-08-29T10:07:52.904584+00:00", "kind": "homepage", "missing": false, "url": "https://blog.uniswap.org/uniswap-v4"}, {"content_hash": "07d9ef5c24c77cb8a920f52eb7df81d5b94b72b0e5acdee82af4166fa186d325", "fetched_at": "2026-08-29T10:07:52.913911+00:00", "kind": "site_page", "missing": false, "url": "https://docs.uniswap.org/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:58.684261+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:58.684261+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:25:24.219609+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "07177c5150a53923007017505607904fe28569c08463f4d955638c08bdd3e28f", "fetched_at": "2026-08-28T04:06:58.684261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Uniswap/v4-core"}, {"content_hash": "9cf249a54d2c90e74db3359e5cea0337608e1d4336b2decca3efd644a67a1796", "fetched_at": "2026-08-29T10:07:52.904584+00:00", "kind": "homepage", "missing": false, "url": "https://blog.uniswap.org/uniswap-v4"}, {"content_hash": "07d9ef5c24c77cb8a920f52eb7df81d5b94b72b0e5acdee82af4166fa186d325", "fetched_at": "2026-08-29T10:07:52.913911+00:00", "kind": "site_page", "missing": false, "url": "https://docs.uniswap.org/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:25:24.219609+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "07177c5150a53923007017505607904fe28569c08463f4d955638c08bdd3e28f", "fetched_at": "2026-08-28T04:06:58.684261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Uniswap/v4-core"}, {"content_hash": "9cf249a54d2c90e74db3359e5cea0337608e1d4336b2decca3efd644a67a1796", "fetched_at": "2026-08-29T10:07:52.904584+00:00", "kind": "homepage", "missing": false, "url": "https://blog.uniswap.org/uniswap-v4"}, {"content_hash": "07d9ef5c24c77cb8a920f52eb7df81d5b94b72b0e5acdee82af4166fa186d325", "fetched_at": "2026-08-29T10:07:52.913911+00:00", "kind": "site_page", "missing": false, "url": "https://docs.uniswap.org/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:25:24.219609+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "07177c5150a53923007017505607904fe28569c08463f4d955638c08bdd3e28f", "fetched_at": "2026-08-28T04:06:58.684261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Uniswap/v4-core"}, {"content_hash": "9cf249a54d2c90e74db3359e5cea0337608e1d4336b2decca3efd644a67a1796", "fetched_at": "2026-08-29T10:07:52.904584+00:00", "kind": "homepage", "missing": false, "url": "https://blog.uniswap.org/uniswap-v4"}, {"content_hash": "07d9ef5c24c77cb8a920f52eb7df81d5b94b72b0e5acdee82af4166fa186d325", "fetched_at": "2026-08-29T10:07:52.913911+00:00", "kind": "site_page", "missing": false, "url": "https://docs.uniswap.org/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:25:24.219609+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "07177c5150a53923007017505607904fe28569c08463f4d955638c08bdd3e28f", "fetched_at": "2026-08-28T04:06:58.684261+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Uniswap/v4-core"}, {"content_hash": "9cf249a54d2c90e74db3359e5cea0337608e1d4336b2decca3efd644a67a1796", "fetched_at": "2026-08-29T10:07:52.904584+00:00", "kind": "homepage", "missing": false, "url": "https://blog.uniswap.org/uniswap-v4"}, {"content_hash": "07d9ef5c24c77cb8a920f52eb7df81d5b94b72b0e5acdee82af4166fa186d325", "fetched_at": "2026-08-29T10:07:52.913911+00:00", "kind": "site_page", "missing": false, "url": "https://docs.uniswap.org/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 79, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1763, "days_push": 131, "days_rel": 587, "gap_med": null, "n_releases_24m": 1}, "score": 58, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}