WDK logoWDK documentation
StartWalletsDeFi & FiatAI & CLITools

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:

Sign message
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:

Verify signature
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:

Verify with read-only account
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.

On this page