In this track: Wallets without mystery
beginner · 3 MIN READ

What is a contract wallet?

An account whose authorization rules can be implemented through code.

LET’S PICTURE IT

A club can require two signatures, a delay or a recovery process before opening its safe. Code can express similarly structured rules.

SEE IT FOR YOURSELF
A valid counter call, step by stepStep 1 / 4
A valid counter call, step by stepFunction requestincrement()No argumentsBefore executionstored count0A local teaching example with a defined starting stateIncoming callCheck function dispatchCheck coded conditionsRules passConditions passContinue executionA failed check can revert insteadCalculation0 + 1Result: 1Storage writecount = 1Persists if call succeedsCalculating a local value and storing it are separate stepsPersistent statecount1Later readGetter reports 1No new incrementState, logs and browser display have different roles

This example begins with count zero and a request to call increment(). No real contract is deployed.

Animated local teaching model. No wallet, RPC or live blockchain data. Some labels and hashes are abbreviated for readability.

Authorization can be programmable

A contract wallet uses smart-contract rules to determine which actions are allowed. Depending on its design, it may support multiple owners, spending limits or other policies. You must inspect the actual implementation and configuration.

The contract does not need one private key of its own

Its authorization may depend on keys held by owners, another contract or another mechanism. A recovery phrase for an owner can restore that owner’s key without automatically recreating every part of the contract wallet’s setup.

Recovery is a feature, not an assumption

Some designs include guardians, time delays or upgrade paths. Those mechanisms can help with recovery while introducing additional trust and configuration risks. A familiar product name is not a complete description of its policy.

Verify using the correct rules

A contract wallet can validate signatures through an interface such as ERC-1271. Simply recovering an ordinary externally owned address from signature bytes is not a universal check for every account. Learn the permissions before approving a request.

QUICK CHECK · NO PRESSURE

Must every contract wallet use exactly one owner key?

Your progress stays in this browser.
Keep exploring the original referenceEthereum Improvement Proposals ↗

Original explanations by EtherTools. Examples are educational and source-linked; this site is independent of the Ethereum Foundation. Our approach.