Overview
Wallet upgrades change a wallet’s on-chain account contract. Common upgrade paths:- READY to CHIPI: Argent X wallets upgrading to Chipi’s session-enabled account
- CHIPI v29 to v33: Older Chipi wallets upgrading to the latest version with spending policy and audit fixes
Wallet upgrades are server-only operations that require the API secret key. They cannot be performed from frontend hooks.
How It Works
The upgrade is a two-step process:- Prepare: Call
prepareWalletUpgrade()to get SNIP-12 typed data describing the upgrade - Sign and Execute: Have the wallet owner sign the typed data, then call
executeWalletUpgrade()with the signature
upgrade syscall on StarkNet.
READY to CHIPI Upgrade
Upgrade an Argent X wallet to a Chipi session-enabled wallet:CHIPI Version Upgrade
Upgrade an older CHIPI wallet (e.g., v29) to the latest version (v33):Custom Class Hash
To upgrade to a specific class hash (e.g., a community-submitted account):Python
After Upgrade
After a successful upgrade:- The wallet’s class hash changes on-chain
- Session keys become available (if upgrading from READY to CHIPI)
- Existing balances and transaction history are preserved
- The wallet address stays the same
