什么是 EVM 钱包地址?哪些链在用它?

EVM 地址、链与钱包详解,作者:ChainGate.

EVM 钱包地址是以太坊或任何运行以太坊虚拟机(Ethereum Virtual Machine)的区块链上一个账户的地址:0x 后接 40 个十六进制字符,共 42 个字符。同一个地址可以在以太坊、Arbitrum、Base、Optimism、Polygon、BNB Chain、Avalanche 以及其他所有 EVM 兼容网络上使用。

如果表单向你要 EVM 地址,它要的就是你的钱包为以太坊显示的那个 0x 地址。你不需要为每条链准备不同的地址;你需要的是在对方期望的网络上发送,因为每条链各自记录自己的余额。

写着「请输入你的 EVM 钱包地址」的表单、在比特币和 Solana 旁边列出一个「EVM」网络的交易所、向你索要它的空投:这个说法默认你知道它指的是你的哪一个地址。本指南解释什么是 EVM 地址、为什么同一个地址能在几十条网络上使用、从哪里复制它、哪些钱包和链算是 EVM 兼容,以及哪些币绝对不能转到它上面。

简要版

  • 一把密钥,一个地址,许多条链。EVM 地址由你的私钥推导而来,所以 MetaMask、Rabby 或 Trust Wallet 在以太坊、Base、Arbitrum、Polygon 和 BNB Chain 上显示的是同一个 0x 地址。
  • 格式是 0x + 40 个十六进制字符,共 42 个字符。字母的大小写是一个校验和(ERC-55);全小写的写法是同一个地址。
  • 比特币(1、3、bc1)、Solana(base58)、Tron(T)和 XRP(r)的地址都不是 EVM 地址。从这些网络转到 0x 地址的币,或者在错误的 EVM 网络上转出的 EVM 代币,通常都会丢失。
  • 在钱包里账户名称下方找到地址,检查它有 42 个字符且校验和有效,并在每次转账前确认两边的网络一致。

1. 什么是 EVM 钱包地址?

EVM 钱包地址标识 EVM 区块链上的一个账户。在 ethereum.org 的文档里,由私钥控制的账户叫作外部账户(externally owned account),它的地址是对公钥做 Keccak-256 哈希后的最后 20 个字节,写成 0x 加 40 个十六进制字符。这就是钱包显示、浏览器索引、别人想付款给你时粘贴的那个地址。

前面的「EVM」一词说明这个地址属于哪一族网络。格式由以太坊定义,每一条复制了以太坊执行环境的链都用同样的格式。因此一个以太坊地址、一个 Polygon 地址和一个 Base 地址是同一种字符串,而对一个普通钱包来说,它们就是同一串字符。

交易所和空投表单用这个词来避免逐条列出网络。「请输入你的 EVM 钱包地址」的意思是:把你控制的 0x 地址给我们,我们会在我们支持的某条 EVM 网络上发送。

2. EVM 是什么意思?

EVM 是 Ethereum Virtual Machine(以太坊虚拟机)的缩写。ethereum.org 的开发者文档把它描述为一个在整个网络中一致地执行代码的去中心化虚拟环境,并要求每个实现都遵循以太坊黄皮书(Ethereum Yellow Paper)中的规范。它是协议中运行智能合约并保存每个账户状态的那一部分。

一条链运行同一个虚拟机或它的一个近似副本,使同样的智能合约字节码、同样的账户模型和同样的地址格式都能在它上面工作,这条链就是 EVM 兼容的。对用户来说,这意味着在每条这样的链上都是一个钱包、一个地址和同样的交易流程。对开发者来说,这意味着为以太坊编写的代码几乎不用改就能部署到别处。

在加密货币圈,这个缩写也用来指整个群体:「EVM 链」「EVM 钱包」「EVM 代币」。在加密货币之外,EVM 指项目管理中的挣值管理(earned value management),所以直接搜索这个词会同时得到两种结果。

3. 哪些区块链是 EVM 兼容的?

以太坊、它的 Layer 2 rollup,以及大多数大型的替代 Layer 1 链。这个名单有几百条网络;ChainGate Gas 追踪器目前跟踪的这些全部都是 EVM 链:

Ethereum, Polygon, BNB Chain, Avalanche, Arbitrum, Optimism, Base, Linea, PulseChain, Blast, Scroll, Gnosis Chain, Unichain, opBNB, Kava, Taiko, Chiliz, Mantle, Celo, Syscoin, Peaq, Berachain, Soneium, Sonic.

这份名单来自 Gas 追踪器的数据源,会随着网络的加入而增长。

它们每一条都有自己的链 ID,钱包需要这个数字来区分它们。EVM 链 ID 列表把每条主要网络和测试网对应到它的 ID,Chainlist 则收录了另外几百条。

