I currently have a web app that uses web3.js to connect to Phantom wallets and sign with a relatively straightforward code snippet below:

const response = await solana.connect();
const message = 'Please confirm wallet ownership.';
const encodedMessage = new TextEncoder().encode(message);
const signedMessage = await window.solana.signMessage(encodedMessage, 'utf8');
// Does stuff with signedMessage

However, this approach does not work with Ledger wallets. The connection and sign message popups appear as normal, but after confirming on the Ledger, nothing happens. Is there another confirmation/check needed to verify the Ledger approved the signing?

1 Answer 1


Signing messages in this way is presently not supported. Follow along here: https://github.com/solana-labs/solana/issues/21366

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.