Uniswap Aggregator Hooks:複数の取引ペアが同じプールを使うとき
Uniswap v4のプールに見える経路が、実際には外部の流動性を使うことがある。10月の対応チェーン拡大を機に、複数ペアが同じプールを共有する仕組みと、APIのルーティング条件を読み解く。

複数の取引ペアのインターフェースが一つの流動性源につながる仕組みを表したAI生成の概念図。実在の施設や取引の再現ではない。
要点
- Uniswap Labsは10月22日、Ethereum・Base・Robinhood Chainへの対応拡大を発表した。最初の稼働は3月のTempoだった。
- v4のプールインターフェースが外部流動性を包む場合がある。文書にあるCurveの設計では、複数ペアが一つの元プールを共有する。
- GuidestarベータAPIは明示的な選択が必要。同一チェーンのEXACT_INPUTリクエストに対応し、標準ルーティングへの自動切り替えは行わない。
出来事のタイムライン
Uniswap Labsが、Tempo内蔵のステーブルコインDEXを包む仕組みをaggregator hooksの最初の実稼働として紹介。
LabsがEthereumメインネット・Base・Robinhood ChainのWeb AppとAPIでの対応を発表。
プールの表示は入口にすぎない
2026年10月22日、Uniswap LabsはEthereumメインネット・Base・Robinhood ChainのWeb AppとAPIでAggregator Hooksが稼働したと発表した。外部の流動性源をv4インターフェースで包む仕組みだ。そのため、ルーターから見えるv4プールが、実際のスワップでは別の場所にある流動性を使う場合がある。対応状況は事業者の発表に基づくもので、本稿が各チェーンのデプロイを独立に検証したわけではない。[1]
10月の発表は初登場ではなく、対応範囲の拡大だった。Labsは3月18日、Tempoでの初稼働をすでに報告している。チェーン内蔵のステーブルコインDEXをaggregator hookで包み、複数のv4プールとして見せる設計だ。元の流動性源を通常のv4ネイティブプールに変えずに、ルーティングへ組み込んだ。[2]
ペアは複数でも、準備資産は同じプールにある
公開実装を見ると、この違いが具体的になる。BaseAggregatorHookはv4コアの流動性追加コールバックを通じた追加要求を拒否する。一方、スワップのコールバックはフック側の決済処理を呼び出す。このコードは接続設計の説明になるが、リポジトリに実装があるだけで、掲載されたすべての連携が発表対象の全チェーンで稼働しているとは判断できない。[4][1]
分かりやすい例がCurveだ。リポジトリの説明では、元のCurveプール一つにつきフックを一つ置き、トークンの組み合わせごとにv4のペアを作る。文書の8トークンの例では、28ペアが同じフックと同じ元プールを使う。これは対応関係を示す例であり、特定の8トークンプールの実稼働を観測した報告ではない。[3]
28ペアが見えても、独立した準備資産が28組あるわけではない。スワップは共有プールの状態を変え、取引したトークンを含む別方向の交換にも影響する。同じ流動性源を複数回使うルーターは、その共有状態を考慮する必要がある。ペア名の数だけでは、独立した流動性を判断できない。[3]
ただし、この対応関係はアダプターによって異なる。V2互換の流動性源では、一つのフックが複数の異なる外部ペアを扱い、ファクトリーと二つのトークンから各ペアを特定する。V3互換の仕組みでは、対応する手数料ティアやティック間隔も使う。文書のCurve設計ではフックアドレスの重複が同じプールを示すが、すべての実装に通用する判定方法ではない。[3]
リンク先のAPIは選択式のベータ版
拡大発表によると、Web Appは外部流動性を自動的に含める。一方、発表のAPIリンクはGuidestar Routing (Beta)の文書につながる。このベータ版は現在、Ethereum・Base・Robinhood Chainで、異なる二つのトークン間の同一チェーンEXACT_INPUTスワップに対応する。EXACT_INPUTは入力数量を固定する方式だ。これは文書に記されたAPIの対応範囲であり、あらゆるaggregator-hookコントラクトに同じ制約があるという推論ではない。[1][5]
明示的な利用には、x-api-experimental: trueとx-universal-router-swapsteps: trueの両ヘッダーが必要だ。swapstepsヘッダーだけではGuidestarを指定したことにならない。GuidestarはBEST_PRICEルーティングでCLASSICのAMM見積もりを返す。リクエストでAMMプロトコルとUniswapXを併記しても、UniswapXは検討対象に入らない。[5]
明示的に要求したGuidestarの見積もりは、標準ルーティングに自動で切り替わらない。非対応の要求はHTTP 400、対応範囲内でも見積もりが見つからなければHTTP 404を返す。文書はベータ期間中、この二つのヘッダーを外した標準見積もりも別途並行して要求するよう案内している。呼び出すサービス側で実装する処理だ。[5]
routeが空でも、経路がないとは限らない
Guidestarの応答ではquote.routeは空の配列になる。実行順序はquote.swapStepsに入り、経路の表示や検証にはこちらを使う。swapStepsの存在から、Guidestarが生成した見積もりだと識別できる。別フィールドのquote.routeStringはデバッグ用の自由形式テキストで、固定の経路形式として解析してはいけない。[5]
経路を読むには、プール数や見慣れた一つのフィールドだけでは足りない。使われる流動性源は何か、別のペアが同じ状態に触れるか、どのエンジンが応答を作ったか、実際に見積もりが返ったか。フックの対応関係とAPI応答は、それぞれ別の部分を明らかにする。[3][5]
続けて読みたいストーリー
同じテーマを、別の事例や背景から考えてみましょう。


