Solanaアドレス検証ツール

Solanaアドレスが正しい形式かをチェックし、通常のウォレットアカウントか、トークンアカウントなどのプログラム派生アドレス(PDA)かを判定します。Solana上のSOL、USDC、USDTで使えます。

最大200件まで貼り付けられます。それぞれデコードしてチェックサムを検証し、ネットワークとアドレス種別を判定します。
送金に使う予定のネットワークを選んでください。別ネットワークの有効なアドレスは警告されます。

ブラウザ内のJavaScriptでチェックします。アドレスがアップロードや保存されることはありません。

Solanaアドレス検証ツールとは

Solanaアドレス検証ツールは、文字列がed25519公開鍵のサイズであるちょうど32バイトのBase58エンコードであることを確認し、次にそのバイト列がed25519曲線上の点にデコードされるかをテストします。曲線上の鍵は通常のウォレットのもので、曲線外の値はプログラム派生アドレス(PDA)です。Solanaアドレスにはチェックサムがないため、この曲線テストが唯一の入力ミス検出手段です。

結果の見方

曲線チェックの仕組み

ed25519公開鍵は曲線上の点のy座標と1ビットの符号をエンコードしています。ツールはyから x² = (y² − 1) / (d·y² + 1) を 2²⁵⁵ − 19 を法として計算し、x²が平方根を持つかをテストします。持つなら点が存在し、鍵に秘密鍵がありえます。持たないならアドレスは曲線外です。計算はブラウザ内でBigIntを使って行われます。

Solanaアドレスのよくあるミス

  1. 末尾の文字の欠落。 チャットアプリは長い文字列を途中で切ることがあります。本来44文字のアドレスが43文字になると、長さが合わずデコードに失敗します。
  2. ミントとウォレットの混同。 USDCのミントアドレス EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v は有効なアドレスですが、そこにトークンを送るとバーンされます。相手がウォレットとして伝えたアドレスにのみ送ってください。
  3. Ethereumアドレスの貼り付け。 0x… はSolanaではありません。ブリッジを除き、形式をまたいで送った資産は失われます。

検証済みアドレスのSolana PayコードはSolana Pay QRジェネレーターで作成できます。

よくある質問

Solanaアドレスの長さは?

Solanaアドレスは32バイトのed25519公開鍵をBase58でエンコードしたもので、32~44文字、通常は43または44文字です。BitcoinのBase58アルファベットを使うため、0、O、I、lは決して現れません。

なぜチェックサムがないのですか?

Solanaはアドレスを短く保つために、チェックサムバイトのない生の公開鍵を選びました。欠点は、どんな32バイト値でも有効に見えることです。このツールは点がed25519曲線上にあるかをチェックして補っており、ランダムな入力ミスはおよそ半分の確率で検出されます。

プログラム派生アドレスとは?

PDAは、秘密鍵が存在しないように意図的に曲線外に生成されたアドレスで、代わりにプログラムが管理します。関連トークンアカウント、取引所の入金サブアカウント、プロトコルのvaultはPDAです。PDAにSOLを送るのが正しいのは、所有者がその正確なアドレスを伝えてきた場合だけです。

USDCはウォレットアドレスとトークンアカウントのどちらに送るべきですか?

ウォレットアドレス(曲線上の鍵)に送ってください。ウォレットや取引所は関連トークンアカウントを自動的に導出します。トークンアカウントのアドレスに直接送ることもできますが、ミスが起きやすいです。

別ネットワークのアドレスを検出できますか?

はい。Solanaネットワークを選択している場合、Ethereumの0x、TronのT…、Bitcoinのアドレスは認識され、Solanaではないと警告されます。