USDC入金確認2026 チェーンとバウンティの検証方法
USDCの入金は、チェーン、公式コントラクト、受取アドレス、数量が一致する送金記録で確認します。取引の成功と最終性まで確認したうえで、バウンティの支払いの約束、返金、自己送金と区別してください。
- 支払いを受けることになっているチェーンと公式USDCコントラクトアドレスを確認してください。
- 選択したチェーンの受取アドレスを、ご自身のウォレットか受取サービスで確認してください。
- そのチェーンのエクスプローラーで、取引の成功とTransferイベントを照合してください。
- 取引が含まれるブロックの最終性を確認してください。
- 作業代金と紐付けたうえで、返金・自己送金・重複記録を別々に分類してください。
USDCの入金は、合意したチェーンの公式トークンの転送で確認します。受取アドレスと数量が一致している必要があります。取引の成功とブロックのファイナリティも別途確認してください。募集要項の報酬額やハッシュだけでは、バウンティの支払いを認めることはできません。
アドレスとチェーン IDは、Circle・Ethereum・Baseの公式ドキュメントで再確認してください。(確認値 Ethereum Mainnet: チェーン ID 1、USDCコントラクト 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48。Base Mainnet: チェーン ID 8453 0x2105 , USDCコントラクト · 出典 developers.circle.com · 2026-10-23 確認)
チェーン別のUSDCコントラクトアドレスとチェーン ID
EthereumとBaseのUSDCは、それぞれ異なるコントラクトアドレスを使用します。チェーン IDはネットワークを区別する番号です。トークンコントラクトアドレスは、そのチェーン上でトークンを識別します。受取アドレスは、代金を受け取るウォレットやアカウントのアドレスです。
執筆・ドキュメント確認日は2026年10月23日です。以下の表は、メインネットのCircle発行USDCを対象としています。メインネットは、実際に価値のある資産を使用するネットワークです。
| ネットワーク | チェーン ID、10進数 | チェーン ID、16進数 | 公式USDCコントラクトアドレス | エクスプローラー |
|---|---|---|---|---|
| Ethereum Mainnet | 1 | 0x1 |
0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 |
Etherscan |
| Base Mainnet | 8453 | 0x2105 |
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 |
BaseScan |
コントラクトアドレスの根拠は、CircleのUSDC contract addressesです。Ethereumのチェーン IDは、EIP-155に明記されています。Baseのチェーン IDは、Baseのeth_chainIdドキュメントで確認できます。
受取アドレスの文字列が同じでも、チェーンが異なれば別の記録です。Ethereumでの入金がBaseの残高に自動で合算されるわけではありません。SepoliaなどのテストネットのUSDCは、実際の代金として集計しないでください。
受取アドレスと取引を確認する手順
支払い条件を先に確定しておくと、別の取引を代金と誤認しにくくなります。この手順は、公開された取引記録を読み取る作業です。エクスプローラーでの照会に、ウォレットの接続や署名は必要ありません。
- 支払いに関する合意で、ネットワークとトークンを確認してください。募集要項のドル表示と、実際に支払われるUSDCの数量を区別してください。
- 受取先のウォレットで、該当ネットワークの受取アドレスをコピーしてください。取引所を利用する場合は、そのサービスの入金画面を基準にしてください。サービスの対応ネットワークも確認してください。
- CircleのMainnetの表で、該当チェーンのコントラクトアドレスを探してください。トークン名やロゴだけで判断しないでください。
- 該当チェーンのエクスプローラーでtxHashを検索してください。txHashは取引を見つけるための識別値です。検索結果がなければ、ネットワークとハッシュを再度照合してください。
- 取引詳細のステータスとトークン転送記録を確認してください。続いてLogsタブで、実際のTransferイベントを照合してください。
検索で見つからないハッシュは、まだ入金の証拠にはなりません。ただし、検索できないという理由だけで、相手の詐欺と断定することはできません。まずはチェーンの間違いやハッシュのコピー時の誤りを確認してください。
Transferイベントで確認する項目
受け取ったかどうかは、USDCコントラクトが残したTransferイベントで判定します。取引上部のToは、呼び出されたコントラクトの場合があります。トークンを受け取ったアドレスは、イベント内のtoで確認してください。
ERC-20標準では、転送イベントを次のように規定しています。
トークンが転送される際には、値がゼロの転送も含め、必ず発生させる必要があります。
出典: ERC-20: Token Standard、Transferの項目
この規定には、数量が0の転送も含まれます。そのため、イベントが存在するだけで、対価の支払いがあったと認めてはいけません。原文はERC-20: Token Standardで確認できます。
| 確認項目 | 読み取る場所 | 合格基準 |
|---|---|---|
| 取引の実行結果 | Statusまたはレシートのstatus
|
Successまたは0x1
|
| ログ発行コントラクト | ログのaddress
|
該当チェーンの公式USDCコントラクトと一致 |
| イベントの種類 | イベント名とシグネチャ | Transfer(address,address,uint256) |
| トークン送信元アドレス | イベントのfrom
|
支払いの根拠と結び付けられる送信元 |
| トークン受取アドレス | イベントのto
|
事前に確認した受取アドレス全体と一致 |
| 実際の数量 | イベントのvalue
|
小数桁数を適用した数量が支払い条件と一致 |
| 格納先ブロック |
blockNumber、blockHash
|
現在のチェーンの同じ高さのブロックとハッシュが一致 |
| ファイナリティ | 該当ブロックの確定状態 | 以下のファイナリティ確認手順で別途確認 |
支払い代行コントラクトがトークンを送る場合もあります。そのため、取引の送信者と雇用主のアドレスが常に同じとは限りません。作業番号と支払い明細も併せて照合してください。アドレスだけで、実際の支払者の身元を確定することはできません。
生ログの読み方
生ログでは、アドレスと数量がエンコードされています。topics[0]は、イベントシグネチャのハッシュです。標準USDC Transferの送信元アドレスは、topics[1]にあります。受取アドレスは、topics[2]に格納されています。
- アドレス: 該当するtopicの末尾20バイトをアドレスとして解釈します。
- 数量:
dataを符号なし整数として解釈します。 - 小数桁数: 公式コントラクトの
decimals()の値を使って数量を換算します。 - 承認イベント:
Approvalは使用権限の承認記録です。
EthereumとBaseの該当USDCは、小数点以下6桁を使用します。生の数量を1,000,000で割り、USDC単位で読み取ります。ETHの小数桁数をそのまま適用しないでください。ログ画面の構造は、EtherscanのEvent Logsで確認できます。
取引の成功とファイナリティの違い
Successは、取引の実行が成功したことを意味します。ブロックが最終確定したという意味ではありません。ファイナリティとは、合意ルール上でブロックが確定した状態を指します。この記事で最終確認済みとする入金は、ファイナリティまで確認した記録です。
| ネットワーク | 先に観測できる状態 | 最終確認の基準 |
|---|---|---|
| Ethereum | 取引がブロックに格納され、成功 | 取引のブロックがfinalizedの範囲に含まれること |
| Base | 事前確認またはL2ブロックへの格納 | 該当L2ブロックがL1バッチのファイナリティに到達 |
Base内の転送とEthereumへの出金では、手順が異なります。出金の待機期間をBase内の入金にそのまま適用しないでください。Baseでは、ブロックへの格納とL1バッチのファイナリティを区別しています。根拠はBaseのTransaction Finalityです。
エクスプローラーでファイナリティが明確でない場合
ファイナリティの表示がなければ、確認状態を保留にできます。開発者は、該当チェーンの信頼できるRPCで再検証できます。RPCは、ブロックチェーンのノードにデータを要求するインターフェースです。
-
eth_chainIdで接続先のチェーンを確認してください。 -
eth_getTransactionReceiptでレシートを読み取ってください。status、ログ、ブロック番号とブロックハッシュを確認してください。 - 同じブロック番号を
eth_getBlockByNumberで照会してください。返されたハッシュがレシートのblockHashと同じか照合してください。 -
eth_getBlockByNumberにfinalizedとfalseを渡してください。返されたブロックの高さが、取引のブロックの高さ以上であることを確認してください。Baseの取引は、Base RPCのfinalizedブロックを基準に比較してください。
レシートがnullの場合、その応答ではブロックに格納されたかどうかを確認できません。finalizedの照会に対応していない応答も、成功の判定に使わないでください。latestや単純な確認数を、finalizedに置き換えて解釈してはいけません。メソッドは、Ethereum JSON-RPCとBaseのブロック照会ドキュメントで説明されています。
計算例: 架空の100 USDC入金
以下は実際の支払い事例ではなく、架空の検証例です。支払い条件はBaseでの100 USDCと仮定します。アドレスとログ番号は、説明のために作成した値です。例示したアドレスを実際の受取アドレスとして使用しないでください。
| 項目 | 架空の例の値 |
|---|---|
| チェーン | Base Mainnet、チェーン ID 8453 |
| ログ発行コントラクト | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 |
| トークン送信元アドレス | 0x2222222222222222222222222222222222222222 |
| 合意した受取アドレス | 0x1111111111111111111111111111111111111111 |
| Transferの受取アドレス | 0x1111111111111111111111111111111111111111 |
| 生の数量 | 100,000,000 最小単位 |
| 小数桁数 | 6桁 |
| 換算数量 | 100,000,000 ÷ 1,000,000 = 100 USDC |
| 取引ステータス | status = 0x1 |
| 取引識別子 | H、実際のtxHashの代わりに使う記号 |
| ログの位置 |
logIndex = 7、架空の値 |
| ファイナリティ | 取引のブロックがfinalizedの範囲に含まれると仮定 |
この条件での受取数量は100 USDCです。Hのブロックハッシュの一致も確認済みと仮定します。外部の支払者による作業代金であることを結び付ける根拠は、別途必要です。
受取アドレスが別のアドレスなら、本人への入金とは認めません。募集要項に100ドルとしか記載されていなければ、支払い数量も別途確認の対象です。100 USDCの受け取りは、現金100ドルの受領を意味するものではありません。
バウンティの状態別の入金証拠の比較
バウンティの進捗状況とウォレットの入金状態は、別々に記録してください。バウンティは、指定された作業に対する報酬です。以下の分類は、支払いの証拠を管理するための基準です。法的な債権や税務上の売上の確定に代わるものではありません。
| 確認した内容 | 証明できる範囲 | 入金管理上の状態 |
|---|---|---|
| 募集要項上の100ドル | 募集要項に表示された報酬条件 | 支払いの約束を検討 |
| 受注の提案または採用メッセージ | 作業の提案や選定の事実 | 受注段階 |
| 作業完了・検収承認 | プラットフォーム上の作業の進捗状況 | 支払いの有無を別途確認 |
| エスクローへの入金 | 別の保管アドレスへの資金移動 | 本人の受領前 |
| ERC-20 Approval | 指定した相手のトークン使用権限 | トークン転送の証拠ではないこと |
| txHashはあるものの別のアドレスに転送 | そのアドレスへの転送 | 本人への入金ではないこと |
| 本人のアドレスへの転送成功、ファイナリティ未確認 | 実行された転送 | ファイナリティ待ち |
| 本人のアドレスへの最終確認済みの外部入金 | オンチェーンでの受領の事実 | 作業代金との関連を確認 |
| 最終入金と作業の支払い明細が一致 | 該当作業に結び付く受領の証拠 | 代金受領を確認 |
エスクローは、条件が満たされるまで資金を別に保管する方式です。保管されているという事実だけでは、本人のウォレットに支払われたとはみなせません。プラットフォームの承認とERC-20のApprovalも、異なる概念です。
最終入金にも、作業番号や請求書を関連付けてください。取引記録だけでは、支払いの目的までは分かりません。同じ数量の別の入金と混同しないよう、支払日も照合してください。
新しい作業代金として誤って集計するよくあるミス
ウォレットに入ったUSDCを、すべて新しい作業代金として合算しないでください。受領の事実と経済的な目的は、別の項目です。以下のチェックリストは、運用上の入金台帳を整理するための基準です。
- 返金: 過去の支出が戻ってきた金額は、元の支出に関連付けてください。
- 自己振替: 自分が管理するウォレット間の移動を区別してください。
- ブリッジ移動: 自分の資産のチェーン間移動は、新たな顧客からの支払いと分けてください。
- スパムトークン: USDCという名前よりも、公式コントラクトアドレスを確認してください。
- ブリッジ表現トークン: コントラクトが異なる場合は、Circle発行USDCとは別の資産として記録してください。
- 数量0のイベント: Transferがあっても、対価の支払いとして加算しないでください。
- 重複照会: 同じイベントをエクスプローラーとAPIでそれぞれ加算しないでください。
- 証拠の再利用: すでに別の作業に関連付けた入金を、再度割り当てないでください。
- 自己循環: 同じ取引の出金と再入金を併せて確認してください。
- 事後の返還: 受け取った代金を返した場合は、元の受領記録に関連付けてください。
重複を防ぐ記録項目
イベントはchainId + txHash + logIndexで区別できます。同じ取引に、複数の転送イベントが含まれることがあります。そのため、txHashだけですべてのイベントを1つにまとめると、漏れが生じる可能性があります。
| 保存項目 | 記録の目的 |
|---|---|
| チェーン ID、トークンコントラクトアドレス | ネットワークと資産の識別 |
| txHash、logIndex | 転送イベントの区別 |
| blockNumber、blockHash | 格納先ブロックの再検証 |
| 送信元アドレス、受取アドレス | 資金の移動方向の確認 |
| 生の数量、decimals、USDC数量 | 単位換算の再現 |
| ブロック時刻、確認時刻、タイムゾーン | 転送時点と検証時点の区別 |
| ファイナリティの状態 | 保留記録と最終記録の区別 |
| 作業番号、請求書、支払い明細 | 入金目的の関連付け |
| 返金・自己振替・重複の分類 | 新しい作業代金の過大集計の防止 |
ファイナリティ到達前にブロックの再編成が発生した場合は、記録を再検証してください。削除されたログは、既存の暫定集計から除外する必要があります。作業代金の合計とウォレット残高は、別々に管理してください。残高には、以前からの保有分やその後の出金も反映されます。
5分検証表
この表は、約5分で確認する項目を整理したチェック表です。ブロックチェーンのファイナリティが完了するまでの時間を保証するものではありません。確認できない項目は、保留のままにしてください。
| 順序 | 確認する質問 | 残す結果 |
|---|---|---|
| 1 | 支払い条件のチェーンと数量を把握していますか? | 合意したネットワーク・USDC数量 |
| 2 | 受取サービスはそのチェーンに対応していますか? | 受取アドレス・対応の有無 |
| 3 | ログのコントラクトはCircleのアドレスと同じですか? | 公式コントラクトとの一致の有無 |
| 4 | 取引が成功し、自分のアドレスに転送されましたか? | ステータス・Transferの受取アドレス |
| 5 | 生の数量を正しく換算しましたか? | 実際のUSDC数量 |
| 6 | 格納先ブロックとファイナリティを確認しましたか? | ブロックハッシュ・確定状態 |
| 7 | 該当作業に対する外部からの支払いとして結び付けられますか? | 作業番号・支払いの根拠 |
| 8 | 返金・自己振替・重複を分離しましたか? | 分類結果・イベント識別子 |
最初の確認では、支払いの根拠が不足している場合もあります。その場合は、不足しているチェーン名やtxHashを求めてください。別のアドレスに転送されていた場合は、不一致の項目を具体的に伝えてください。
よくある質問
txHashを受け取るだけで入金完了ですか?
ハッシュだけでは、入金完了を確認できません。成功した取引でも、別の受取アドレスが含まれることがあります。コントラクト・受取アドレス・数量・ファイナリティを併せて確認してください。
Successなのにウォレットの残高が表示されない場合はどうすればよいですか?
まず、イベントの受取アドレスと公式コントラクトを照合してください。一致している場合は、選択したネットワークとトークンの表示を確認してください。受取サービス内部での反映状況も、別途確認の対象です。
Baseの入金をEthereumで探してもよいですか?
Baseの取引は、Baseのエクスプローラーで照会してください。同じアドレスを使っていても、チェーンごとの記録は分かれています。Ethereumの検索結果だけで、Baseに入金されていないと判断しないでください。
取引上部に0 ETHと表示されていたら、入金はないということですか?
0 ETHの表示は、USDCが転送されていないことの証拠ではありません。取引のETH数量とERC-20トークンの数量は別です。TransferイベントのUSDC数量を確認してください。
最終確認済みの外部入金なら、新しい売上ですか?
外部からの入金だけでは、新しい作業の売上を確定できません。返金や別の目的の送金の場合もあります。請求書と支払い明細を使って、入金目的を関連付けてください。
入金の確認結果で税金を計算してもよいですか?
この手順は、オンチェーンでの受領の証拠を確認するためのものです。個人の納税結果を判断するものではありません。韓国の税務案内は、国税庁の総合所得税の概要で確認してください。
FAQ
USDCの入金を確認するには何が必要ですか?
まず、支払いを受けることになっているチェーンとUSDCの数量を確認してください。受取アドレスとtxHashも必要です。正規のコントラクトのTransferイベントと取引のファイナリティを照合してください。
EthereumとBaseのUSDCコントラクトアドレスは同じですか?
それぞれ異なります。チェーンごとのコントラクトアドレスは、CircleのUSDC contract addressesで確認してください。ウォレットに表示されるUSDCの名前やロゴだけで同じ資産だと判断しないでください。
EthereumとBaseのチェーンIDは何ですか?
Ethereum MainnetのチェーンIDは1です。Base MainnetのチェーンIDは8453です。RPCのeth_chainIdの応答は、それぞれ0x1と0x2105です。
txHashがあればバウンティは支払われたということですか?
txHashは取引を見つけるための識別値です。本人に支払われた証拠とするには、受取アドレスを照合する必要があります。正規のコントラクトと数量、取引の成功、ファイナリティも確認してください。
Successとfinalizedはどう違いますか?
Successは取引の実行が成功したことを意味します。finalizedはブロックの最終確定状態を示します。成功した送金でも、ファイナリティは別途確認してください。
100 USDCが生ログではなぜ100000000と表示されるのですか?
EthereumとBaseの該当するUSDCは、小数点以下6桁を使用します。生の数量100,000,000を1,000,000で割ると100 USDCです。エクスプローラーですでに換算された数量は、再度割らないでください。
取引の上部にあるToとTransferのtoのどちらを見ればよいですか?
トークンの受取アドレスは、Transferイベントのtoで確認してください。取引の上部にあるToは、トークンや支払いのコントラクトの場合があります。アドレス全体を、あらかじめ確認した受取アドレスと照合してください。
募集告知の100ドルと100 USDCの入金は同じ意味ですか?
募集告知の100ドルは、表示された報酬条件です。実際に支払うトークンの数量は、支払いの合意内容で確認する必要があります。100 USDCの受け取りが、現金100ドルの受け取りを意味するわけではありません。
エスクローへの入金やApprovalは代金を受け取った証拠になりますか?
エスクローへの入金は、別の保管用アドレスへの移動を示します。ERC-20 Approvalは、トークンの使用権限の承認です。本人の受取アドレスへの実際の送金は、別途確認してください。
USDCの入金記録の重複はどう防ぎますか?
チェーンIDとtxHash、logIndexを一緒に記録してください。同じイベントを複数の照会経路で重複して合算しないでください。すでに別の作業に割り当てた入金を再利用していないかも確認してください。
返金や自分のウォレット間の送金も、新しい作業の代金ですか?
返金と自己送金は、新しい作業の代金とは別に分類してください。オンチェーンで送金されたという事実だけでは、支払いの目的は分かりません。元の支出や移動の記録と関連付けてください。
USDCの入金確認は5分以内に終わりますか?
5分検証表は、確認の順序をまとめたツールです。ネットワークのファイナリティやサービスへの反映には、さらに時間がかかる場合があります。確認できていない項目は保留として記録してください。
Sources
- Circle Docs: USDC contract addresses
- EIP-155: Simple replay attack protection, Ethereum Mainnet チェーンID
- Base Documentation: eth_chainId
- ERC-20: Token Standard, Transfer·Approval·decimals
- Etherscan Information Center: Event Logs
- Etherscan Information Center: Explore a Contract Address
- Ethereum: JSON-RPC API, レシート・ログ・finalizedの照会
- Ethereum Execution APIs: eth_getTransactionReceipt
- Base Documentation: Transaction Finality
- Base Documentation: eth_getBlockByNumber
- Ethereum: Networks, ネットワークごとの残高と取引履歴
- Etherscan: USDC Token Contract, 小数点以下6桁の表示
- 国税庁: 総合所得税の概要
Images

