Documentation

What is a smart account

A limit order is a permission your account holds. An ordinary Ethereum account cannot hold one, so before you can arm an order, your account has to be switched to a smart account. This page is what that means.

The short version

  • Your address does not change. It is the same account, with the same history.
  • Nothing moves. No token, no ETH, no Charter.
  • Your Charter is unaffected. It is still yours and still cannot be transferred.
  • You can switch back whenever you want, in MetaMask, for the price of gas.
  • It is MetaMask’s feature, not ours. We only read whether it is on.

What actually changes

An ordinary account is a key and nothing else. It can sign, and every transaction it sends has to be signed and paid for by that key at the moment it happens. That is why a standing order is impossible for one: there is nobody to act on it while you are asleep, and handing the key to somebody who could is the thing you should never do.

A smart account puts a small amount of code at your address. The code is written by MetaMask, it is the same code for everybody, and what it adds is the ability to be given a narrow, enforceable permission — the one your order is. The address, the balance and everything the account owns stay exactly as they were.

The mechanism is EIP-7702eips.ethereum.org ↗, an Ethereum standard. MetaMask's own explanation is here: What is a smart accountsupport.metamask.io ↗.

Does it affect my Charter?

No. A Charter is an NFT held by your address, and switching does not change your address. After the switch, the Charter contract returns the same owner, the branch count is the same and the ledger balance is the same.

A Charter is also soulbound — it cannot be transferred — and that is decided by the Charter contract, not by what kind of account holds it. Switching does not make it movable. We tested this rather than assuming it: the transfer is refused with the same error before and after the switch, and the test is in the repository.

Am I already switched?

Quite possibly. MetaMask turns smart accounts on for new accounts by default now, so many people have been switched without ever choosing to. The order desk tells you which you are as soon as you connect, and it does not simply check whether your account has code — several things have code and still cannot hold a permission:

  • A MetaMask smart account. This is the one that works.
  • An account switched by a different wallet. It has code, and it points at somebody else's implementation, which cannot carry out our orders.
  • A contract account. A Safe, for instance. Same again.

So the desk reads what your account points at and asks that contract what it is and which manager it answers to. If it is not MetaMask's, you are told that rather than being shown a form that would fail later.

How to switch, and how to switch back

The order desk offers to ask your wallet for you. If your wallet refuses requests like that from a website, or you would simply rather do it yourself:

  1. Open MetaMask and click the account name at the top.
  2. Click the three dots next to the account you want to switch.
  3. Choose Account details, then Smart account.
  4. Turn it on for this network.
  5. Confirm the transaction. It costs gas.

The same screen turns it back off. MetaMask's step-by-step, which is the one to trust over ours if the two ever disagree: Switch to or revert from a smart accountsupport.metamask.io ↗.

What it costs

Gas, once. If the desk asks your wallet to do it, your wallet will show two things in order: the switch itself, and a transaction sending 0 ETH to your own address. The switch cannot be sent on its own, so it travels with a transaction. That transaction moves nothing.

Being asked by a website

MetaMask say a request from a site is one of the legitimate ways to be asked to switch. It is still worth being careful about: if anyone asks you by email, in a message, or on a site you did not go to deliberately, they are trying to rob you. You can always ignore the request here and do it in MetaMask instead, for the same gas.

What a switched account lets us ask for is set out in how branch limit orders work, and what we could do if we were dishonest is in security.