转过来的币看不到:先分清是没到账,还是没显示
转账那头显示成功,钱包这头一个数字都没多。多数人的第一反应是"币是不是丢了",而绝大多数情况下,币好好地待在你的地址上,只是钱包没把它摆出来给你看。钱包界面显示什么,和链上记着什么,从来不是同一件事。
第一步:去链上查,别在钱包里翻
钱包首页那串余额,是钱包读出来的一份结果,不是账本本身。要判断币到底到没到,只有区块浏览器说了算。
做法很短:复制你的收款地址,打开这条链对应的浏览器,搜地址,看代币转账那一栏里有没有这一笔。搜地址,不是搜转出那边给你的那张成功截图——那张图只能说明对方发出去了,说明不了到了哪。
浏览器认地址,不认截图。
还有个位置要看对。以太坊系的浏览器把普通转账和代币转账分成两栏,前者列的是原生币的进出,后者才是各种代币的往来。你收到的如果是一枚代币,它不会出现在前一栏里,金额那格显示 0 也属正常——真正记着这笔的是代币转账那一栏,标签通常写作 Token Transfers 或者中文界面的"代币转账"。找错栏目就会得出"链上也没有"的错误结论。
查出来的结果决定往下走哪一条。
| 浏览器上看到的 | 说明什么 | 去哪一节 |
|---|---|---|
| 有进账,状态已确认 | 币在地址上,是钱包没显示 | 第二到第四节 |
| 有这笔,但还没确认 | 交易还在排队,不用做任何事 | 第五节 |
| 这个地址上根本没有这笔 | 可能发到了别的链或别的地址 | 第五节 |
下面三节按"从最省事到最费事"排:先花一眼确认自己看的是不是那条链、那个账户,再动手往列表里加代币。反过来做,你可能费半天劲添完一个合约,才发现只是网络切错了。
情况一:币在,但你正看着另一条链或另一个账户
这是新手最容易卡住的一种,因为界面上什么错都没报。
同一个地址在多条 EVM 链上长得一模一样,余额却各归各的。钱包当前切在这条链,你在另一条链上收到的那笔当然不显示,这不是故障,是你看错了账本。转账记录里那条链的名字,和钱包顶部当前网络的名字,得对得上。
另一种是账户看错了。一套助记词能派生出很多个账户,钱包界面上一般只显示你用过的那几个;如果对方转到的是你第二个账户的地址,首页余额自然一动不动。
核对方法是笨办法,也是唯一可靠的办法:把浏览器里这笔转账的接收地址,和钱包里当前显示的地址逐字符比一遍。只看开头四位和末尾四位是不够的,专门冲着这个习惯来的地址投毒就是这么下手的,可以用相似地址对比工具把两串地址摆在一起看差异。
地址一样、链不一样,是两回事。
这条规律只在同一套地址格式的链之间成立。Solana、TRON 这类非 EVM 链用的是另一种地址格式,把 EVM 地址粘进去多半会被界面直接判为无效、根本发不出去。所以真正让人找半天的,几乎都发生在几条 EVM 链彼此之间——地址长得一样,格式校验也过得去,只有你自己知道当初想发去哪条。
情况二:链和账户都对,但钱包不认识这枚代币
钱包不会自动把世界上每一枚代币都列出来。MetaMask 的帮助文档把原因说得很直:代币数量增长之后,它并不维护一份权威的代币清单(见 MetaMask 帮助中心关于显示代币的说明)。常见的主流币被内置在列表里,冷门一点的、新发的、或者你换到一条不常用的链上的同名代币,就得你自己告诉钱包一声。
列表里没有,不等于余额是零。
动手之前,先花十秒排掉两种假警报。一种是钱包的资产列表由它自己的数据源拼出来,遇上网络波动或者索引滞后,会比链上慢几分钟;下拉刷新一次,或者切到别的网络再切回来,列表往往就补上了。另一种是你收到的根本不是代币而是一枚 NFT——NFT 在多数钱包里归在单独的收藏品页签下,一般不会出现在代币列表里。
都排除掉,就手动添加:在钱包的代币管理里选自定义代币,把合约地址粘进去。多数钱包能自己从合约里读出符号和精度并填好,少数要你手动补;确认无误之后那一行就会出现,余额也跟着显示出来。同一枚代币在不同链上是不同的合约,换了链要重新添加一次。
添加代币是本地动作,不上链也不花网络费
这一节值得单独讲,因为围绕它的骗局特别多。
你的代币余额,记在那份代币合约的账里。添加自定义代币做的事情,只是把合约地址告诉钱包,让钱包去读这份账里属于你的那一行。读取是只读查询——按 ERC-20 标准,查余额的 balanceOf 是一个不改变合约状态的 view 方法(见 ethereum.org 的 ERC-20 标准文档),它不构成一笔交易,自然也不需要付网络费。
由此推出两件互为反面的事。
一是添加不会把币"加进来",删除也不会把币"删掉",界面上的开关只管钱包读不读。二是任何页面要求你先付一笔费用去"激活"或"解锁"某枚代币的显示,都是骗局,真实的显示问题不需要付钱。
顺着这条线还能推出一个好用的判据:整个添加过程不需要你签任何东西。钱包弹出签名窗口、要你连接某个网站、或者要你先做一次授权才肯把代币显示出来,这几步和显示余额毫无关系,遇到就退出去。有些钱包提供自动扫描代币的开关,那也只是把"读哪些合约"这件事交给它的数据源去猜,同样不涉及签名。
合约地址从哪里取也有讲究:从项目自己的公开页面复制,或者在浏览器里点开那笔转账记录、进到代币页面去复制。不要在搜索结果里挑一个名字对得上的合约——同名假币可以随便发,这类套路在《钱包里凭空冒出来的币能碰吗:假代币识别》里拆得更细。
情况三:链上也查不到,那就不是显示的问题了
按你的地址查不到这笔进账,或者查到了却一直停在待确认,说明币还没有真正落到这里,大致三种可能。
一是还没进块。交易发出去了但还在排队,浏览器上能查到这笔交易本身、状态是待确认,这时候什么都不用做,等就行。要等多久跟链有关:出块快的链通常几秒到十几秒就有结果,拥堵时段或者当初给的手续费偏低,可能要多等一阵,各条链大致需要几个确认才算稳,可以对着各链到账时间对照看。等待期间最忌讳的是又发一笔,那只会让两笔一起挤在队列里。
二是发到了另一条链上。地址是对的,链选错了,币确实存在,只是在另一个账本里,能不能拿回来分几种情况,《转错链了还能找回吗》按情况拆过。
三是地址填错了。这一类基本没有补救余地,能做的只有别再上第二次当:那些主动找上门、承诺"付费帮你找回"的服务,几乎都是骗局,先当骗局处理。
数字对不上:精度填错会让金额看着离谱
还有一种看不到,是看到了但数字不对——列表里那一行明明出现了,金额却是 0.0000 或者一长串。
问题多半出在小数位数,也就是精度这一格。它只影响显示时小数点点在哪,不会改变链上的真实余额。假如一枚代币的真实精度是 6,那一格却填成了默认的 18,同样一笔钱就会被显示成一个极小的数,看起来像没到账。
做法是照抄,不要猜:浏览器的代币页面上写着这枚代币的精度和符号,和钱包里那一格对一遍,不一样就改成和链上一致的。反过来,如果某枚代币小数位很多而钱包只显示四位,余额也可能被截断显示成 0,这时候点进那一行看完整数字即可。
还有一种更别扭的情况:添完之后列表里冒出两行符号一模一样的代币,一行有钱一行是零。符号是发行方自己填的字符串,可以重复;区分它们的唯一依据是合约地址。点开每一行核对合约,把和转账记录里对得上的那一个留下,另一行八成是之前误添进来的同名币,直接隐藏掉。
把前面几节合起来,排查顺序就固定下来了:先确认链上有没有,再确认自己看的是不是那条链和那个账户,最后才是把代币添进列表、把精度填对。顺序反过来,人会一直在钱包界面里打转。
添加之前想确认的
添加自定义代币这个动作本身有风险吗?
添加只是让钱包去读某个合约里记着的你的余额,不产生链上交易,也不给任何人权限。风险不在添加,而在合约地址的来源:地址如果是从陌生页面复制来的,你可能把一枚假代币添进列表,之后被诱导去闪兑或授权。地址只从项目自己的公开页面,或者那笔转账记录里点进去的代币页面取。
钱包里看不到,能不能干脆再转一次?
先别转。第一笔到底在哪还没查清,再发一笔就变成两笔都要排查,还多付一次网络费。正确顺序是拿收款地址去区块浏览器查,确认第一笔的状态和落点,再决定要不要动第二笔。
把代币从钱包列表里删掉,币会不会跟着没?
不会。列表里显示还是隐藏,改的只是钱包本地要不要去读这个合约。余额记在代币合约里,和界面上的开关无关;换一个钱包用同一套助记词导入,余额照样在。