# Deployment Directory Place versioned deployment manifests here: 1. chain id 2. contract addresses 3. deployment tx hashes 4. verifier links 5. policy hash snapshot Template: - `membership-deploy.template.json` - `entitlement-deploy.template.json` - `offers.template.json` - `runtime-addresses.base-sepolia.json` (runtime-wired snapshot for cross-repo address parity) Recommended process: 1. Run `npm run deploy:sepolia` / `npm run deploy:mainnet` for membership or `npm run deploy:entitlement:sepolia` / `npm run deploy:entitlement:mainnet` for offer entitlements. 2. Copy the matching template to a dated file (for example `membership-base-sepolia-2026-02-18.json`). 3. Offer override files may include non-contract metadata (for example `execution_profile`) for downstream catalog parity; deploy script ignores unknown keys and only applies on-chain fields. 3. Fill all deployment fields from script output and explorer links. 4. If you need per-offer pricing, copy `offers.template.json`, edit values, and pass it via `OFFERS_JSON=/path/to/file.json`. Address parity rule: 1. Keep `runtime-addresses.base-sepolia.json` synchronized with `/Users/vsg/Documents/VSG Codex/web/docs/deployment/contract-addresses.base-sepolia.json`. 2. Any runtime address change must update both repos in the same change set.