不是 EVM 的:比特币、Litecoin、Dogecoin 和 Bitcoin Cash(有自己地址格式的 UTXO 链)、Solana、XRP Ledger、Cardano、TON、Sui 和 Aptos。Tron 是个尴尬的例子:它的虚拟机源自 EVM,它的地址甚至包含与同一把密钥生成的以太坊地址相同的 20 个字节,但显示为以 T 开头的 34 个字符的字符串,而且网络是独立的,所以钱包和交易所把 Tron 当作一个独立的家族。

4. EVM 地址长什么样?

0x,然后是 40 个取自 0-9 和 a-f 的字符,共 42 个字符。ethereum.org 的文档用 0x5e97870f263700f46aa00d967821199b9bc5a120 作为示例。地址里没有网络前缀:Polygon 地址和以太坊地址肉眼无法区分,这正是为什么网络必须单独选择。

网络家族地址长什么样是 EVM 地址吗?
以太坊、Arbitrum、Optimism、Base、Polygon、BNB Chain、Avalanche C-Chain、Linea、Scroll 及其他 EVM 链0x + 40 个十六进制字符(共 42 个)是,每条链上都是同一个
比特币1...、3... 或 bc1...(26 到 62 个字符)否
Solana32 到 44 个 base58 字符,无前缀否
TronT + 33 个 base58 字符(共 34 个)否,尽管它的虚拟机源自 EVM
XRP Ledgerr + 24 到 34 个 base58 字符否

EVM 地址里的大写字母是一个校验和,不是地址的一部分。ERC-55 根据地址的哈希来混合字母的大小写,使得打错一个字符几乎总能被发现;该标准给出的随机打错而不被发现的概率是 0.0247%。全小写的写法是同一个地址,每个钱包都接受,但大小写混合而校验和不匹配的地址会被拒绝。

比特币的 bc1 地址使用另一种编码 Bech32,由 BIP 173 定义,而 XRP Ledger 地址使用自己的 base58 字母表并带有 4 字节校验和。这些编码互不重叠,所以钱包通常从前几个字符就能判断一个地址属于哪一族。

5. 我的 EVM 地址在每条链上都一样吗?

对普通的钱包账户来说,是的。地址由你的公钥计算而来,计算过程不涉及链,所以在以太坊上给你某个 0x 地址的那把密钥,在 Base、Arbitrum、Polygon 和 BNB Chain 上给你的也是同一个地址。钱包显示一个地址,在它下面切换网络。

不共享的是地址背后的一切。每条链各自记录原生币的余额和自己的代币合约:你在 Base 上的地址里的 USDC 和以太坊上的 USDC 位于不同的合约,合约地址指南用 Circle 在各链上的地址展示了这一点。Gas 用每条链自己的币支付,所以一个在以太坊上持有 ETH 的地址,在 Polygon 上持有 POL 之前无法支付 Polygon 上的交易。

有两个例外。多签保险库之类的智能合约钱包本身是合约,而部署在一条链上的合约不会在另一条链上存在,除非有人在那条链上以同一个地址部署它。另外,自 2025 年 5 月的 Pectra 升级起,EIP-7702 允许普通账户在某条链上给自己挂上代码;地址不变,但这段代码做的事可能因链而异。

6. 如何找到我的 EVM 钱包地址?

打开钱包,选择账户,复制账户名称下方显示的那串字符。各个应用的细节略有不同:

MetaMask、Rabby、Rainbow、Coinbase Wallet
0x 地址显示在主屏幕的账户名称下方,通常缩写为开头和结尾的几个字符,旁边有一个复制按钮。无论选择哪条 EVM 网络,显示的都是同一个地址。
多链钱包(Trust Wallet、OKX Wallet、Bitget Wallet)
这些钱包把比特币、Solana 和 EVM 账户并排放在一起,所以要找标注为 Ethereum 或 EVM 的那一项。例如 Bitget Wallet 在选择「All Networks」或任何一条 EVM 网络时显示 EVM 地址;比特币和 Solana 条目是属于其他链的不同地址。
硬件钱包(Ledger、Trezor)
密钥保存在设备里;配套应用或 MetaMask 之类连接的钱包负责显示地址。分享地址之前先在设备屏幕上核对它。
交易所
交易所的充值地址是交易所的钱包,不是你的。充值页面为每条网络给出一个地址,而且在以太坊、Arbitrum 和 BNB Smart Chain 之间可能各不相同,尽管三者都是 EVM 网络。请从你将要用来发送的那条网络的页面上复制它。

