Skip to main content

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:
  1. Prepare: Call prepareWalletUpgrade() to get SNIP-12 typed data describing the upgrade
  2. Sign and Execute: Have the wallet owner sign the typed data, then call executeWalletUpgrade() with the signature
The backend handles the actual 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