1 Commits
Author SHA1 Message Date
sneak ef0ff2f75e docs: rewrite the user guide sentence by sentence against the prose rules
check / check (push) Canceled after 0s
e2e / e2e-chrome (push) Canceled after 0s
e2e / e2e-firefox (push) Canceled after 0s
Every sentence is written for a newcomer to read once, with each technical
word defined where it first appears and every list as bullets. Two false
statements are gone: history rows show the other party's address in full
(the only shortened address is the label of a token with no known symbol),
and the balance list hides a token that claims ETH from the wrong contract.
The guide now also covers the lost-password route, the saved-data recovery
screen, network switch requests, closed approval windows and the Connected
Sites list.

Part of #672.

Model: fable-5-1
2026-11-02 02:03:32 +00:00
+231 -168
View File
@@ -5,11 +5,12 @@ Firefox. This guide explains how to install it and how to use it.
## What it does ## What it does
- It keeps your wallets. A wallet comes from a recovery phrase, a private key or - It keeps your wallets. A wallet comes from a recovery phrase (12 or 24 words),
an extended private key. from a private key, or from an extended private key. An extended private key
is a single key that many addresses are computed from.
- It shows the ETH and ERC-20 token balances of your addresses. ETH is the - It shows the ETH and ERC-20 token balances of your addresses. ETH is the
currency of Ethereum. An ERC-20 token is a token issued by a contract on currency of Ethereum. A contract is a program that runs on Ethereum. An ERC-20
Ethereum. token is a token issued by a contract under the ERC-20 standard.
- It sends and receives ETH and ERC-20 tokens. - It sends and receives ETH and ERC-20 tokens.
- It connects to web3 sites and signs what you approve. A web3 site is a website - It connects to web3 sites and signs what you approve. A web3 site is a website
that asks a wallet to sign for it. that asks a wallet to sign for it.
@@ -18,52 +19,58 @@ It does nothing else. It has:
- no swap screen; - no swap screen;
- no portfolio view; - no portfolio view;
- no NFT gallery; - no NFT gallery (an NFT is a non-fungible token, such as a collectible);
- no advertising; - no advertising;
- no tracking. - no tracking.
## What it sends, and to whom ## What it sends, and to whom
The wallet runs in your browser. The developer runs no server. The wallet runs in your browser. The developer runs no server. Each service
named below sees your IP address, as any website you visit does.
By default the wallet talks to one service: the Ethereum RPC endpoint. The RPC By default the wallet talks to one service: the Ethereum RPC endpoint. The RPC
endpoint is the server that the wallet asks about the blockchain and sends your endpoint is the server that the wallet asks about the blockchain and sends your
transactions through. A new install uses a public one, transactions through. Usually it is a node, a computer running the Ethereum
software. A new install uses a public one,
`https://ethereum-rpc.publicnode.com`. You can change it in Settings. `https://ethereum-rpc.publicnode.com`. You can change it in Settings.
The RPC endpoint sees every address that the wallet asks about and every The RPC endpoint sees every address that the wallet asks about and every
transaction that the wallet sends. If you want privacy, point the Ethereum RPC transaction that the wallet sends. While the wallet is open, it asks for your
setting at a node of your own. balances every 10 seconds. While it is closed, it asks every 60 seconds. If you
want privacy, point the Ethereum RPC setting at a node of your own.
On Ethereum Mainnet the wallet reads USD prices through the RPC endpoint, from On Ethereum Mainnet, the main Ethereum network, the wallet reads USD prices
Chainlink price feed contracts. No price service is contacted. through the RPC endpoint, from Chainlink price feed contracts. No price service
is contacted. A token with no Chainlink price feed shows no USD value.
Two more services get your data only after you turn on a setting. Both are off Two more services get your data only after you turn on a setting. Both settings
in a new install. The first screen and Settings both offer them. are off in a new install. The first screen and Settings both offer the two
settings.
- "Use Blockscout". Blockscout is an open-source block explorer, a service that - "Use Blockscout". Blockscout is an open-source block explorer, a service that
indexes the blockchain. With the setting on, the wallet sends your addresses, indexes the blockchain and answers questions about it. With the setting on,
and the hash of each transaction you open, to the Blockscout server set in the wallet sends Blockscout your addresses on each refresh, and the hash of
Settings. In return the wallet shows your transaction history, transaction each transaction you open. A hash is the id of a transaction. In return the
details and the tokens you have not tracked. You can point the setting at a wallet shows your transaction history, transaction details and the tokens you
Blockscout server of your own. have not added yourself. You can point the setting at a Blockscout server of
your own.
- "Check recipients on Etherscan". Etherscan is a block explorer website. With - "Check recipients on Etherscan". Etherscan is a block explorer website. With
the setting on, the wallet fetches the recipient's Etherscan page each time the setting on, the wallet fetches the recipient's Etherscan page each time
you review a send. It warns when Etherscan labels the address as phishing, you review a send. The wallet warns when Etherscan labels the address as
scam or exploiter. Only the recipient's address is sent. The Etherscan server phishing, scam or exploiter. Only the recipient's address is sent. The
cannot be changed. Etherscan server cannot be changed.
The wallet checks each site that asks to connect, to send or to sign against a Each time a site's request opens an approval screen, the wallet checks the site
phishing list built into the extension. That check sends nothing anywhere. against a phishing list built into the extension. That check sends nothing
anywhere.
These stay in your browser and never leave it: These stay in your browser and never leave it:
- your recovery phrases, private keys and extended private keys, encrypted with - your recovery phrases, private keys and extended private keys, encrypted with
your password; your password;
- which wallets, addresses and tokens you have; - your wallet names and your settings;
- which sites you have allowed or denied; - which sites you have allowed or denied;
- the spam filter settings and the list of fraud contracts that the wallet has - the list of fraud contracts that the wallet has seen.
seen.
The Etherscan links on the screens are ordinary links. They contact nothing The Etherscan links on the screens are ordinary links. They contact nothing
until you click them. until you click them.
@@ -104,19 +111,27 @@ libsodium library.
The password is not part of your recovery phrase. Anyone with the phrase can The password is not part of your recovery phrase. Anyone with the phrase can
restore the wallet on any device without the password. The password protects restore the wallet on any device without the password. The password protects
only the copy stored in this browser. If you lose the phrase, the password only the copy stored in this browser.
cannot bring it back.
While a phrase wallet is in this browser, `[recovery phrase]` in Settings shows
its phrase after your password. Once this browser's copy is gone too, the wallet
is lost.
The wallet asks for the password when you: The wallet asks for the password when you:
- send a transaction; - send a transaction;
- sign a transaction, message or typed data for a site; - sign a transaction, message or typed data for a site (typed data is structured
data laid out as named fields);
- show a recovery phrase; - show a recovery phrase;
- export a private key; - export a private key;
- delete a wallet with "Confirm Delete". - delete a wallet with "Confirm Delete".
It never asks for the password to show balances, to receive funds, to read the It never asks for the password to:
transaction history or to remove an address.
- show balances;
- receive funds;
- read the transaction history;
- remove an address.
The password cannot be recovered or reset. If you forget it, you can still The password cannot be recovered or reset. If you forget it, you can still
delete the wallet with "I have lost my password". Then add the wallet again from delete the wallet with "I have lost my password". Then add the wallet again from
@@ -133,8 +148,7 @@ your backup, with a new password. See Deleting a wallet below.
4. On the "From Phrase" tab, click the die button. It writes a new 12-word 4. On the "From Phrase" tab, click the die button. It writes a new 12-word
recovery phrase into the box. recovery phrase into the box.
5. Write the words down and keep them safe. Anyone with them can take your 5. Write the words down and keep them safe. Anyone with them can take your
funds. If you lose them, the wallet is gone, and AutistMask cannot recover funds. Without them, this browser's copy is the only copy of your wallet.
them.
6. Choose a password and type it twice. It needs at least 12 characters, unless 6. Choose a password and type it twice. It needs at least 12 characters, unless
"Allow weak passwords" is on in Settings. "Allow weak passwords" is on in Settings.
7. Click "Import". 7. Click "Import".
@@ -146,20 +160,23 @@ additional wallet..." link at the bottom of the home screen.
The Add Wallet screen has three tabs: The Add Wallet screen has three tabs:
- "From Phrase": paste a 12 or 24 word recovery phrase. AutistMask derives - "From Phrase": paste a 12 or 24 word recovery phrase. AutistMask computes
addresses on the path `m/44'/60'/0'/0`, the one most wallets use, so the same addresses from the phrase by the rule `m/44'/60'/0'/0`, called the derivation
phrase gives the same addresses here and elsewhere. path. Most wallets use the same rule, so the same phrase gives the same
addresses here and elsewhere.
- "From Key": paste one private key. The wallet gets one address. - "From Key": paste one private key. The wallet gets one address.
- "From xprv": paste an extended private key, a key from which a whole series of - "From xprv": paste an extended private key. It must be the master key, the
addresses is derived. It must be the master key, the root of that series. The root of the key tree, not a key computed from the root. The wallet behaves
wallet behaves like a phrase wallet but has no phrase to show. like a phrase wallet but has no phrase to show.
All three tabs ask for the same password fields. "Import" finishes the job. All three tabs ask for the same password fields. "Import" finishes the job.
After a phrase or xprv import the wallet looks for addresses that have been After a phrase or xprv import the wallet looks for addresses that have been
used. It checks addresses through the RPC endpoint, five at a time, and stops used. The scan counts an address as used when it holds ETH or has sent a
after five unused ones in a row. When it finds more than one used address, those transaction. An address that only received tokens is not found. The scan checks
addresses replace the list, and a message says how many were found. addresses through the RPC endpoint, five at a time, and stops after five unused
ones in a row. When it finds more than one used address, those addresses replace
the wallet's address list, and a message says how many were found.
The wallet refuses: The wallet refuses:
@@ -170,28 +187,29 @@ The wallet refuses:
### Adding addresses ### Adding addresses
A wallet made from a phrase or an extended private key can hold many addresses. A wallet made from a phrase or an extended private key can hold many addresses.
On the home screen, click the "+" button next to the wallet's name. The next On the home screen, click the "+" button next to the wallet's name. The wallet
address is derived at once. The same phrase always gives the same sequence of computes the next address at once. The same phrase always gives the same
addresses. Each address is labelled "Address N". sequence of addresses. Each address is labelled "Address N".
### The active address ### The active address
One address is the active address. The home screen shows it at the top, with its One address is the active address. The home screen shows it at the top, with its
ETH balance and its USD value. "Send" and "Receive" on the home screen act on ETH balance and its USD value. "Send" and "Receive" on the home screen act on
it. Connected sites see the active address and no other. Tap any address row on the active address. Connected sites see the active address and no other. Tap any
the home screen to make that address active. address row on the home screen to make that address active.
### Removing an address ### Removing an address
Each address of a phrase or xprv wallet with more than one address has an `[x]` Each address of a phrase or xprv wallet with more than one address has an `[x]`
button on the home screen. The confirmation screen explains what removing does. button on the home screen. The confirmation screen explains what removing does.
Nothing is destroyed: the address stays yours, and any funds at it stay where Nothing is destroyed: the address stays yours, and any funds at it stay where
they are. The wallet only stops listing it. they are. The wallet stops listing the address and forgets the sites allowed or
denied for it.
Getting the address back is not easy. "+" derives the next unused address, not Getting the address back is not easy. "+" computes an address that this wallet
the removed one. The way back is to delete the whole wallet and import its has never listed, so never the removed one. The way back is to delete the whole
backup again. The scan after the import finds the address only if it has been wallet and import its backup again. The scan after the import finds the address
used. only if it holds ETH or has sent a transaction.
### Deleting a wallet ### Deleting a wallet
@@ -209,9 +227,11 @@ the wallet loses everything it holds, forever.
### Which tokens are shown ### Which tokens are shown
A tracked token is one you added by contract address. Tracked tokens are shown A tracked token is one you added yourself, by its contract address. A tracked
on every address, whether or not "Use Blockscout" is on. By default a tracked token is listed on every address while "Show tracked tokens with zero balance"
token is shown even at zero balance; the Display setting changes that. is on, which it is in a new install. With that setting off, a tracked token is
listed only on the addresses that hold it. Tracked tokens are shown whether or
not "Use Blockscout" is on.
Other tokens appear only while "Use Blockscout" is on. Blockscout reports every Other tokens appear only while "Use Blockscout" is on. Blockscout reports every
token that an address holds. The wallet lists such a token only when it is on token that an address holds. The wallet lists such a token only when it is on
@@ -219,8 +239,10 @@ the bundled list of well-known tokens or has at least 1,000 holders. Everything
else is treated as spam and hidden. Turning "Use Blockscout" off removes every else is treated as spam and hidden. Turning "Use Blockscout" off removes every
untracked token from the lists at once. untracked token from the lists at once.
A fake token that claims a well-known symbol from the wrong contract is hidden The balance list and the send screen hide a token that uses a well-known symbol
everywhere, `ETH` included. See Scam protection. from another contract, `ETH` included. A token you track yourself is still
listed at zero while "Show tracked tokens with zero balance" is on. See Scam
protection.
### Tracking a token ### Tracking a token
@@ -252,7 +274,7 @@ On an address's screen, click any balance row. The token screen shows:
- the token's balance; - the token's balance;
- its contract address; - its contract address;
- its name, symbol and decimals; - its name, symbol and decimals (the number of decimal places its amounts have);
- its holder count, when known; - its holder count, when known;
- its website, when known; - its website, when known;
- the token's own transaction history. - the token's own transaction history.
@@ -276,8 +298,9 @@ An amount must be a number above zero, written as digits with at most one
decimal point. ETH has 18 decimal places. A token has as many as it declares, up decimal point. ETH has 18 decimal places. A token has as many as it declares, up
to 18. Digits beyond them must be zeros. to 18. Digits beyond them must be zeros.
A name that has no on-chain address is refused. So is a name whose owner keeps An ENS name is refused when it has no address recorded on Ethereum. A name whose
its address off-chain. Enter the address instead. owner serves its address from a web server instead is refused too. Enter the
address instead.
### The confirmation screen ### The confirmation screen
@@ -289,8 +312,9 @@ The screen shows:
picture made from the address) and an Etherscan link; picture made from the address) and an Etherscan link;
- the amount, with its USD value; - the amount, with its USD value;
- your balance on this network; - your balance on this network;
- the network fee: what the transfer is expected to cost, and under it the - the network fee, the price the network charges to process the transaction. The
larger amount reserved until the transaction confirms. The network refunds the screen shows what the transfer is expected to cost, and under it the larger
amount reserved until the transaction confirms. The network refunds the
difference. difference.
It warns when the recipient is: It warns when the recipient is:
@@ -298,11 +322,12 @@ It warns when the recipient is:
- on the wallet's list of known scam addresses; - on the wallet's list of known scam addresses;
- a burn address, one nobody controls, where funds are destroyed; - a burn address, one nobody controls, where funds are destroyed;
- the address you are sending from; - the address you are sending from;
- a contract, a program on Ethereum rather than a person's address; - a contract rather than a person's address;
- an address that has never sent a transaction and holds no ETH; - an address that has never sent a transaction and holds no ETH;
- labelled as phishing, scam or exploiter on Etherscan, while "Check recipients - labelled as phishing, scam or exploiter on Etherscan, while "Check recipients
on Etherscan" is on. While that setting is off, a line says the address was on Etherscan" is on. A lookup that fails shows no warning, so no warning does
not checked. not prove the address was checked. While the setting is off, a line says the
address was not checked.
It refuses to send, and says why, when: It refuses to send, and says why, when:
@@ -319,20 +344,23 @@ and broadcasts it to the network. Before signing, it refuses when:
- the network was switched since you reviewed the send; - the network was switched since you reviewed the send;
- the wallet shown no longer holds the From address; - the wallet shown no longer holds the From address;
- the fee or gas limit that the network quotes is above the wallet's limits, - the fee or gas limit that the network quotes is above the wallet's limits,
which allow a total fee of at most 1 ETH; which allow a total fee of at most 1 ETH. Gas is the unit Ethereum measures
work in, and the gas limit is the most gas the transaction may use;
- the token contract now reports a different number of decimals than the amount - the token contract now reports a different number of decimals than the amount
was shown with. was shown with.
### After sending ### After sending
A waiting screen shows the transaction hash and a counter. The wallet asks the A waiting screen shows the transaction hash and a counter. The wallet asks the
network for the receipt every 10 seconds, and the wait resumes if you close and network every 10 seconds for the receipt, the network's record that the
reopen the popup. Then: transaction was included in a block. The wait resumes if you close and reopen
the wallet. Then:
- a receipt opens the success screen, with the block number, the hash and - a receipt opens the success screen, with the block number, the hash and
Etherscan links; Etherscan links;
- no receipt after 60 seconds opens the error screen with a timeout message. The - no receipt after 60 seconds opens the error screen with a timeout message. A
transaction may still confirm later; check the hash on Etherscan; timeout does not mean the transaction failed. It may still confirm; check the
hash on Etherscan;
- six failed lookups in a row open the error screen with a message saying the - six failed lookups in a row open the error screen with a message saying the
network could not be reached. Check the Ethereum RPC setting. network could not be reached. Check the Ethereum RPC setting.
@@ -350,25 +378,29 @@ What to send cannot be changed there.
Give the address only to senders on the network you are using. AutistMask works Give the address only to senders on the network you are using. AutistMask works
on Ethereum Mainnet and the Sepolia test network. Tokens sent to your address on on Ethereum Mainnet and the Sepolia test network. Tokens sent to your address on
another network do not appear in AutistMask, and it cannot move them. Opened another network do not appear in AutistMask, and it cannot move them. Opened
from a token's screen, the Receive screen says this for that token. from a token's screen, the Receive screen warns that this token sent on another
network is lost.
## Transaction history ## Transaction history
Transaction history comes from Blockscout, so it needs "Use Blockscout". While Transaction history comes from Blockscout, so it needs "Use Blockscout". While
the setting is off, each history list shows one line saying so. the setting is off, each history list shows one line saying so.
- The home screen lists the 25 most recent transactions across all your - The home screen lists up to 25 of the most recent transactions across all your
addresses. addresses.
- An address's screen lists that address's transactions. - An address's screen lists up to 25 of its most recent transactions.
- A token's screen lists that token's transfers for the address. - A token's screen lists the token's transfers among those 25.
Each row shows: Each row shows:
- the age and the direction; - the age and the direction, "Sent" or "Received". A row for a call to a
contract shows the name of the call instead, such as "Approve", and a symbol
without an amount;
- the amount; - the amount;
- the other party's address, in full. - the other party's address, in full. A swap row shows your own address here.
The scam filters below hide fake and dust transactions from these lists. The scam filters below hide fake transfers and dust from these lists. Dust is a
tiny amount of ETH.
Tap a row to open the transaction. The transaction screen shows: Tap a row to open the transaction. The transaction screen shows:
@@ -380,33 +412,43 @@ Tap a row to open the transaction. The transaction screen shows:
- the time, as a date and time and as an age; - the time, as a date and time and as an age;
- the exact amount, and under it the amount in the token's smallest unit; - the exact amount, and under it the amount in the token's smallest unit;
- the token's contract address, for a token transfer; - the token's contract address, for a token transfer;
- the block number; - these details from Blockscout:
- the nonce, the transaction's sequence number for your address; - the block number;
- the gas price, the gas used and the fee; - the nonce, the sender's sequence number for this transaction;
- what the transaction did, when the wallet can read it; - the gas price, the gas used and the fee;
- the raw data. - what the transaction did, when the wallet can read it;
- the raw data, the bytes the transaction carried.
Tapping a value copies it. Each address, hash and block has an Etherscan link. Tapping the hash, an address, the amount or a detail copies it. Each address,
The block, nonce, gas, fee and raw data come from Blockscout. hash and block has an Etherscan link.
## Connecting to web3 sites ## Connecting to web3 sites
AutistMask gives every page a standard wallet connection (`window.ethereum`). A AutistMask offers every page a standard wallet connection. It takes
site that wants your wallet opens a connection request. `window.ethereum`, the name sites look for, when no other wallet has taken it.
Sites that list wallets can pick AutistMask by name. A site that wants your
wallet opens a connection request.
### Connection requests ### Connection requests
The request shows the site's origin, that is its scheme, host and port, for The request shows the site's origin: its address up to the first slash, for
example `https://app.example`. It shows the address that will be shared, which example `https://app.example`. The origin includes the scheme (`https`), the
host and the port. The request also shows the address that will be shared, which
is the active address. Click "Allow" or "Deny". is the active address. Click "Allow" or "Deny".
Tick "Remember my choice for this site" to skip the request next time. The "Remember my choice for this site" starts ticked. The box stays as you last left
choice applies to that exact origin. A choice remembered for it. While it is ticked, the wallet keeps your answer, and the site is not asked
`https://app.example` does not cover `http://app.example` or another port of the again. The answer applies to that exact origin and to the active address. A
same host. choice remembered for `https://app.example` does not cover `http://app.example`
or another port of the same host. A choice remembered for one address does not
cover another.
Without "Remember", an allowed site stays connected until the browser closes, Without "Remember", an allowed site stays connected until:
until you make another address active, or until you remove the site in Settings.
- the browser closes;
- you make another address active;
- you remove the site in Settings;
- you remove the address, or delete its wallet.
### Transaction requests ### Transaction requests
@@ -420,12 +462,13 @@ The window shows:
- the site's origin; - the site's origin;
- what the transaction does, when the wallet can read it: - what the transaction does, when the wallet can read it:
- a token transfer; - a token transfer;
- a token approval; - a token approval, which lets a contract move your tokens;
- a swap through the Uniswap Universal Router, step by step; - a swap, an exchange of one token for another, through the Uniswap
Universal Router, step by step;
- the From address and the contract or recipient, in full; - the From address and the contract or recipient, in full;
- the value in ETH and its USD value; - the value in ETH and its USD value;
- the largest network fee the transaction can cost, with the gas limit and fee - the largest network fee the transaction can cost, with the gas limit and the
per gas; price per unit of gas;
- the network and the nonce; - the network and the nonce;
- the raw data. - the raw data.
@@ -434,35 +477,40 @@ transaction shown, and checks the signed transaction against every value on the
screen before it broadcasts anything. What you read is what goes out, or nothing screen before it broadcasts anything. What you read is what goes out, or nothing
does. "Reject" tells the site you refused. does. "Reject" tells the site you refused.
One transaction request is open at a time. A site that sends another while one One transaction request is open at a time, across all sites. While one is open,
is unanswered is told to wait. the wallet refuses any other, and the site is asked to send it again later.
### Signature requests ### Signature requests
A connected site can ask you to sign a message or typed data. Typed data is A connected site can ask you to sign a message or typed data. The request opens
structured data laid out as named fields. The request opens in a window of its in a window of its own. The window shows:
own and shows the site's origin, the type, the From address and what will be
signed.
A plain message is shown as text, in the order of its bytes. A character that - the site's origin;
paints nothing, such as a zero-width character, is shown as a marked code - whether a message or typed data is to be signed;
instead. The hex form of the message is shown under the text. - the From address;
- what will be signed.
A plain message is shown as text, left to right in the order it was written, so
right-to-left characters cannot reorder it. An invisible character, such as a
zero-width space, is shown as its code in a small box, for example `U+200B`. The
message is also shown as hex, that is as the hexadecimal digits of its bytes.
Typed data is shown as its fields. Fields that the site added but that are not Typed data is shown as its fields. Fields that the site added but that are not
signed are listed apart, under "Not part of the signature". When the data is a signed are listed apart, under "Not part of the signature". A token permission
token permission (a `Permit`, or a Permit2 permission; Permit2 is Uniswap's is a `Permit` or a Permit2 permission. Permit2 is Uniswap's contract for token
token allowance contract), a red warning names the spender, and each token and allowances, that is for permissions to move tokens. For a token permission, a
amount that the signature lets the spender take. red warning names the spender and each token and amount that the spender may
take.
"Sign" is disabled, and the screen says why, when: "Sign" is disabled, and the screen says why, when:
- the typed data cannot be signed as shown; - the typed data cannot be signed as shown;
- the typed data names a different network than the active one; - the typed data names a different network than the active one;
- a message is not in hex form. - a message is not hex.
A request made with the older `eth_sign` method shows a warning that says so. A request made with the older `eth_sign` method shows a warning that names the
Enter your password and click "Sign" to sign. "Reject" tells the site you method. Enter your password and click "Sign" to sign. "Reject" tells the site
refused. you refused.
### Network switch requests ### Network switch requests
@@ -492,51 +540,61 @@ Settings lists the sites under three headings:
- Connected Sites: allowed without it; - Connected Sites: allowed without it;
- Denied Sites: denied with it. - Denied Sites: denied with it.
`[x]` beside an allowed or connected site disconnects it. The site is told it `[x]` beside an allowed or connected site disconnects the site. The site is told
has no address. `[x]` beside a denied site forgets the refusal. it has no address. `[x]` beside a denied site forgets the refusal.
Making another address active disconnects every site allowed without "Remember" Making another address active disconnects every site allowed without "Remember",
and rejects every request still waiting for an answer. and rejects every request still waiting for an answer. A site remembered for the
old address only is not told the new one.
## Scam protection ## Scam protection
Five defenses are on in a new install. Address poisoning is a scam. The scammer gets an address that resembles one you
have dealt with into your history, hoping that you copy it later instead of the
real one. Five defenses against this and related scams are on in a new install.
Fake tokens. Scammers create tokens that borrow a well-known symbol, such as Fake tokens. Scammers issue tokens from their own contracts under a well-known
`USDT` or `ETH`, from a contract that has nothing to do with it. The wallet symbol, such as `USDT` or `ETH`. The wallet knows which contracts may carry each
knows which contracts may carry each symbol on its bundled list. A token that symbol on its bundled list. The balance list and the send screen hide a token
carries one of those symbols from any other contract is hidden from your that carries one of those symbols from any other contract. `ETH` and the test
balances, from the send screen and from the transaction history. `ETH` and the network's `SepoliaETH` belong to no contract at all, so every token that claims
test network's `SepoliaETH` belong to no contract at all, so every token that them is hidden. In the history, the rule applies while "Hide fake tokens
claims them is hidden. A token you tracked yourself is still listed, at zero. In impersonating a known symbol" is on. A token you track yourself is still listed
the history, this is the setting "Hide fake tokens impersonating a known at zero while "Show tracked tokens with zero balance" is on.
symbol".
Tokens with few holders. Real tokens have many holders; scam tokens made for Tokens with few holders. Real tokens have many holders; tokens made for address
address poisoning have almost none. While "Hide tokens with fewer than 1,000 poisoning have almost none. While "Hide tokens with fewer than 1,000 holders" is
holders" is on, the history and the send screen hide a token with fewer than on, the history and the send screen hide a token with fewer than 1,000 reported
1,000 reported holders. The balance list has its own rule: an untracked token holders. The balance list has its own rule: an untracked token appears only when
appears only when it is on the bundled list or has at least 1,000 reported it is on the bundled list or has at least 1,000 reported holders. When
holders. A token whose holder count Blockscout does not report is not hidden Blockscout reports no holder count for a token, the history and the send screen
from the history or the send screen. While "Use Blockscout" is off, no holder still show it. While "Use Blockscout" is off, no holder count is known.
count is known.
Fraud contracts. When the wallet detects a fake token transfer, it adds the Fraud contracts. When the wallet detects a fake token transfer, it adds the
contract to a list that it keeps. Transfers from those contracts are hidden from token's contract to a list that it keeps. While "Hide transactions from detected
the history while "Hide transactions from detected fraud contracts" is on. The fraud contracts" is on, the history hides transfers from the contracts on that
send screen always leaves them out. Turning the fake-token setting off also list. The send screen never offers those tokens. Turning "Hide fake tokens
stops new contracts being added to the list. impersonating a known symbol" off also stops new contracts being added to the
list.
Dust transactions. Scammers send tiny amounts of ETH from addresses that Dust transactions. Scammers send tiny amounts of ETH from an address that
resemble your real contacts, so that the look-alike lands in your history. While resembles one you have dealt with, so that the similar address lands in your
"Hide dust transactions below N gwei" is on, ETH transfers below the threshold history. While "Hide dust transactions below N gwei" is on, ETH transfers below
are hidden from the history. A gwei is a billionth of an ETH. The threshold the threshold are hidden from the history. A gwei is a billionth of an ETH. The
starts at 100,000 gwei, which is 0.0001 ETH. A threshold of 0 hides nothing. threshold starts at 100,000 gwei, which is 0.0001 ETH. A threshold of 0 hides
nothing.
Known scam addresses. The wallet ships a list of addresses used for fraud, Known scam addresses. The wallet ships a list of addresses used for fraud, for
phishing and wallet draining. Sending to one of them raises a warning on the phishing and for wallet drainers, contracts that empty a wallet once given
confirmation screen, and such an address cannot be tracked as a token. The list permission. Sending to one of them raises a warning on the confirmation screen,
holds only addresses involved in fraud; it is not a sanctions list. and such an address cannot be tracked as a token. The list holds only addresses
involved in fraud; it is not a sanctions list.
Addresses and hashes are shown in full, because address poisoning relies on
shortened ones. The only shortened address is the label of a token with no known
symbol: the first 10 characters of its contract address and "…". That label
appears on the send screen, on the token screen, and on the confirmation and
result screens of a send.
The wallet also warns about phishing sites. The list of phishing domains is The wallet also warns about phishing sites. The list of phishing domains is
built into the extension and checked in your browser, so nobody learns which built into the extension and checked in your browser, so nobody learns which
@@ -557,7 +615,7 @@ Switching:
- reloads every balance and history for the new network; - reloads every balance and history for the new network;
- tells every open site about the new network. - tells every open site about the new network.
On Sepolia, a red `[TESTNET]` banner sits at the top of every screen, and no USD On Sepolia, a red `[TESTNET]` banner sits at the top of the wallet, and no USD
values are shown. values are shown.
## Settings ## Settings
@@ -571,8 +629,10 @@ Click the gear in the title bar.
characters when you add a wallet. characters when you add a wallet.
- Tracked Tokens: the tokens tracked on the active network, each with `[x]`, and - Tracked Tokens: the tokens tracked on the active network, each with `[x]`, and
"+ Add token". "+ Add token".
- Display: "Show tracked tokens with zero balance", "UTC Timestamps" (otherwise - Display:
times are shown in your local time) and the theme, System, Light or Dark. - "Show tracked tokens with zero balance";
- "UTC Timestamps"; otherwise times are shown in your local time;
- the theme: System, Light or Dark.
- Network: Ethereum Mainnet or Sepolia Testnet. - Network: Ethereum Mainnet or Sepolia Testnet.
- Ethereum RPC: the RPC endpoint URL. "Save" checks that the URL answers for the - Ethereum RPC: the RPC endpoint URL. "Save" checks that the URL answers for the
shown network before storing it. shown network before storing it.
@@ -583,8 +643,11 @@ Click the gear in the title bar.
- Token Spam Protection: the four filters described under Scam protection, and - Token Spam Protection: the four filters described under Scam protection, and
the dust threshold in gwei. the dust threshold in gwei.
- Allowed Sites, Connected Sites, Denied Sites: see Managing sites. - Allowed Sites, Connected Sites, Denied Sites: see Managing sites.
- About: the project link, the license, the author, the version, the release - About:
date and the commit the build came from. - the project link;
- the license and the author;
- the version and the release date;
- the commit the build came from.
- Debug: hidden until you click the version ten times. It holds a checkbox that - Debug: hidden until you click the version ten times. It holds a checkbox that
turns on a red banner and more detailed logging in the browser console. turns on a red banner and more detailed logging in the browser console.
@@ -598,8 +661,8 @@ nothing can be signed or sent. Sites that ask the wallet for anything are told
that the saved data cannot be read. that the saved data cannot be read.
Click "Export Saved Data" first. The stored data appears in a box on the screen, Click "Export Saved Data" first. The stored data appears in a box on the screen,
and the browser offers it as a download where it can. Keep that copy. It may and the browser offers it as a download when it allows one. Keep that copy. It
hold the encrypted keys of your wallets, and it is the only copy. may hold the encrypted keys of your wallets, and it is the only copy.
"Erase Saved Data" deletes every wallet stored in this browser and starts the "Erase Saved Data" deletes every wallet stored in this browser and starts the
wallet fresh. You must type `ERASE MY WALLET` first. With a kept recovery wallet fresh. You must type `ERASE MY WALLET` first. With a kept recovery
@@ -611,11 +674,10 @@ gone.
**Can I use AutistMask alongside another wallet?** **Can I use AutistMask alongside another wallet?**
Yes. AutistMask derives addresses on the path `m/44'/60'/0'/0`, so the same Yes. AutistMask computes addresses by the rule `m/44'/60'/0'/0`, so the same
recovery phrase gives the same addresses as any other wallet using that path. recovery phrase gives the same addresses as any other wallet using that rule.
Two wallet extensions can be installed side by side. Only one of them can answer Two wallet extensions can be installed side by side. Only one of them can hold
a site as `window.ethereum`; sites that list wallets can pick AutistMask by `window.ethereum`; sites that list wallets can pick AutistMask by name.
name.
**Can I use a hardware wallet?** **Can I use a hardware wallet?**
@@ -634,15 +696,16 @@ by AutistMask.
**What happens if I uninstall the extension?** **What happens if I uninstall the extension?**
Your data is deleted. Make sure you have your recovery phrase, private key or The browser deletes the extension's storage. Make sure you have your recovery
extended private key before uninstalling. With that backup you can restore the phrase, private key or extended private key before uninstalling. With that
wallet in AutistMask or in any other wallet that uses the standard path. backup you can restore the wallet in AutistMask or in any other wallet that uses
the rule `m/44'/60'/0'/0`.
**What happens when a transaction times out?** **What happens when a transaction times out?**
After 60 seconds without a receipt the wallet shows the error screen. The After 60 seconds without a receipt the wallet shows the error screen. A timeout
transaction has not failed; it may still confirm. Check the hash on Etherscan. does not mean the transaction failed. It may still confirm; check the hash on
Congestion or a low fee can delay confirmation past 60 seconds. Etherscan. Congestion or a low fee can delay confirmation past 60 seconds.
## License ## License