Package IDs
Date: 2026-07-11
Status: Multi-chain mainnet packages live; upgrade authorities HELD (not burned / renounced)
Authority: docs/00-product-constitution.md · docs/22-versioning-strategy.md · docs/38-technical-architecture.md
Public page: docs.dayprotocol.com → Package IDs
Runtime export: runtime/config/day-packages.mjs · GET /api/day/packages
Copyright: Limitless Labs
OPERATOR LOCK (mav, 2026-07-11): Do NOT lock contracts yet.
- No UpgradeCap burn (Sui)
- No upgrade-authority renounce (Solana / EVM)
- No
make_immutable/ freeze- No “final mainnet v1 package id” publish treated as launch gate
- Keep packages upgradeable until explicit lock packages go.
1. Why this page exists
Section titled “1. Why this page exists”Trust is:
- Published package / program / contract id
- Bytecode / digest / explorer verification
- Upgrade authority status (HELD with documented holder, or burned after explicit lock go)
- Git tag / commit that matches the sources
Ids below match live GET /api/day/packages (day-packages.v1). Do not invent additional mainnet ids for demos.
Map vs Executable: phase1Homes Sui+Solana are labeled Executable; Base+Arbitrum are Map (expansionHomes). Contract status: live means the package/program/registry is deployed — not that adapters are write-ready or that broadcast is safe. Arbitrum/Base stub adapters never set broadcastEnabled: true.
Public rule: never put private keys, mnemonics, Infisical paths, or signer material on this page or docs.dayprotocol.com.
2. Sui packages (Phase 1 execution home) — mainnet live
Section titled “2. Sui packages (Phase 1 execution home) — mainnet live”| Object | Network | Object id | UpgradeCap | Notes |
|---|---|---|---|---|
DAY package (day, adapter_registry, yield_router, vault) | mainnet | 0x425980cb460145b83397586891239f7d570c8a6897581469486225ad06d0a4ef | Held 0xfb7a7925da9332ab039cd7296828f5ebaef5ff7246f1bfa051d0a409fa15eb2d | Published 2026-07-11 |
| AdapterRegistry (shared) | mainnet | 0x6dfff3951aac37f5e8a37531a8c97db15efa955601129998c1a7b1d488d11789 | — | On-chain adapter allowlist |
| YieldRouter (shared) | mainnet | 0xa0722a3dd74837d9daa4a82c2ffd7ed4c1b6013d57a362a42cb5a6c9c004db6f | — | Deposit / withdraw / harvest entry |
| ProtocolConfig (shared) | mainnet | 0xdcd2e53c6ebc03cea47bcfc656337f03bf64cf1069bb92419bb67f4969603bba | — | Fee / policy config |
| Publisher / treasury | mainnet | 0xc7166e26852d600068350ca65b6252880a3e17b540e2080e683f796303e1d491 | UpgradeCap owner | Operator wallet (public address only) |
Modules: day, adapter_registry, yield_router, vault (legacy module present; not product-core vault farm).
Registered adapters (on-chain names): suilend, navi, scallop, kamino, jito, jupsol, marginfi.
| Package | Network | Package id | Notes |
|---|---|---|---|
| DAY (testnet) | testnet | TBD | No testnet publish recorded yet |
3. Solana program (Phase 1 execution home) — mainnet-beta live
Section titled “3. Solana program (Phase 1 execution home) — mainnet-beta live”| Object | Network | Address | Notes |
|---|---|---|---|
| day_router program | mainnet-beta | 7P7PgkV1LuiMWVs7wTUoNFbLJnxYxQywENtLL9ZP74Mw | Native SBF program |
| AdapterRegistry PDA | mainnet-beta | HYv3GFyfYBiz3SPTkPodKghzccARc66pQMnaWpj9uxn6 | seed adapter_registry |
| YieldRouter PDA | mainnet-beta | 5baGJsjUWLfTTrADAakHHES4grTn7P6vf4NqZyWtocV | seed yield_router |
| Upgrade authority | mainnet-beta | A975vAJtcEB3saDWXwa3YQmM18qe3DCg83T41KWb9eg6 | Held (treasury; do not renounce) |
Fee defaults: see Fees. Deposit 0 bps.
Source: runtime/config/solana-programs.mjs · runtime/config/solana-packages.mjs.
4. Base (expansion / discovery) — DayRegistry live
Section titled “4. Base (expansion / discovery) — DayRegistry live”| Object | Network | Address | Notes |
|---|---|---|---|
| DayRegistry | Base mainnet (chainId 8453) | 0x00f09EEdfF406217D5CF7adf60E8873760F67e38 | Fee caps 139 (MAX_YIELD_SKIM_BPS=1000) |
| Deploy tx | Base | 0x1e868ab54bc18cfdc5d71b4188139839f9619c3a42b4d9066d7169fe4e209407 | 2026-07-11 redeploy |
| Deployer (public) | Base | 0x6d0C8D799c4e041eA45e02E456a36a360F3bC142 | EVM treasury public address |
| Explorer | — | https://basescan.org/address/0x00f09EEdfF406217D5CF7adf60E8873760F67e38 | — |
Live vs Target
Section titled “Live vs Target”| Live (today) | Target (not yet) | |
|---|---|---|
| Role | expansion_discovery | execution_home |
goNoGo | NO_GO_EXPANSION | GO |
executionEnabled | false | true |
| Write adapters | stub / not ready | live modules |
| Fees | yield 500 · deposit 0 · max 1000 | same |
Do not claim Base as an execution home until write adapters are ready.
Phase 1 execution homes remain Sui + Solana.
Superseded (no fee caps): 0x342d57cf3d9cf7d35267b834327b37A1f9638752.
Wallet balances: GET /api/day/base/wallet-balance?address= (ETH + USDC, fail-closed).
Detail: 42-base-live-vs-target.md · status/2026-07-11-base-live-vs-target.md.
5. Arbitrum (expansion / discovery) — DayRegistry live
Section titled “5. Arbitrum (expansion / discovery) — DayRegistry live”| Object | Network | Address | Notes |
|---|---|---|---|
| DayRegistry | Arbitrum One (chainId 42161) | 0x00f09EEdfF406217D5CF7adf60E8873760F67e38 | Same CREATE address as Base (deployer nonce 1) |
| Deploy tx | Arbitrum | 0xd8df4549591893b99e65bdaedcbc2da6b79820c7e4e0c589a11f8fc41dab03cb | 2026-07-11 redeploy |
| Deployer (public) | Arbitrum | 0x6d0C8D799c4e041eA45e02E456a36a360F3bC142 | Same EVM treasury |
| Explorer | — | https://arbiscan.io/address/0x00f09EEdfF406217D5CF7adf60E8873760F67e38 | — |
Role: expansion_discovery. Execution gated separately from registry deploy.
production truth: status=live on packages means DayRegistry is deployed —
not live deposits. Adapters remain stubs (writeReady: false, liveMoneyPath: false).
PREPARE_OK_STUBS = prepare/read only; UI must not imply live write. Broadcast hard-gated until
writeReady + explicit OPEN_YIELD_ARBITRUM_WRITE_GO. Superseded (no fee caps):
0x342d57cf3d9cf7d35267b834327b37A1f9638752.
Source: runtime/config/evm-packages.mjs · runtime/config/base-packages.mjs · runtime/config/arbitrum-packages.mjs.
6. Machine-readable surfaces
Section titled “6. Machine-readable surfaces”| Surface | Value |
|---|---|
GET /api/day/packages | Public JSON (day-packages.v1) — multi-chain + Sui dual-write |
runtime/config/day-packages.mjs | dayPackagesPublic() aggregator |
runtime/config/sui-packages.mjs | suiPackagesPublic() + Sui named constants |
runtime/config/solana-programs.mjs | Solana program id + PDAs |
runtime/config/solana-packages.mjs | Solana public block |
runtime/config/evm-packages.mjs | Base + Arbitrum DayRegistry |
runtime/config/base-packages.mjs | Base public block |
runtime/config/arbitrum-packages.mjs | Arbitrum public block |
contracts/sui/Published.toml | Move publish metadata + upgrade-capability |
| Status log | status/2026-07-11-go-mainnet-live.md |
7. Off-chain surfaces (semver)
Section titled “7. Off-chain surfaces (semver)”| Surface | Current | Notes |
|---|---|---|
| HTTP schemas | day-api.v1, day-vault.v1, day-vault-plan.v1, auto-yield-plan.v1 | Repo schemas/ |
| Packages schema | day-packages.v1 | Multi-chain |
| SDK | @dayprotocol/sdk@0.x | Breaking → major |
| Keepers | harvest-plan.v1 | Amounts from venue, not request body |
| Bridge | Mayan plan / day-bridge-plan family | credit after delivery |
8. How to verify
Section titled “8. How to verify”# Sui package + UpgradeCap (must still exist / not burned)sui client object 0x425980cb460145b83397586891239f7d570c8a6897581469486225ad06d0a4efsui client object 0xfb7a7925da9332ab039cd7296828f5ebaef5ff7246f1bfa051d0a409fa15eb2d
# API mirror (all chains)curl -sS https://dayprotocol.com/api/day/packages | jq .
# Solana programsolana program show 7P7PgkV1LuiMWVs7wTUoNFbLJnxYxQywENtLL9ZP74MwDocs / operators must show at least:
sui.package_id: 0x425980cb460145b83397586891239f7d570c8a6897581469486225ad06d0a4efsui.upgrade_cap: 0xfb7a7925da9332ab039cd7296828f5ebaef5ff7246f1bfa051d0a409fa15eb2d (HELD)solana.program_id: 7P7PgkV1LuiMWVs7wTUoNFbLJnxYxQywENtLL9ZP74Mwbase.registry: 0x00f09EEdfF406217D5CF7adf60E8873760F67e38arbitrum.registry: 0x00f09EEdfF406217D5CF7adf60E8873760F67e389. Launch checklist (link from versioning)
Section titled “9. Launch checklist (link from versioning)”- Audit of frozen package id complete
- UpgradeCap / upgrade authorities documented as held (not burned)
- Sui mainnet table filled
- Solana + Base + Arbitrum mainnet tables filled
- SECURITY.md scope lists the same package ids
- Copyright + LICENSE on the same git tag (
docs/23-copyright-and-licensing.md) - Explicit lock packages go → then burn UpgradeCap / renounce authorities
Bottom line
Section titled “Bottom line”Sui, Solana, Base, and Arbitrum mainnet surfaces are live. Upgrade authorities are HELD — never burn/renounce without explicit lock go.
API + runtime/config/*-packages.mjs + Published.toml are the source of truth for ids. Public docs mirror this page without secrets.