StarkWare introduced Shadow Accounts on October 13, giving Starknet developers a documented way to use persistent identities for individual applications. The feature is designed to separate an application’s onchain address from a user’s main wallet; the shadow account’s balances, transactions and positions remain public.

The StarkWare announcement called the primitive live on Starknet. A separate Starknet announcement said the first application integration would launch the following day. That distinction separates the documented developer interface from the rollout of individual applications.

An account for a returning app user

The developer documentation describes a shadow account as a pseudonymous identity selected by the user, application name and nonce. Keeping that identity lets an application recognize a returning user and maintain a position over time.

It is not a separate wallet with its own signing key. The documented ShadowAccountAnonymizer creates the account at a deterministic address when first invoked and executes calls through it. Applications submit ordinary Starknet calls through the Wallet API’s shadow_account_invoke action.

Integration requires starknet@^10.8.0, Wallet API 0.10.4 and a connected wallet supporting the STRK20 methods. Developers therefore need the relevant wallet and client support, alongside an application integration.

A mainnet demo has a narrower status

The documentation links a Vesu Prime STRK vault example labelled a mainnet demo using real assets. It also labels it an educational example, not audited production software. The demo README says it calls Vesu’s existing vault interface rather than modifying the Vesu contracts.

That example illustrates the integration mechanism; it does not establish a new production rollout across Vesu or other protocols.

For readers following the feature, the immediate development is the published account model and integration path. Its documented boundary concerns the direct wallet link, while activity inside the shadow account remains visible.