Launch tokens that work the way you imagine.
Open launch-model infrastructure for Uniswap v4 on Ethereum.
Launch · Models · Build a model · Ethereum · Security · X
Programmable turns versioned Uniswap v4 contracts into launch flows that do not require a creator to write Solidity. Each model defines the token, pool, fee accounting, liquidity custody and hook behavior as one reviewable release.
This repository is the public record behind the interface. A model is marked Available only when its exact source, tests, parameters, Ethereum deployment and security status are published here.
flowchart LR
creator["Creator"] --> interface["Programmable"]
interface --> registry["Choose an available model"]
registry --> wallet["Review and sign"]
wallet --> pool["Token + Uniswap v4 pool"]
registry --> evidence["Source + tests + release evidence"]
The interface handles setup. The selected model determines the onchain behavior. Adding a new model does not silently change a model that has already been deployed.
| Record | What it establishes | Canonical path |
|---|---|---|
| Model registry | Current lifecycle status and documentation | models/registry.json |
| Model manifest | Release, network, contracts and review state | models/<model>/model.json |
| Contract source | Hook, launcher and custody behavior | src/ |
| Test evidence | Unit, integration, fuzz, invariant and regression coverage | test/ |
| Fixed parameters | Compiler, dependencies and model settings | spec/ |
| Release manifest | Evidence bound to one technical release | releases/ |
| Ethereum deployment | Addresses, transactions, runtime hashes and explorer status | deployments/ethereum.json |
| Security record | Trust boundaries, known limitations and review status | SECURITY.md |
The registry is machine-checked in CI. Available releases are checked for consistent identifiers, evidence paths, addresses and runtime hashes. A scheduled workflow compares every published runtime hash with Ethereum.
Open source code makes behavior inspectable. It is not a security guarantee.
flowchart LR
design["Design<br/>behavior and open risks"] --> candidate["Candidate<br/>source and complete tests"]
candidate --> available["Available<br/>verified Ethereum release"]
available --> retired["Retired<br/>closed to new launches"]
candidate --> design
available is the repository's final publication state. Production activation does not replace the required source,
deployment and security records. Any model activated before those records reach available is identified in its model
documentation. The complete gate is documented in RELEASING.md.
Independent builders can submit complete open-source launch models as pull requests. A submission needs the contracts, full launch path, tests, security properties, fixed dependencies and a machine-readable model record.
node scripts/new-model.mjs <model-id> "<Model name>" "<Specific behavior summary>"Submission is public and does not guarantee review, acceptance, deployment, volume or revenue. Accepted external models receive a version-specific acceptance record before release.
Read the Hook Builder Program · Read the contribution guide
The live Classic hook and launcher are non-upgradeable and expose no pause function, mint path, blacklist or post-launch fee setter. A disclosed Community Takeover authority can replace future creator-reward recipients only after accrued ETH is checkpointed. Classic has not received an independent smart-contract audit or public security contest.
| Area | Record |
|---|---|
| Current security status | SECURITY.md |
| Classic trust boundaries and invariants | docs/security/CLASSIC_PROPERTIES.md |
| Stock-Paired properties and publication gates | docs/security/STOCK_PAIRED_PROPERTIES.md |
| Automated checks and incident process | docs/OPERATIONS.md |
| Independent review archive | audits/ |
Report vulnerabilities through GitHub private vulnerability reporting. Do not publish an unpatched vulnerability in an issue or pull request.
models/ Registry, model manifests and model documentation
src/ Exact Solidity source
test/ Unit, integration, fuzz, invariant and regression tests
spec/ Machine-readable release parameters
releases/ Version-bound evidence manifests
deployments/ Ethereum addresses, transactions and runtime hashes
docs/ Security properties and operational records
scripts/ Reproducible verification and model scaffolding
templates/ Required structure for new model submissions
assets/ Programmable repository artwork
Deployed Solidity files retain their original paths and contract names so verified source and immutable bytecode remain traceable to this repository.
./scripts/bootstrap-deps.sh
node scripts/verify-model-registry.mjs
node scripts/verify-release-evidence.mjs
forge fmt --check
forge build --sizes
FOUNDRY_PROFILE=ci forge test
forge snapshot --fuzz-seed 0x70726f6772616d6d61626c65 --check .gas-snapshot
./scripts/verify-mainnet-bytecode.shCompiler settings are in foundry.toml. Upstream dependencies are checked out at fixed commits by the
bootstrap script.
Contract source is available under the MIT License. The Programmable name, mark and artwork are excluded;
see assets/README.md.