Failed 交易常见原因(Out of Gas / Revert)|从 Status Fail 看根因
在 Etherscan 看到交易 Status=Failed 时不一定是钱被偷走——常见 5 类原因:Out of Gas、Reverted、Underpriced、Replacement、Invalid Signature。本文按真实场景拆解每种处理方式。
Etherscan 显示交易 Failed 是什么意思?直接答:Status=Failed 表示这笔交易已上链但执行失败(不是没上链)——常见 5 类原因:Out of Gas(Gas Limit 设低)、Reverted(合约逻辑判定失败如滑点超限)、Underpriced(Gas 太低被节点拒)、Replacement(被同 nonce 高 Gas 顶替)、Invalid Signature(签名无效)。Gas 已扣但 Value 部分会原路退回。
如果你失败重试后想顺利完成出金,可顺路准备 币安官网 的实名账号,并用 币安官方App 看充币地址。下载入口在 下载页。
第 1 步:识别 Failed vs Pending vs Dropped
| 状态 | 含义 | 钱怎样了 |
|---|---|---|
| Success | 已上链且成功 | 已转到 To |
| Pending | 还没上链 | Value 暂被锁 |
| Failed | 已上链但失败 | Gas 扣了,Value 退回 |
| Dropped | 节点丢弃 | Gas 不扣,Value 退回 |
第 2 步:5 类常见 Failed 原因
2.1 Out of Gas
| 原因 | 钱包预估 Gas Limit 不够实际执行需要 |
|---|---|
| 现象 | 交易页显示「Out of gas」 |
| 处理 | 重发,提高 Gas Limit 50-100% |
| Gas 损失 | 全部 Gas Limit 都被扣 |
A:这是最常见的 Failed——尤其在 DeFi 复杂操作。钱包预估通常偏保守,实际网络拥堵时 Gas 用量可能上浮。
2.2 Reverted
| 原因 | 合约逻辑判定失败(require / revert) |
|---|---|
| 常见场景 | DEX 滑点超限、余额不足、授权额度不够、合约暂停 |
| 处理 | 看 Revert Reason,调整参数后重发 |
| Gas 损失 | 实际用掉的 Gas(非全部 Limit) |
2.3 Underpriced
| 原因 | Gas Price 低于节点最低接受值 |
|---|---|
| 现象 | 钱包发出后立刻 Failed |
| 处理 | 提高 Gas Price 重发 |
| Gas 损失 | 0(没真正上链) |
2.4 Replacement(被替换)
| 原因 | 你或别人发了同 nonce 高 Gas 交易顶替 |
|---|---|
| 现象 | 该 TxHash 状态变 Replaced 或 Dropped |
| 处理 | 看新 TxHash 是否符合预期 |
| Gas 损失 | 0 |
2.5 Invalid Signature
| 原因 | 签名格式或参数错误 |
|---|---|
| 现象 | 节点拒绝不接受 |
| 处理 | 重新签名 |
| Gas 损失 | 0 |
第 3 步:在 Etherscan 看 Revert Reason
如果是 Reverted,Etherscan 交易页会显示「Revert Reason」字段:
| 常见 Reason | 含义 |
|---|---|
| TRANSFER_FROM_FAILED | 授权额度不够 |
| Slippage exceeds maximum | 滑点超限 |
| Insufficient balance | 余额不够 |
| Pausable: paused | 合约暂停 |
| Ownable: caller is not owner | 你不是 owner |
| ERC20: approve to invalid address | approve 给了 0x0 |
A:Revert Reason 告诉你具体是哪一行 require 失败——修正参数后重发即可成功。
第 4 步:调试 Reverted 交易的工具
| 工具 | 用途 |
|---|---|
| Etherscan Decode Input | 看交易 calldata 解析 |
| Tenderly Debugger | 单步执行 EVM 看哪行 revert |
| OpenChain Trace | 树状调用栈 |
| Phalcon Inspector | 反向追踪 |
详见 查交易 分类的 Trace 入门篇。
第 5 步:处理 5 种 Failed 的实战
例 1:DEX 兑换 Out of Gas
| 步骤 | 操作 |
|---|---|
| 1 | 看 TxHash 在 Etherscan 显示 Out of gas |
| 2 | 在 DEX UI 重新设置 Gas Limit(手动改 +100%) |
| 3 | 重发 |
例 2:DEX 兑换滑点超限
| 步骤 | 操作 |
|---|---|
| 1 | 看 Revert Reason = Slippage exceeds maximum |
| 2 | 在 DEX UI 把滑点容忍度从 0.5% 调到 2% |
| 3 | 或等市场流动性更好时重发 |
例 3:transferFrom 失败
| 步骤 | 操作 |
|---|---|
| 1 | Revert Reason = TRANSFER_FROM_FAILED |
| 2 | 检查授权额度是否充足 |
| 3 | 重新 approve 提高额度 |
| 4 | 再发原交易 |
第 6 步:避免 Failed 的预防措施
| 预防 | 说明 |
|---|---|
| 钱包预估 Gas 时取「上限」 | 不取「最优」 |
| 滑点设 0.5-2% 而不是 0.1% | 留 buffer |
| 授权额度 ≥ 实际操作量 | 避免 transferFrom 失败 |
| 操作前先用 Tenderly Simulator | 预跑看会不会 revert |
| 大额操作小额测试先行 | 1% 先发,成功再 99% |
风险提示
Failed 交易的 Gas 真扣——重要操作前务必用 Tenderly 模拟,避免反复失败白扔几十美元 Gas。
如果反复 Failed 后想重新尝试,操作完链上 USDT 想出金可借助 币安官网 走 C2C。
实操核对清单
- [ ] 已分清 Failed / Pending / Dropped
- [ ] 已会看 Revert Reason
- [ ] 5 类 Failed 各自处理方式知道
- [ ] 大额前先 Tenderly Simulator 模拟
- [ ] 重发前提高 Gas Limit / 滑点
- [ ] 不在反复 Failed 时强行重发
一站式回顾
A:Failed 交易 = 已上链但执行失败——5 类原因:Out of Gas、Reverted、Underpriced、Replacement、Invalid Signature。核心 4 个动作:看 Status、看 Revert Reason、根据原因处理、重发前提高参数。核心 1 个心法:Failed 不是丢币——Gas 扣,Value 退回——但反复 Failed 浪费 Gas,先模拟再发更稳。
如果想了解 Reverted 交易的更深层 Revert Reason 解读,下一步建议看 Reverted 交易是什么篇。
常见问题
Failed 交易的 Gas 真的扣了吗?
A:是。Out of Gas 与 Reverted 都扣 Gas——已被矿工/验证者打包并执行(虽然失败),他们已付出工作。只有 Dropped 与 Underpriced 不扣。
同一笔 Failed 后能直接重发吗?
A:能,但要提高 Gas Limit 或调整参数。直接重发同样参数会再次 Failed——必须先解决根因。
Failed 的资金为什么没退给我看?
A:退了——只是退到「执行前的状态」——所以你看不到「退回交易」,因为它根本没发生(仅 Gas 被扣)。钱包余额会自动反映。
MetaMask 显示「交易失败」与 Etherscan Failed 是同一回事?
A:是。钱包通过查 Etherscan 或节点 RPC 同步状态——两边显示一致。钱包显示有时延迟,以 Etherscan 为准。
Reverted 与 Out of Gas 怎么区分?
A:在 Etherscan 看具体提示。Out of Gas 显示「Out of gas」字样;Reverted 显示「Revert Reason」字段。两者根因不同。
我能不能在 Failed 后追回 Gas?
A:不能。Gas 已被矿工/验证者拿走,不退。这就是为什么模拟比 Failed 重发省钱。
大额 DeFi 操作怎么避免 Failed?
A:5 步法:(1)Tenderly 模拟;(2)小额先测试;(3)提高 Gas Limit;(4)合理滑点;(5)操作时间避开网络拥堵。
文档发布于 2026-05-08,下次复测计划 2026-08-08(约每 90 天回访一次,确认 Failed 交易 Revert Reason 显示与 Tenderly 模拟工具未变)。