Practical overview
When it fits
Consider Metamorphic when an Ethereum contract design specifically needs redeployment with new code at the same address, and the system can account for the loss of existing storage during metamorphosis.
Who it is for
- Ethereum developers designing contracts that may need code replacement while retaining an address.
- Developers evaluating CREATE2 factory patterns and their deployment trade-offs.
- Contract authors exploring the repository’s immutable factory or experimental Metapod and Kakuna components.
Documented uses
- Deploy a contract that clones a chosen implementation using CREATE2.
- Optionally initialize a clone during deployment.
- Replace a metamorphic contract’s code while retaining its address.
- Use an intermediate transient contract for metamorphic contracts that use constructors.
- Deploy contracts through a separate immutable CREATE2 factory.
Requirements & limits
The repository is public and MIT-licensed. Its documented local setup requires Node.js 10 or later and Yarn or npm.
- Redeployment replaces contract code and deletes all existing storage.
- The factory supports optional initialization in the deployment operation; constructor-based contracts can use an intermediate transient contract.
- The immutable CREATE2 factory does not perform redeployments of contracts it deploys.
- Metapod’s provided version uses a hard-coded address that must be changed for deployment elsewhere.
- Kakuna is described as an error-prone proof of concept, and its prelude requires low-level code adjustments.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Install and build the Metamorphic repository
Set up the project locally and build its contracts.
Before you start
- Node.js 10 or later
- Yarn or npm
Steps
Clone https://github.com/0age/metamorphic.git.
Change into the metamorphic directory.
Run yarn install.
Run yarn build.
Expected outcome
The repository dependencies are installed and the project build command has been run.
Guide limitations
- This setup guide does not cover deploying contracts to a network.
- The repository describes its metamorphic-contract features as highly experimental and says they have not been fully tested or audited.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 15 October 2026
- Original website title
- 0age/metamorphic · Official homepage title · retained in its source language

