openzeppelin avatar

Upgrade Stellar Contracts

This helps you implement native WASM upgrades for Stellar Soroban contracts using OpenZeppelin's upgradeable module. You get two derive macros: Upgradeable for simple bytecode replacement and UpgradeableMigratable when you need to modify storage during the upgrade. The atomic upgrade-and-migrate pattern using an Upgrader contract is clever since Soroban's protocol-level upgrade mechanism only applies the new implementation after the current call completes. One thing to watch: there's no automatic storage compatibility checking, so you can easily corrupt state if you rename keys or change value types. The module handles the upgrade flow but deliberately leaves access control to you, which means you need to wire in Ownable or similar yourself.

skills.sh installs
271
GitHub stars
222
last updated
Aug 21, 2026

Install

$ npx -y skills add openzeppelin/openzeppelin-skills --skill upgrade-stellar-contracts --agent claude-code

Installs into .claude/skills of the current project.

Files

Stellar Upgrades

Contents

Soroban Upgrade Model

Soroban contracts are mutable by default. Mutability refers to the ability of a smart contract to modify its own WASM bytecode, altering its function interface, execution logic, or metadata. Soroban provides a built-in, protocol-level mechanism for contract upgrades — no proxy pattern is needed.

A contract can upgrade itself if it is explicitly designed to do so. Conversely, a contract becomes immutable simply by not provisioning any upgrade function. This is fundamentally different from EVM proxy patterns:

Sponsors

Details

Repository
github.com/openzeppelin/openzeppelin-skills
Categories
Testing & QA, Rust
First seen
Jun 3, 2026

More from openzeppelin/openzeppelin-skills

All 5
1salesforceairesearch avatardeveloping-agentforcesalesforceairesearch/agentforce-adlcBuild, modify, debug, and deploy agents with Agentforce Agent Script. TRIGGER when: user creates, modifies, or asks about .agent files or aiAuthoringBundle meta270skills.sh installs
2charleswiltgen avataraxiom-xcode-debuggingcharleswiltgen/axiomUse when encountering BUILD FAILED, test crashes, simulator hangs, stale builds, zombie xcodebuild processes, "Unable to boot simulator", "No such module" after269skills.sh installs
3patricio0312rev avatarcaching-strategy-optimizerpatricio0312rev/skillsOptimizes CI/CD pipeline speed by implementing effective caching for dependencies, Docker layers, build outputs, and test results. Provides before/after perform269skills.sh installs
4patricio0312rev avatarcomponent-scaffold-generatorpatricio0312rev/skillsGenerates clean React/Vue component skeletons with TypeScript types, prop variants, styling hooks, test files, Storybook stories, and usage documentation. Use w269skills.sh installs
5laravel avatarpennant-developmentlaravel/boostUse when working with Laravel Pennant the official Laravel feature flag package. Trigger whenever the query mentions Pennant by name or involves feature flags o265skills.sh installs
6posthog avatarhogliposthog/posthogPostHog developer CLI and repo tooling reference. Use when the user mentions hogli, asks about repo CLI tools, bin scripts, Makefiles, how to run/build/test/lin265skills.sh installs