无论用哪个应用,都要用复制按钮复制完整的 42 个字符,而不是手动重新输入,并在粘贴后比对开头和结尾各四个字符。

7. 哪些钱包是 EVM 兼容的?

任何能签署以太坊交易的钱包。为以太坊构建的浏览器扩展和手机应用,比如 MetaMask、Rabby、Rainbow 和 Coinbase Wallet,天生支持每一条 EVM 链,要么预先配置好,要么通过链 ID 和 RPC URL 添加。Trust Wallet、OKX Wallet 和 Bitget Wallet 这样的多链钱包在比特币和 Solana 账户旁边加一个 EVM 账户。Ledger 和 Trezor 的硬件钱包通过自己的应用或 MetaMask 签署 EVM 交易。

添加钱包没有自带的网络需要链 ID、RPC URL、货币符号和浏览器 URL;链 ID 指南逐步讲解了 MetaMask 的表单。只为单一非 EVM 链构建的钱包,比如只支持比特币或只支持 Solana 的钱包,根本无法持有 EVM 地址。

8. 可以把比特币、Solana 或 Tron 的币转到 EVM 地址吗?

不可以。比特币、Solana、Tron 和 XRP Ledger 是各自独立的网络,有自己的地址格式,0x 地址在它们上面并不存在。做得好的钱包会因为地址通不过格式检查而拒绝这笔转账。如果某个服务照样接受了,这些币会去到一个没有任何人持有密钥的网络上,就此消失。

反过来的混淆更常见:在错误的 EVM 网络上发送 EVM 代币。以太坊上的 USDC 和 Base 上的 USDC 是不同链上的不同合约;在 Base 上把 USDC 转到一家只认以太坊充值的交易所,币会落在交易所在 Base 上的地址里,只有交易所能动它。许多交易所对这种找回收费或者干脆拒绝,所以发送前要确认两边的网络一致。

封装版和跨链桥版本把界线弄得更模糊。以太坊上的 Wrapped Bitcoin 是一个带 0x 合约地址的 ERC-20 代币,可以转到 EVM 地址;原生比特币不行。Solana 上的 USDC 有一个 base58 的 mint 地址;Arbitrum 上的同一种美元有一个 0x 合约地址。

9. 如何检查一个 EVM 地址是否有效?

一个格式正确的地址满足三点:以 0x 开头,后面正好 40 个十六进制字符,如果字母大小写混合,则 ERC-55 校验和要匹配。格式有效并不能证明这个地址属于你以为的那个人,所以大额转账要通过第二个渠道确认。

在代码里,构建交易之前先校验。ChainGate 的 SDK 会为以太坊和你注册的任何 EVM 网络检查格式和校验和:

import { ChainGate, isValidEvmAddress } from 'chaingate';

const cg = new ChainGate({ apiKey: process.env.CHAINGATE_API_KEY });

isValidEvmAddress('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'); // true  (ERC-55 checksum matches)
isValidEvmAddress('0xD8DA6bf26964af9d7eed9e03e53415d37aa96045'); // false (mixed case, checksum does not match)
isValidEvmAddress('0xd8da6bf26964af9d7eed9e03e53415d37aa96045'); // true  (all lowercase is accepted)

// The same check on a custom EVM network, here BNB Smart Chain (chain ID 56)
const bsc = cg.networks.evmRpc({
  rpcUrl: 'https://bsc-dataseed.binance.org',
  chainId: 56,
  name: 'BNB Smart Chain',
  symbol: 'BNB',
});
bsc.isValidAddress('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'); // true

// Bitcoin and Solana formats are not EVM addresses
isValidEvmAddress('bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4');   // false

要知道一个地址是钱包还是合约,用 eth_getCode 读取它的代码:钱包地址返回 0x,合约返回字节码。地址校验文档列出了所有支持的网络。

10. EVM 地址、合约地址与 ENS 名称

三者都指向 EVM 链上的一个账户,很容易混淆。钱包地址由私钥控制。合约地址存放代码,没有密钥;它用同样的 0x 格式,所以只有区块浏览器或 eth_getCode 能把它们区分开,合约地址指南对此有解释。绝不要把代币的合约地址当作充值地址。

像 vitalik.eth 这样的 ENS 名称是在 Ethereum Name Service 注册的人类可读的别名,它会解析为一个 0x 地址。支持 ENS 的钱包允许你输入名称来代替地址,但资金仍然到达它所解析到的地址,而且一个名称可以为不同的链指向不同的地址。表单向你要 EVM 地址时,请粘贴 0x 地址而不是名称,除非表单说明接受 ENS 名称。

11. EVM 地址的常见错误

涉及 EVM 地址的损失大多来自下面这些情况之一:

