メッセージは example.com wants you to sign in with your Ethereum account: で始まり、その後にアドレス、任意のステートメント、そしてフィールド URI、Version(1)、Chain ID、Nonce(8 文字以上の英数字)、Issued At、さらに任意で Expiration Time、Not Before、Request ID、Resources が続きます。ウォレットはドメインとリクエスト元のオリジンを比較し、フィッシングを警告します。
サーバーは署名だけでなく、すべてを確認しなければなりません。ドメインと URI が自分のものであること、nonce が自分で発行した未使用のものであること、日時が有効であること、チェーン ID が想定どおりであることです。EOA の署名は EIP-191 に従って検証し、コントラクトアカウントの署名は、記載されたチェーン上で ERC-1271 を通じて検証します。SIWE 検証ツールは、これらのチェックを実行します。