> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dynamic.xyz/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Raw Signing (EVM)

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.

<Note>
  Raw signing is currently only available for **EVM** embedded wallets.
</Note>

## 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.

```text theme={"system"}
Hello World
```

## Hash functions

Different hash functions serve different purposes in cryptographic signing.

### Keccak256 (Ethereum standard)

```typescript theme={"system"}
import { keccak256, stringToHex } from 'viem';

const message = "Hello World";
const hash = keccak256(stringToHex(message));
```
