Skip to content
LogoLogo

signMessage (Local Account)

Signs a message with the Account's private key.

Calculates an Ethereum-specific signature in EIP-191 format: keccak256("\x19Ethereum Signed Message:\n" + len(message) + message)).

With the calculated signature, you can:

Usage

import {  } from 'viem/accounts'
 
const  = ('0x...')
 
const  = await .({
  // Hex data representation of message.
  : { : '0x68656c6c6f20776f726c64' },
})
Output: "0xa461f509887bd19e312c0c58467ce8ff8e300d3c1a90b608a760c5b80318eaf15fe57c96f9175d6cd4daad4663763baa7e78836e067d0163e9a2ccf2ff753f5b1b"

Returns

Hex

The signed message.

Parameters

message

  • Type: string | { raw: Hex | ByteArray }

Message to sign.

By default, viem signs the UTF-8 representation of the message.

const  = await .({
  : 'hello world', 
})

To sign the data representation of the message, you can use the raw attribute.

const  = await .({
  : { : '0x68656c6c6f20776f726c64' }, 
})