ERC-4337スマートコントラクトウォレットの仕組みとは?
執筆者 Brady Werkheiser
Account Abstraction (ERC-4337)を利用するスマートコントラクトウォレットは、EOAウォレット(Externally Owned Address)のような単一の秘密鍵で管理されるウォレットではなく、スマートコントラクトで管理されるウォレットを作成します。
スマートコントラクトウォレットのプログラマブルな性質により、幅広い新しいユースケースの開発が可能になります。セキュリティや匿名性を損なうことなく複雑さを軽減することで、スマートコントラクトウォレットは次のブロックチェーンユーザーのオンボーディングを促進します。
埋め込み型スマートコントラクトウォレットをアプリに追加したいですか?シードフレーズやガス、摩擦なしでユーザーをオンボーディングできる、エンタープライズグレードのEmbedded Accountsと垂直統合されたAAインフラストラクチャをご利用ください。
スマートコントラクトウォレットとは?
スマートコントラクトウォレットは、スマートコントラクトを使ってデジタル資産(暗号通貨、NFTなど)を保管・管理します。スマートコントラクトウォレットはアカウントアブストラクションの基盤です。アカウントアブストラクションとは、さまざまなEthereumアカウントタイプを単一のタイプに統合するプロセスであり、アカウントの制御をネットワークから「アブストラクト」してスマートコントラクトで定義します。
ERC-4337を利用するスマートコントラクトウォレットの例:
- Soul Wallet
- Candide
- UniPass
- Castle
- Openfort
ERC-4337を利用していない主なスマートコントラクトウォレットはSafeとArgentです。
コントラクトアカウント(cas)とは?
スマートコントラクトとも呼ばれるコントラクトアカウントは、当事者間の情報交換を管理するコードを含みます。コントラクトアカウントはすべてのDeFiプロトコル、NFTコレクション、ERC-20トークンで利用されています。
コントラクトのビジネスロジックと状態変数はすべてオンチェーンに保存されます。スマートコントラクトの状態とコードはオンチェーンに保存されるため、それをデプロイする外部所有アカウントが手数料を支払う必要があります。
注: web3プログラミングには「スマートコントラクトファクトリー」というパターンがあり、コントラクトが事前に定義されたインターフェースを介して他のコントラクトをデプロイできます。この場合でも、取引を開始するのはEOAであり、その費用もEOAが支払う必要があります。
コントラクトアカウントは**外部所有アカウント(eoas)**とどう違うのか?
スマートコントラクトアカウントとEOAアカウントの主な違いは、スマートコントラクトアカウントはロジックを含めることができる点です。EOAアカウントのみが取引を開始できるため、スマートコントラクトアカウントはBundlerのEOAアカウントに依存し、ユーザーオペレーションを1つの取引にまとめてブロックチェーンに送信します。
現在のEthereumプロトコルでは、コントラクト呼び出しであれ価値の転送であれ、取引を開始できるアカウントタイプはEOAのみです。あるコントラクトアカウントが別のコントラクトアカウントを呼び出す場合でも、取引の起点は常に外部所有アカウントです。
以下はコントラクトアカウントとEOAアカウントの比較です:
では、スマートコントラクトウォレットが自ら取引を開始できないなら、どうやって取引を実行するのでしょうか?
ERC-4337スマートコントラクトウォレットの仕組み
スマートコントラクトウォレットは取引を開始できないため、EOAウォレットによって呼び出される必要があります。このプロセスは複数のAccount Abstractionインフラストラクチャプロバイダー(例: Bundler)とスマートコントラクト(例: EntryPoint)によってサポートされています。
スマートコントラクトウォレットの取引の典型的な流れ:
- ユーザーがUserOperationを実行したいと考える
- UserOperationは「代替メンプール」に送信される
- EOAウォレットを持つBundlerがすべてのUserOperationをバンドルし、EntryPointコントラクトに送信する
- EntryPointコントラクトがすべてのUserOperationを検証・実行する
- UserOperationをバンドルしたEOAウォレットは、ユーザーに代わって使用したETHを、ユーザーのウォレットまたはPaymasterから返済される

