[{"data":1,"prerenderedAt":41},["ShallowReactive",2],{"blog-content-en-how-to-add-custom-network-and-token-to-wallet":3},{"slug":4,"title":5,"excerpt":6,"description":7,"bodyHtml":8,"faqItems":9,"howToSteps":19},"how-to-add-custom-network-and-token-to-wallet","How to Add a Custom Network and Token to Your Wallet (and Verify the Contract Address)","Your wallet only shows the networks and tokens it was told about. Here is how to add a custom EVM network by hand, verify a token's real contract address before importing it, and fix the errors that make balances read as zero.","How to add a custom network and token to your crypto wallet: chain ID, RPC URL, verifying the contract address on a block explorer, and fixing zero balances.","\u003Cblockquote>\u003Cp>The WATS Hot Wallet comes with its supported chains already configured — EVM networks including Ethereum and its L2s, plus Solana and TON — so there is no RPC endpoint to paste in for those. Adding a custom EVM network by hand takes five fields: network name, chain ID, RPC URL, native currency symbol and block explorer URL. Adding a token takes one verified contract address for that exact chain, confirmed on a block explorer first. Importing a token is local — no gas, no transaction, no approval.\u003C\u002Fp>\u003C\u002Fblockquote>\n\n\u003Ch2>Why Wallets Don't Show Every Network and Token by Default\u003C\u002Fh2>\n\u003Cp>A wallet does not carry a master list of everything on-chain. It ships with a few preloaded networks and a curated token list, and anything outside that has to be pointed at by hand. The reason is partly technical — a wallet can only read balances from a network if it knows where to send its queries, and there is no universal registry of chains — and partly safety. Anyone can deploy a token named after a well-known asset, so a wallet that displayed everything landing in your address would double as a phishing channel.\u003C\u002Fp>\n\u003Cp>So when you bridge to a newer rollup, or hold a token that never made the built-in list, the wallet is simply not looking for your balance. Adding the network and contract tells it where to look.\u003C\u002Fp>\n\n\u003Ch2>What You Need First: Chain ID, RPC URL and Block Explorer\u003C\u002Fh2>\n\u003Cp>Adding an EVM network manually takes five fields, each with a job. \u003Cstrong>Network name\u003C\u002Fstrong> is a label for you. \u003Cstrong>Chain ID\u003C\u002Fstrong> is not cosmetic: it is a unique integer bound into the transactions your wallet signs, which is what stops a transaction signed for one chain from being replayed on another. \u003Cstrong>RPC URL\u003C\u002Fstrong> is the endpoint the wallet queries to read balances and broadcast transactions — if you are unsure what that node does, read \u003Ca href=\"\u002Fblog\u002Fwhat-is-an-rpc-node\">what an RPC node is and why your wallet needs one\u003C\u002Fa> before pasting one in. \u003Cstrong>Native currency symbol\u003C\u002Fstrong> is the ticker shown beside gas balances; its decimals are not a field you type, being fixed at 18. \u003Cstrong>Block explorer URL\u003C\u002Fstrong> is nominally optional; fill it in anyway, because it turns a transaction hash into something you can inspect.\u003C\u002Fp>\n\u003Cp>Source all five from the chain's own documentation. As of 2026 community registries mirror them, but official docs are what to trust.\u003C\u002Fp>\n\n\u003Ch2>Step 1: Add a Custom Network to Your Wallet Manually\u003C\u002Fh2>\n\u003Cp>Open your wallet's network settings, choose to add a network manually, paste the five fields in, save, and switch to it. Prefer this to a site's one-click add-network button, which picks the RPC URL for you.\u003C\u002Fp>\n\u003Cp>Most wallets query the endpoint on save and compare the chain ID it reports against the one you typed; if they disagree, they refuse to save. That check is a feature — do not work around it. Once the network is active, your native balance should appear within seconds.\u003C\u002Fp>\n\n\u003Ch2>Step 2: Find and Verify the Real Token Contract Address\u003C\u002Fh2>\n\u003Cp>This is where people lose money, so slow down. A token is identified by its contract address on a specific chain — not by its ticker, not by its logo. The same project has a different address on every chain it deploys to, and impostor contracts with identical names are cheap to create.\u003C\u002Fp>\n\u003Cp>Take the address from a source the issuer controls — their documentation, official site or verified social account — then confirm it on the chain's explorer. A legitimate contract normally shows verified source code, a substantial holder count and transfer history going back to deployment; a copycat deployed last week shows a few holders and almost no activity. If you are unsure which signals matter, \u003Ca href=\"\u002Fblog\u002Fhow-to-read-a-block-explorer\">learning to read a block explorer\u003C\u002Fa> pays for itself the first time it stops you. Compare the full string character by character: attackers generate vanity addresses matching at the first and last four precisely because that is the part people check.\u003C\u002Fp>\n\n\u003Ch2>Step 3: Add the Token and Confirm the Balance Appears\u003C\u002Fh2>\n\u003Cp>With the correct network selected, open the import-token option and paste the contract address. The wallet reads the symbol and decimals straight from the contract. Do not overwrite those auto-filled values unless the contract is non-standard — the decimals field controls how your balance is displayed, and a manual mistake there makes your holdings look wildly wrong.\u003C\u002Fp>\n\u003Cp>Save, and the balance should render immediately. Importing a token is purely local: it writes an entry to your wallet's display list, costs no gas, sends no transaction and grants no approval to anyone.\u003C\u002Fp>\n\n\u003Ch2>Red Flags: Fake Tokens, Spoofed RPCs and Copycat Contracts\u003C\u002Fh2>\n\u003Cp>Three patterns recur. \u003Cem>Airdropped dust\u003C\u002Fem>: an unfamiliar token appears unprompted, often mimicking a real name, with a website baked into its metadata. Do not interact with it: trying to sell or approve it is usually the trap. \u003Cem>Spoofed RPC endpoints\u003C\u002Fem>: a malicious node can show fabricated balances and prices. It cannot sign for you, but it can mislead you into signing, so use endpoints from official docs or a provider you chose yourself. \u003Cem>Copycat contracts\u003C\u002Fem>: matching ticker, matching logo, different address. The explorer is the tiebreaker every time.\u003C\u002Fp>\n\n\u003Ch2>Troubleshooting: Wrong Chain ID, Zero Balance, Missing Decimals\u003C\u002Fh2>\n\u003Cp>If the wallet rejects your network, the chain ID almost certainly does not match what the RPC reports; check for a decimal-versus-hexadecimal mix-up, the most common cause. If the network saves but nothing loads, the endpoint is unreachable or rate-limited — swap in a second endpoint for the same chain ID and see whether the problem follows.\u003C\u002Fp>\n\u003Cp>If the token imports but shows zero, confirm you are on the chain where you actually hold it. Assets bridged to one network are not present on another, and identical-looking addresses across EVM chains make this easy to misread. If the funds went over the wrong network entirely, importing a token will not surface them — \u003Ca href=\"\u002Fblog\u002Fsent-crypto-to-wrong-network-how-to-recover\">recovering crypto sent to the wrong network\u003C\u002Fa> covers what is and is not retrievable. If the balance is off by orders of magnitude, the decimals are wrong: remove the token and re-import it.\u003C\u002Fp>\n\n\u003Ch2>Adding Networks and Tokens in WATS Wallet\u003C\u002Fh2>\n\u003Cp>The \u003Ca href=\"\u002Fhot-wallet\">WATS Hot Wallet\u003C\u002Fa> works across a maintained set of supported chains: EVM networks including Ethereum and its L2s, plus Solana and TON. The verification habits above still apply to any token you hold there.\u003C\u002Fp>\n\u003Cp>One thing differs on those supported networks. Every action — transfers, swaps, staking — is charged in a single token, ATS, instead of the chain's native gas: on EVM through an ERC-4337 paymaster, and on Solana and TON through an equivalent fee-payer and relayer. Because ATS is a LayerZero OFT, one balance covers all of them. That changes \u003Cem>which\u003C\u002Fem> token pays the fee, not what the network charges — the ATS amount tracks the live cost. Collected ATS is burned, from 100 million toward a 30 million floor. It stays non-custodial throughout: you hold your keys and WATS never holds a key. WATS is the first and only wallet to combine ERC-4337 and OFT single-token fees, charged instead of native gas, with that burn.\u003C\u002Fp>",[10,13,16],{"q":11,"a":12},"Does adding a token to my wallet cost gas?","No. Importing a token is a local change to your wallet's display list — it broadcasts no transaction and costs nothing, in the WATS Hot Wallet or any other. Gas applies only to actions that actually touch the chain; in WATS those are charged in ATS instead of the network's native token, which changes which token pays the fee rather than what the network charges. If a site asks you to sign or approve something in order to add a token, it is doing something else and you should not sign.",{"q":14,"a":15},"How do I know a token contract address is the real one?","Get the address from a source the issuer controls, such as their official documentation or verified social account, then confirm it on the chain's block explorer. A genuine contract usually shows verified source code, a large holder count, and transfer history going back to deployment. Compare the full address character by character, since scam contracts often match at the first and last four characters.",{"q":17,"a":18},"Why does my token show a zero balance after I added it?","The most common cause is being on the wrong chain: the same token symbol exists at different contract addresses on different networks, and a balance on one chain does not appear on another. Check that the selected network matches where the funds actually are, and that the contract address you imported belongs to that chain.",[20,23,26,29,32,35,38],{"title":21,"body":22},"Collect the network details","From the chain's official documentation, gather the network name, chain ID, RPC endpoint URL, native currency symbol and the block explorer URL. Use the project's own docs rather than a link from an unfamiliar site.",{"title":24,"body":25},"Add the network manually in wallet settings","Open your wallet settings, choose to add a network manually instead of accepting an automatic prompt from a website, paste in the five fields and save. The wallet will query the RPC endpoint and refuse to save if the chain ID it reports does not match what you typed.",{"title":27,"body":28},"Switch to the new network and check the native balance","Select the network you just added. Your native gas balance for that chain should load within a few seconds, which confirms the RPC endpoint is reachable — on a chain you have not used before that balance is normally zero, which is fine. The chain ID was already checked against the endpoint when the network saved.",{"title":30,"body":31},"Find the token contract address from an official source","Take the contract address from the token issuer's documentation, official site or verified social account. Remember that the same project has a different address on every chain it deploys to.",{"title":33,"body":34},"Verify the contract on the block explorer","Open the address on that chain's explorer and check for verified source code, a substantial holder count and a long transfer history. Compare the full address character by character, not just the first and last four.",{"title":36,"body":37},"Import the token and let the wallet read its metadata","Paste the verified address into your wallet's import-token screen. Let the wallet auto-fill the symbol and decimals from the contract rather than typing them yourself, then save.",{"title":39,"body":40},"Confirm the balance renders correctly","The balance should appear immediately, with no gas cost and no transaction. If it reads zero, confirm you are on the right chain; if it is off by orders of magnitude, remove and re-import the token so the decimals are read from the contract.",1786059318634]