Signing a Message
When the web application is connected to Phantom, it can also request that the user signs a given message.
In order to send a message for the user to sign, the web application must:
  • Provide a hex or UTF-8 encoded string as a Uint8Array.
  • Have it be signed by the user's Phantom Wallet.
The developer sandbox provides an example of signing a message.
Refer to tweetnacl-js for verifying the signature of a message.
signMessage()
request()
1
const message = `To avoid digital dognappers,
2
sign below to authenticate with CryptoCorgis`;
3
const encodedMessage = new TextEncoder().encode(message);
4
const signedMessage = await window.solana.signMessage(encodedMessage, "utf8");
Copied!
1
const message = `To avoid digital dognappers,
2
sign below to authenticate with CryptoCorgis`;
3
const encodedMessage = new TextEncoder().encode(message);
4
const signedMessage = await window.solana.request({
5
method: "signMessage",
6
params: {
7
message: encodedMessage,
8
display: "hex",
9
},
10
});
Copied!
Last modified 4mo ago
Copy link