WalletConnectとは、dAppとウォレットの間で暗号化されたメッセージを運び、dAppがあなたの秘密鍵に一切触れることなく署名を要求できるようにするメッセージングプロトコルです。そのQRコードをスキャンするとペアリングが作られ、dAppのセッション提案を承認すると、dAppが要求できるチェーンとメソッドを列挙したセッションが作られます——これは「実行する権限」ではなく「尋ねる権限」であり、資産を動かすにはその都度あなたの署名が必要です。接続を解除するとセッションはローカルで終了しますが、オンチェーンのトークンのapproveが取り消されるわけではありません。WATSでは、セッションの承認はWATSモバイルアプリで行います。
WalletConnectの正体(そして正体でないもの)
WalletConnectはメッセージングプロトコルです。その唯一の役割は、dAppとウォレットの間でメッセージを運ぶこと。これにより、dAppがあなたの秘密鍵に一切触れることなく両者が対話できます。サイトがQRコードを表示してウォレットを接続と促すとき、そのコードはたいていWalletConnectのペアリング招待です。
WalletConnectはウォレットでもカストディアンでもブロックチェーンでもありません。資金を預かることも、署名を行うこともないからです。ページに直接プロバイダーを注入するブラウザ拡張機能とも異なります。もっともよく知られているのはデバイスをまたぐケース——2026年時点でも、スマホのウォレットがデスクトップのdAppと通信する最も一般的な手段です——ですが、同一デバイス上での標準的な経路でもあり、モバイルブラウザのdAppから同じスマホ内のウォレットアプリへディープリンクします。
あのQRコードをスキャンすると何が起きるのか
QRコードにエンコードされているのはペアリングURIです。トピック識別子、リレープロトコル識別子、そして共通鍵が含まれています。この鍵はウォレット側で導出されるのではなく、そのままの形で運ばれます。だからこそ、漏洩したりスクリーンショットを撮られたりしたペアリングURIは機微な情報なのです。その後、両者はペアリングトピック上で暗号化されたメッセージをやり取りします。
ペアリングはあくまでハンドシェイクにすぎません。すべての署名リクエストを運ぶセッションは別のトピック上で動き、dAppとウォレットがX25519鍵交換とHKDFによる展開を通じて直接ネゴシエートした専用の鍵で保護されます。ペアリング鍵が守るのはペアリングレベルのメッセージだけで、あなたのトランザクションリクエストではありません。
誤解されがちなのがリレーの役割です。リレーが中継するのは暗号文とメタデータだけで、ペイロードを読むことも、書き換えることも、あなたに代わって署名することもできません。リレーが停止すればセッションは機能しなくなりますが、資金は無傷です——鍵がデバイスから出ることはないからです。続いてdAppはセッション提案を送り、ウォレットはそれを承認画面として表示します。その後に起きることはすべて、あなたが何を承認したかにかかっています。クリック単位の手順はウォレットをdAppに接続する方法のガイドで解説しています。
セッション、ネームスペース、権限:dAppは何を要求できるのか
セッション提案は自由形式ではなく、構造化されています。そこにはネームスペースが列挙されます。つまり、dAppが求めるチェーン、メソッド、イベントです——Ethereumメインネット、L2、あるいはSolana。トランザクション署名や型付きデータ署名。chain-changedやaccounts-changedといったイベント。
方向性に注意してください。チェーン、メソッド、イベントを要求するのはdAppですが、アカウントそのものはあなたのウォレット側で選択され、承認時に返されます。v2での区分も重要です。必須(required)ネームスペースはオール・オア・ナッシングで、すべて満たされるか提案そのものが拒否されるかのどちらかですが、2026年時点でこれはレガシーな経路であり、非推奨とされ、部分的に承認できる任意(optional)ネームスペースの使用が推奨されています。優れたウォレットは両方を表示し、どこが交渉可能なのかをあなたに示します。
セッションを承認すると、2つのことが起こります。承認したチェーンの公開アドレスを共有すること、そして承認したメソッドについてdAppにリクエストを送る権限を与えることです。「尋ねる権限」は「実行する権限」ではありません。
署名リクエスト:接続は承認ではない
セッションが確立された後は、意味のあるアクションはすべて個別のリクエストとして届き、あなたが明示的に承認しなければなりません。スワップはトランザクションリクエストに、ログインはメッセージ署名リクエストに、マーケットプレイスへの出品は型付きデータ署名になります。
ここが本当に重要なセキュリティ境界です。接続済みのdAppがあなたの資産を黙って動かすことはできません。それには署名が必要で、署名にはあなたのデバイスとあなたの承認が必要だからです。一方でdAppにできるのは、画面上では結果がわかりにくい誤解を招くリクエストを提示することです。
特に警戒すべきカテゴリが2つあります。1つはトークンのapproveで、セッションが終わったずっと後まで、コントラクトにトークンを使用し続ける権限を与えます。もう1つはオフチェーン署名——ガス代がかからない類のもの——で、コントラクトが後から行使する注文やpermitを承認してしまう可能性があります。どちらも見た目には大げさなところがありません。
WalletConnectでつまずくところ:放置されたセッション、偽QRコード、ブラインド署名
放置されたセッション。セッションには有効期限がありますが、人は一度使っただけのサイトとの生きた接続を何十個も溜め込んでしまいます。その一つひとつが、いつでもウォレットにリクエストを送り込めるチャネルであり、承認を読み違えるリスクの面積を広げます。
偽の、あるいはすり替えられたQRコード。ページを支配している攻撃者——そっくりなドメイン、乗っ取られたフロントエンド——は、本物の代わりに自分のペアリングURIを表示できます。接続は成功します。ただし相手は攻撃者です。これはウォレットドレイナーの仕組みの解説で扱った罠そのものです。接続は成功し、被害はその後の署名リクエストでやってきます。
ブラインド署名。ウォレットがリクエストをデコードできず、生データを表示している場合、あなたはそのサイトが自分のトランザクションについて語る説明を信じていることになります。それは形式的な手続きではなく、立ち止まる理由だと考えてください。
アクティブなセッションを確認して解除する方法(そしてapproveが別物である理由)
WalletConnect対応のウォレットはどれもアクティブなセッションの一覧を保持しており、通常は「接続」や「接続中のアプリ」といった項目にあります。これは棚卸しのつもりで読んでください。各エントリには、dApp名と、そのdAppが見られるチェーンおよびアカウントが示されています。
接続の解除にコストはかかりません。ウォレットはリレー経由でセッション削除メッセージを発行し、自身の状態からそのセッションを破棄します——トランザクションもガス代もオンチェーンの記録も不要です。ただし、切断はベストエフォートだと考えてください。相手方がオフラインだったりリレーに到達できなかったりすると、dApp側は配信または期限切れまでそのセッションを有効なものとして扱い続ける可能性があります。
そして多くの人がつまずくのがここです。セッションを切断してもトークンのapproveは取り消されません。セッションの権限はウォレットのローカル状態に存在しますが、トークンのapproveはあなたが署名したトランザクションによって付与され、オンチェーンに存在します。セッションを終了すれば新しいリクエストは止まりますが、許可額(allowance)はそのまま残ります——その取り消しはオンチェーンでの別の手順であり、トークンのapproveを取り消す方法の解説で扱っています。両方を実行してください。
WATSにおけるdApp接続の扱い
WATSでは、WalletConnectのセッションはWATSモバイルアプリが処理します。QRコードをスキャンし、各セッション提案と署名リクエストをスマホ上で承認できる形で表示します。カストディの考え方はすべてのWATS製品で同じで、WATS Hot Walletも例外ではありません——鍵を保有するのはあなたであり、WATSが鍵を保有することは決してありません。したがって、接続したどのdAppも、あなたの署名なしに資金を動かすことはできません。
異なるのは手数料のレイヤーです。送金、スワップ、ステーキングといったすべてのアクションは、チェーンのネイティブガスの代わりに単一のトークンであるATSで課金されます。EVMではERC-4337のpaymasterを通じて、SolanaとTONでは同等のfee-payer/リレーヤーを通じて処理されます。ATSはLayerZeroのOFTであるため、1つの残高で3つのエコシステムすべてをカバーできます。徴収されたATSは、100,000,000から30,000,000という下限に向けてバーンされます。WATSは、ERC-4337 + OFTによる単一トークン手数料(ネイティブガスの代わりに課金される)とそのバーンを組み合わせた最初で唯一のウォレットです。
よくある質問
WalletConnectでウォレットを接続すると、dAppは私の資金にアクセスできるようになりますか?
いいえ。セッションによってdAppができるのは、承認したチェーンの公開アドレスを参照することと、あなたにリクエストを送ることだけです。資産を動かすアクションには、あなた自身のデバイス上で承認する署名が必要なので、接続しただけでは何も支出できません。WATSでは、こうしたセッション提案や署名リクエストはWATSモバイルアプリ上で承認できる形で表示されます。また、WATSが鍵を保有することは決してないため、接続したどのdAppも、あなたの署名なしに資金を動かすことはできません。
WalletConnectのセッションを切断すれば、トークンのapproveも取り消されますか?
いいえ、両者は別物です。セッションはウォレットのローカル状態に存在し、そこで切断した瞬間にガス代なしで終了します。トークンのapproveはオンチェーンのトークンコントラクト内に存在し、取り消しのトランザクションを送るまで有効なまま残ります。
WalletConnectのリレーサーバーは、私のトランザクションを読んだり鍵を盗んだりできますか?
いいえ。WalletConnect v2では、トランザクションや署名のリクエストを運ぶセッションは、dAppとあなたのウォレットがX25519鍵交換によって直接ネゴシエートした鍵で暗号化されており、その鍵がリレーに渡ることはありません。ペアリングURIに含まれる共通鍵が保護するのは、ペアリングレベルのメッセージだけです。リレーが中継するのは暗号文とメタデータであり、この流れのどの時点でも、あなたの秘密鍵がウォレットから出ることはありません。

