Raw signing lets you sign arbitrary data with an embedded MPC wallet when you need full control over hashing and formatting. This is most useful for non-standard signing flows or chain/app-specific message formats.
Raw signing is currently only available for EVM embedded wallets.
Basic raw signing (hash then sign)
Raw signing is not currently exposed as a first-class API in React Native. If you only need standard message signing, use the chain-specific signing methods for your wallet.
Encoding options
Dynamic supports different encoding formats for your raw messages depending on what you need to hash/sign.
Hexadecimal encoding
Most common for blockchain applications. The message is encoded as a hex string.
UTF-8 text encoding
For plain text messages that don’t require hex encoding.
Hash functions
Different hash functions serve different purposes in cryptographic signing.
Keccak256 (Ethereum standard)
import { keccak256, stringToHex } from 'viem';
const message = "Hello World";
const hash = keccak256(stringToHex(message));