> ## Documentation Index
> Fetch the complete documentation index at: https://docs.polygon.technology/llms.txt
> Use this file to discover all available pages before exploring further.

# Wallet Configuration

> How the Merkleized wallet configuration works: single onchain root, signers, sessions, recovery, and cross-chain coherency.

Non-custodial wallets store a single **Merkle root** onchain that commits to the entire wallet configuration: signers, weights, thresholds, Smart Session rules, recovery mechanisms, and future extensions. Each transaction provides **Merkle proofs** to validate only the parts of the configuration relevant at execution time.

## Model

* **Root**: the wallet contract stores one hash root.
* **Leaves**: typed records for signers, sessions, recovery, and modules.
* **Extensions**: modules interpret specific leaf types (session enforcement, recovery).
* **Proofs**: execution supplies Merkle proofs for the leaves it needs (signer weight, session rule).

## Updating configuration

Configuration updates, such as adding a device, changing session limits, or rotating keys, are authorized by the user through the SDK. The WaaS enclave's **Key Machine** service computes the new Merkle tree and root, then attests to it. The enclave constructs and signs the config update; the user does not compute the tree directly. Transactions include or reference this attestation so the wallet accepts only the latest configuration.

## Smart Sessions

The Sessions Module is a leaf in the config tree. A remote backend or in-app flow can submit transactions from a user's wallet within on-chain permission bounds; the user grants those bounds once, and the Sessions Module validates them on every call. See [Smart Sessions](/wallets/smart-sessions).

## Recovery

* **Timed recovery keys**: a recovery leaf encodes a time-lock window. Initiating recovery starts a countdown where existing signers can cancel. After expiry, the recovery key can rotate primary signers. See [Recovery](/wallets/recovery) for the full flow.

## Efficiency

* Only the root is stored onchain. Proofs are provided as calldata when needed.
* Packing and bitmap techniques minimize calldata for multi-sig or multi-proof cases.

## Cross-chain coherency

The same root governs all chains for a wallet. Checkpointer attestations allow each network to accept only the canonical root, preventing replay with stale configurations. A wallet configured on Polygon works identically on any supported EVM chain without redeployment.

## References

* [Wallet Contracts v3](https://github.com/0xsequence/wallet-contracts-v3)
