プロトコル・エージェント

EIP-3009

EIP-3009 — Transfer With Authorization

ERC-20 トークンの送金を、ガス代を払わずに署名だけで承認する Ethereum 拡張規格。署名者・宛先・金額・有効期間・ノンスを EIP-712 で署名し、第三者が送信する。

定義

署名対象は TransferWithAuthorization(address from, address to, uint256 value, uint256 validAfter, uint256 validBefore, bytes32 nonce) の構造化メッセージ。EIP-712 typed-data 形式で署名されるため、リプレイ攻撃やネットワーク間混同が防がれる。

ノンスはユーザが選ぶ 32 バイト値で、トークンコントラクトが「使用済みノンス」を bitmap で管理する。これにより EIP-2612 のような連番ノンスと異なり、並行する承認を順不同で処理できる。

validAfter / validBefore による時間窓制御が可能で、「今署名・2 週間後に有効化・3 週間後に失効」のようなスケジュール決済を扱える。USDC をはじめ主要ステーブルコインが採用。

Lemma Oracle での実装

x402 の EVM スキーム (scheme_exact_evm) は EIP-3009 の transferWithAuthorization を決済機構として直接採用する。クライアントは支払いペイロードに EIP-3009 署名を含め、Facilitator がそれを on-chain に提出する。

Lemma の Trust402 は、EIP-3009 署名に加えて権限委譲証明を要求することで、署名の「機械的な有効性」と「組織的な正当性」を分離して検証する。

宛先がメッセージに直接埋め込まれるため、フィッシング被害下の署名でも被害範囲が限定される (送金先が固定)。EIP-2612 (permit) より安全側に倒れた設計。

始める

署名一発の決済を、検証可能に拡張する。