スマートコントラクトウォレットの仕組みを技術的な観点から理解するのは難しいかもしれませんが、エンドユーザーにとっては、スマートコントラクトウォレットはEOAウォレットと比べて多くの改善をもたらします。プログラマビリティやソーシャルリカバリーのような機能がその例です。
スマートコントラクトウォレットの仕組みを学ぶための追加リソース
Account Abstractionの各コンポーネントがどのように機能するかについて詳しくは、AlchemyのAccount Abstraction InfrastructureエンジニアリングチームのDavid Philipsonが執筆したシリーズ「You Could Have Invented Account Abstraction」をお読みください。
よくある質問
スマートコントラクトウォレットとは何ですか?
スマートコントラクトウォレットは、単一の秘密鍵の代わりにスマートコントラクトを使って暗号通貨やNFTなどのデジタル資産を保管・管理するものであり、アカウントアブストラクションの基盤となっています。
ERC-4337スマートコントラクトウォレットはどのように機能しますか?
ERC-4337ウォレットは、ユーザーがUserOperationを作成し、それを代替メンプールに送信し、bundlerがそれらを収集してEntryPointコントラクトに送信して検証・実行を行い、その後ウォレットまたはPaymasterから返済を受けるというフローを使用します。
スマートコントラクトアカウントとEOAアカウントの違いは何ですか?
スマートコントラクトアカウントはプログラム可能なロジックを含むことができますが、自ら取引を開始することはできません。一方、EOAアカウントは取引を開始できますが、プログラム可能な機能を持ちません。
UserOperationとは何ですか?
UserOperationは、ユーザーが作成する取引リクエストであり、代替メンプールに送信され、bundlerがEntryPointコントラクトを通じた処理のためにそれらを収集します。
ERC-4337におけるbundlerの役割は何ですか?
BundlerはEOAウォレットを持つノードであり、代替メンプールからUserOperationを収集し、それらをバンドルしてEntryPointコントラクトに送信し、検証・実行を行います。
EntryPointコントラクトとは何ですか?
EntryPointコントラクトは、bundlerによって送信されたバンドル済みのUserOperationを検証・実行するオンチェーンのスマートコントラクトです。
スマートコントラクトウォレットにはガス手数料が必要ですか?
スマートコントラクトウォレットはPaymasterを使ってガス手数料をスポンサーできるため、ユーザーが直接ガスを支払う必要のないガスレス取引が可能になります。
ERC-4337スマートコントラクトウォレットの例を教えてください。
例としてSoul Wallet、Candide、UniPass、Castle、Openfortがあります。一方、SafeとArgentはERC-4337を使用していないスマートコントラクトウォレットです。
関連する概要
ウォレット2026年10月14日
ペイマスターとは?
ペイマスターはユーザーオペレーションのガスを肩代わりするか、その手数料をERC-20トークンで払わせる。
ウォレット2026年9月2日
エージェントウォレット:AIエージェントのためのセッション・権限モデル
AIエージェントが秘密鍵を保持せずに、スコープ制限された失効可能なウォレットアクセスを得る仕組み:セッション、委任署名、即時失効。
ウォレット2026年7月29日
秘密鍵をCursorに貼り付けるのはやめよう:コーディングエージェントにウォレットを持たせる方法
鍵を渡さずにコーディングエージェントにウォレットを持たせる。Alchemy CLIのエージェントウォレットがスコープ付きセッションを使い、.envに秘密鍵を置かずにエージェントがトランザクションを実行できる仕組み。

ブロックチェーンで魔法を生み出す
Alchemyは、最も強力なweb3開発者向けプロダクトとツールを、豊富なリソース、コミュニティ、そして卓越したサポートと組み合わせて提供します。