地址对,网络错
收款方期望在以太坊上收到代币,它却到了 Arbitrum 上,或者反过来。确认两边的网络一致,拿不准时先转一笔小额测试。
粘贴了非 EVM 地址
在 EVM 转账表单里粘贴 Solana 或 Tron 地址,好的钱包会校验失败;差的钱包可能要等你签名之后才报错。检查地址以 0x 开头且有 42 个字符。
地址投毒(address poisoning)
骗子从开头和结尾字符与你常用地址相同的地址发来微小的转账,指望你从交易历史里复制他们的地址。要从钱包或已保存的联系人里复制地址,绝不要从交易列表里复制,并且比对的不只是两端。
复制不完整
少一个或多一个字符会把有效地址变成无效地址,这通常会被校验和发现,或者在极少数情况下变成另一个有效地址,这是校验和发现不了的。请使用复制按钮。
Memo 和目标标签
EVM 网络不使用 memo 或目标标签(destination tag);XRP Ledger、TON 和 Stellar 会用。如果表单在 0x 地址旁边显示一个 memo 字段,你很可能打开了另一条网络的表单。

12. 接下来看什么

现在你知道了 0x 地址是什么、为什么它在各条链上重复出现,以及如何检查它。链 ID 列表帮你区分每条 EVM 网络,合约地址指南介绍另一种 0x 地址,而 Gas 追踪器显示现在在每条网络上发送要花多少。如果你希望用一个 SDK 就把比特币、以太坊和其他 EVM 网络上的地址校验、余额和转账都处理好,ChainGate 就能做到。

常见问题

什么是 EVM 钱包地址?

以太坊或任何 EVM 兼容区块链上一个账户的地址:0x 后接 40 个十六进制字符,共 42 个。它由你的私钥推导而来,在以太坊、Arbitrum、Base、Optimism、Polygon、BNB Chain 和其他所有 EVM 网络上都一样。

加密货币里的 EVM 是什么意思?

Ethereum Virtual Machine,以太坊虚拟机,即以太坊上运行智能合约并保存账户状态的环境。运行同一个虚拟机的链被称为 EVM 兼容,为以太坊构建的钱包、地址和代币都能在这些链上使用。

EVM 地址和以太坊地址是一回事吗?

是的。以太坊地址就是 EVM 地址,同一串字符在每条 EVM 链上都有效。人们说 EVM 地址,是想一次涵盖所有这些网络。

我的 EVM 地址在 Polygon、BNB Chain 和 Arbitrum 上都一样吗?

对普通的钱包账户来说,是的:一把私钥在每条 EVM 链上给出同一个地址。余额和代币在每条链上是分开的,gas 必须用每条链自己的币支付。

哪些钱包是 EVM 兼容的?

MetaMask、Rabby、Rainbow 和 Coinbase Wallet 是为 EVM 链构建的;Trust Wallet、OKX Wallet 和 Bitget Wallet 在比特币和 Solana 账户旁边加一个 EVM 账户;Ledger 和 Trezor 硬件钱包通过自己的应用或 MetaMask 签署 EVM 交易。

MetaMask 是 EVM 钱包吗?

是的。MetaMask 围绕 EVM 链构建:它自带以太坊和几条热门网络,并允许你通过链 ID 和 RPC URL 添加任何其他 EVM 链。它的账户地址就是一个 EVM 地址。

Solana 是 EVM 兼容的吗?

不是。Solana 运行自己的虚拟机,使用以 base58 显示、没有 0x 前缀的 32 字节地址。Solana 地址无法接收 EVM 代币,EVM 地址也无法接收 SOL。

Tron 是 EVM 链吗?

从钱包的角度看不是。Tron 的虚拟机源自 EVM,它的地址包含与同一把密钥推导出的以太坊地址相同的 20 个字节,但显示为以 T 开头的 34 个字符的字符串,而且网络是独立的。Tron 上的 USDT(TRC-20)必须转到 T 地址,绝不能转到 0x 地址。

EVM 地址有多长?

42 个字符:0x 前缀加 40 个十六进制字符,编码 20 个字节。大小写混合的字母是 ERC-55 校验和;小写写法是同一个地址。

如果我在错误的网络上发送代币会怎样?

如果两条网络都是 EVM 链,代币会到达另一条链上的同一个地址。在你自己的钱包里可以切换网络看到它们;在交易所则只有交易所能找回,而且许多交易所会收费或拒绝。如果目标网络不是 EVM 链,正确的钱包会阻止这笔转账;如果它照样发出去了,资金就无法找回。

使用 ChainGate 构建

把这些想法落地 —— ChainGate 提供钱包、交易与托管 RPC,一次安装即可覆盖以太坊以及 20 多条其他区块链。