Skip to main content

Overview

By default, the SDK creates CHIPI wallets (OpenZeppelin account with SNIP-9 session keys) or READY wallets (Argent X v0.4.0). You can also pass a custom classHash to deploy any StarkNet account that implements SNIP-9.

When to Use Custom Class Hashes

  • Your project has a custom account contract with special features (spending limits, social recovery, multisig)
  • You need a specific audited account version (e.g., CHIPI v33 with spending policy)
  • You’re building on top of an account standard not yet included in the SDK defaults

Requirements

Your custom account must:
Accounts without SNIP-9 support cannot use the Chipi paymaster. Transactions will fail at estimation with TRANSACTION_EXECUTION_ERROR.

Creating a Wallet with Custom Class Hash

When classHash is provided:
  • The SDK uses your class hash instead of the default CHIPI or READY hash
  • The wallet address is computed from your class hash + constructor calldata
  • The Chipi paymaster sponsors the deployment (if your account supports SNIP-9)

Known Compatible Class Hashes

Upgrading Custom Wallets

Custom wallets can be upgraded to newer class hashes using the wallet upgrade flow:

Feature Compatibility