Ethereumの内部トランザクション: 受け取ったETHを確認するには
コントラクトは別のトランザクションの実行中にETHを送れます。その動きを親のハッシュから探し、現在のネイティブ残高とは分けて確認しましょう。
コントラクトから送られたETHは、ウォレットの通常の履歴に独立した行がなくても、自分のアドレスに届くことがあります。 Ethereum Mainnetでは、エクスプローラーの Internal Txns で資金の動きを探し、親トランザクションを開きます。送金が成功したと判断する前に、受取先、ネイティブETHの金額、実行結果を照合してください。
履歴に行がないことだけでは、資金が失われた証拠にはなりません。MetaMaskの現行ヘルプページは、この履歴表示の制限を説明し、受け取った資金はアカウント残高に反映されると記載しています。これは文書で説明されている表示上の制限です。あなたのウォレットを検証した結果でも、特定の支払いを証明するものでもありません。
内部トランザクションが表すもの
署名付きトランザクションからコントラクトを呼び出すと、そのコントラクトはコードの実行中にETHを送ることができます。この内部の資金移動の受取先は、トランザクションページの上部に表示される宛先とは異なる場合があります。
Solidityのドキュメントによると、コントラクト間の呼び出しは全体のトランザクションに属し、それ自体が新しいトランザクションを作るわけではありません。エクスプローラーの内部記録は、その実行の一部を指しています。この資金移動のために、独立して署名された2つ目のトランザクションが作られるわけではありません。
「内部」は、オフチェーン、隠されている、ロックされているという意味ではありません。送金されたETHは、そのアドレスのネイティブ残高の一部です。保有額を計算するときに、内部送金の金額を残高に上乗せしてはいけません。
受け取ったETHの動きを探す
受取アドレスの全文と、分かる場合は元のトランザクションハッシュを用意します。信頼できる経路から、使い慣れたエクスプローラーを開いてください。これらの公開情報を調べるために、ウォレットを接続したり、署名したり、リカバリーフレーズを共有したりする必要はありません。
- Ethereum Mainnetと受取アドレスを選びます。 別のネットワークで同じように見えるアドレスを調べても、それは別の残高の確認です。受け取る予定の資産がネイティブETHかどうかを確かめてください。ETHとWETHは別々の残高です。
- アドレスのページでInternal Txnsを開きます。 Etherscanは、コントラクトを介したETHの移動を通常のトランザクションやトークン送金の記録と区別しています。予定していた時刻と金額から候補を探し、その親ハッシュを開きます。すでにハッシュが分かっている場合は、それに関連する内部の資金移動を調べてください。
- 内部送金の受取先と金額を照合します。 宛先アドレスの全文を、意図した受取先と比較します。ドル換算額や似た名前のトークンではなく、ネイティブETHの値を確認してください。値がゼロの呼び出しは、正の金額のETH支払いではありません。
- エラーとロールバックを確認します。 親の実行結果と、該当する呼び出し経路に付いたエラーや取り消しの表示を読みます。送金を試みた記録が見えるだけでは不十分です。それを包含する上位の呼び出しが後でリバートすると、その送金も取り消されることがあります。エクスプローラーで明確に判断できない場合は、受取済みと数えず、不明な状態のまま扱ってください。
- 現在のネイティブ残高を別に確認します。 読み取った時点のブロックまたは時刻を記録します。これは現在の保有額を確かめる助けになりますが、見つけたトランザクション以降の送金や他の操作で残高が変わっている可能性があります。
ネットワーク、親ハッシュ、ブロック、受取先、金額、エラーの表示をまとめて保存します。表示内容が食い違う場合に、ウォレットやプロトコルのサポートが調査できる具体的な公開記録になります。
生の呼び出しトレースは支払いの一覧ではない
エクスプローラーは、実行中に起きたことを、呼び出しの木構造であるトレースとして再構成できます。Gethの呼び出しトレーサーには、呼び出しの種類、アドレス、値、入れ子の呼び出し、エラーが含まれます。これらの項目は文脈に沿って読む必要があります。
木構造内の値をすべて合計してはいけません。たとえば、DELEGATECALLの宛先は実行するコードを示しており、ETH支払いの新たな受取先を示すものではありません。また、エクスプローラーの送金一覧は元の呼び出しを絞り込んでいる場合があるため、内部送金の表示が完全なトレースとは限りません。
ロールバックも、1行だけでなく呼び出し経路を読むべき理由です。Solidityのエラー処理のドキュメントは、例外によって、ある呼び出しとその配下の呼び出しで生じた変更が取り消される場合があると説明しています。親トランザクションが成功していても、内部では失敗した試行があり、そのエラーが処理されている場合があります。
ERC-20トークンを受け取る予定だった場合は、別の成功したトランザクションとトークン送金のガイドを参照してください。ETHの内部記録を見つけても、そのトークンが届いた証拠にはなりません。
残高と履歴の記録を分けて考える
Ethereumのネイティブ残高の照会は、指定したブロックまたはブロックタグの時点でアドレスの残高を読み取ります。現在の残高だけでは、どのトランザクションでその残高になったかは分かりません。2つのブロックの残高の差にも、複数のトランザクションが含まれることがあります。読み取りに失敗したりトレースが見つからなかったりする場合は、証拠を得られないということです。残高がゼロであることや、送金が起きなかったことの証明にはなりません。
Owlio 1.1.0は、追加したEthereumアドレスの現在のネイティブETH残高を、ウォレット接続やトランザクションへの署名なしで読み取ります。親トランザクションとその内部の資金移動はエクスプローラーで確認してください。ポートフォリオの数値からは、その呼び出し経路は分かりません。アドレスの一覧はローカルに保存されます。一方、プライバシーポリシーに記載されているとおり、データ提供者には照会したアドレスとIPアドレスが見える場合があります。
取引所の口座では、事業者が自社の顧客台帳に入金を反映したかという別の確認も必要です。入金アドレスへのオンチェーンでの着金だけでは、その反映を証明できません。ウォレットの履歴に関する説明で解決したと考えず、事業者の現行の入金ルールとサポート対応の記録を確認してください。
通常の履歴に行がないという理由だけで、追加の受け取り操作やロック解除の手順が必要になることはありません。プロトコルからの出金にまだ受け取り操作(claim)が必要なら、それは別の手順なので、そのドキュメントで確認してください。履歴に行を表示させるためだけに、追加の支払いをしないでください。この確認手順は、2026年11月6日に確認した一次資料に基づいています。この記事のために実際の送金は行っていません。
よくある質問
内部トランザクションで受け取ったETHは別のトークンですか?
いいえ。ネイティブETHの送金が成功すると、受取アドレスのETH残高に反映されます。「内部」は実行中にどのように資金が移動したかを表す言葉です。別のトークンでも、もう一度足し合わせる必要がある隠れた残高でもありません。
Internal Txnsと表示されていると、送金はまだ保留中ですか?
いいえ。これはエクスプローラー上の分類であり、承認状況ではありません。親トランザクションがブロックに含まれているかと、その実行結果を確認し、該当する内部送金が取り消されていないかも確かめてください。
内部送金を開くと同じトランザクションハッシュに移動するのはなぜですか?
その親トランザクションの中で行われた送金だからです。コントラクト内部の呼び出しによって、独立した署名付きトランザクションが新たに作られるわけではありません。エクスプローラーは、同じ実行内の呼び出しを区別するためにトレースのインデックスを使うことがあります。