You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This checklist defines a baseline standard for deploying smart contract protocols to mainnet and other live networks.
It is intended to be used by protocol engineering teams during deployment and by auditors to verify that deployment, upgradeability, role configuration, and operational safeguards are correctly implemented prior to launch.
How to use this checklist (Normative Rules)
Required? → mark Yes / No / N/A
N/A is permitted only when the condition in “Applies When” is not satisfied and must be justified in the Evidence/Note column.
Each checklist item includes a Severity level that defines its impact on launch readiness.
All resolved items should include verifiable evidence (transaction hash, explorer link, commit hash, or documentation reference).
Severity Definition
BLOCKER
A requirement that must be satisfied before deployment to a live network.
Any unresolved BLOCKER prevents launch and requires remediation or an explicit decision to delay deployment.
WARNING
A requirement that does not strictly block deployment, but represents a material security, operational, or reliability risk if unmet.
WARNING items may proceed to launch only if the risk is explicitly acknowledged, documented, and accepted by the protocol’s responsible authority (e.g., multisig, DAO, or security lead).
INFO
A best-practice or observability recommendation that improves safety, transparency, or operational maturity but does not impact launch eligibility.
INFO items should be addressed where practical and tracked for future improvements.
1. Pre-deployment (design & review)
1.1 Architecture & upgradeability
Check
Applies When
Severity
Required?
Evidence/Note
Upgradeability pattern is explicitly documented
Protocol is upgradeable
BLOCKER
Each proxy has exactly one clearly defined admin
Proxies are used
BLOCKER
Proxy admin is not an EOA
Proxies are used
BLOCKER
Initialization functions are one-time only
Proxies are used
BLOCKER
Re-initialization is impossible
Proxies are used
BLOCKER
All privileged roles are explicitly listed
Any privileged access exists
WARNING
Capabilities of each privileged role are documented
3. Post-deployment checks (right after mainnet deploy)
3.1 On-Chain Read-Only Sanity Validation
Check
Applies When
Severity
Required?
Evidence/Note
Proxy admin returns expected value
Proxies are used
BLOCKER
Proxy implementation returns expected value
Proxies are used
BLOCKER
Initialization / version variables correct
Proxies are used
BLOCKER
No unauthorized upgrade paths exist
Proxies are used
BLOCKER
No re-initialization paths exist
Proxies are used
BLOCKER
EIP-1967 slots inspected directly
Proxies are used
BLOCKER
State verified across multiple RPCs
Always
WARNING
3.2 Functional smoke tests
Check
Applies When
Severity
Required?
Evidence/Note
Canary interaction executed
Always
BLOCKER
Core flows work with small values
Always
BLOCKER
Storage values sane
Always
WARNING
Cross-contract interactions validated
Multi-contract system
WARNING
Multi-chain edge cases tested
Multi-chain deploy
WARNING
3.3 Monitoring, Alerting & Observability Setup
Check
Applies When
Severity
Required?
Evidence/Note
Alerts for upgrades configured
Proxies are used
BLOCKER
Alerts for admin / role changes
Privileged roles exist
BLOCKER
Economic anomaly alerts configured
Value-bearing protocol
WARNING
Dashboards live and ingesting
Analytics required
INFO
Indexers / subgraphs synced
Indexer used
BLOCKER
L2 risk monitoring enabled
Deploying on L2
WARNING
3.4 Emergency Procedures & Incident Response
Check
Applies When
Severity
Required?
Evidence/Note
Emergency pause confirmed functional
Pause exists
BLOCKER
Pauser role holders identified
Pause exists
BLOCKER
Incident response runbook documented
Always
BLOCKER
User communication plan documented
User-facing protocol
WARNING
Cross-chain emergency procedures defined
Multi-chain deploy
BLOCKER
Emergency drills scheduled
Always
INFO
Contributions
We welcome and appreciate contributions to the protocol deployment checklist! If you'd like to improve or add to the checklist, please fork the repository, make your changes, and submit a pull request (PR). All contributions are reviewed, and we encourage discussions around new ideas or improvements.
How to contribute:
Fork the repository
Create a new branch for your changes
Make the necessary edits
Submit a pull request (PR)
Please ensure that your changes follow the style and formatting conventions used in the checklist. We also encourage you to provide a clear description of what your contribution improves or adds.
Thank you for helping us improve this checklist!
About Shred Security
Shred Security is a research-driven security firm specializing in smart contract auditing, threat modeling, and blockchain security.
For review engagements, deployment war rooms, or full protocol audits, you can reach us at shredsec.xyz.