Sign and Verify Messages
Sign and verify messages with Solana gasless accounts.
Owned gasless Solana accounts delegate message signing and verification to the wrapped Solana account.
Sign a Message
Use sign(message) to create an Ed25519 signature:
const message = 'Hello, Solana!'
const signature = await account.sign(message)
console.log('Signature:', signature)Verify a Signature
Use verify(message, signature) to check whether a signature matches the account address:
const isValid = await account.verify(message, signature)
console.log('Signature valid:', isValid)Verify from a Read-Only Account
Read-only accounts can verify signatures without access to the private key:
import { WalletAccountReadOnlySolanaGasless } from '@tetherto/wdk-wallet-solana-gasless'
const readOnlyAccount = new WalletAccountReadOnlySolanaGasless('SolanaAddress...', {
provider: 'https://api.devnet.solana.com',
paymasterUrl: 'https://your-kora-paymaster.example',
paymasterAddress: 'Paymaster111111111111111111111111111111111',
paymasterToken: {
address: 'TokenMint111111111111111111111111111111111'
}
})
const isValid = await readOnlyAccount.verify(message, signature)Next Steps
For paymaster and cleanup failures, see Handle Errors.