# EIP-191 Ethereum Message Hash (personal_sign digest)

> EIP-191 Ethereum Message Hash (personal_sign digest) is a paid API for AI agents from twin.unykorn.org, paid per call via x402, $0.001/call, status unknown (last checked 2026-10-01).

Computes the EIP-191 prefixed hash of a message string — the exact digest that Ethereum wallets sign during personal_sign

## Facts

- Endpoint: POST https://twin.unykorn.org/eth-message-hash?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-01
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/eip-191-ethereum-message-hash-personal-sign-digest-31a4deff
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_YIKX2IdjMDcj0fmht5kEF

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability eip-191-ethereum-message-hash-personal-sign-digest-31a4deff -d '<json body>'
```

Example prompt: What is the EIP-191 hash that Ethereum's personal_sign would actually sign for the message 'Please sign this to confirm your identity: nonce=abc123'?

## When to prefer this

Use this endpoint when you need to reproduce or verify the exact hash that an Ethereum wallet computes during a personal_sign (eth_sign) operation — without running a local Ethereum node or wallet. Ideal for off-chain signature verification, backend authentication systems, smart contract testing, and debugging signing flows where you need to confirm the prefixed keccak256 digest independently.

## Known failure modes

- Message exceeds 49152 character limit — request rejected
- Malformed JSON body or missing message field — 400 error
- Payment not received or insufficient — 402 error
- Service unavailable on the UnyKorn network — 503 or timeout

## How this service works

EIP-191 digest of a message (what personal_sign actually signs) — Genesis402 / UnyKorn Operator Network

## Output

Returns a JSON object confirming success, the type field 'eth-message-hash', and the computed EIP-191 digest (the keccak256 hash of the '\x19Ethereum Signed Message:\n{len}{message}' prefixed payload), along with a payment receipt including transaction hash, USD amount, and receipt ID.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "params": {
   "type": "object",
   "properties": {
    "message": {
     "type": "string",
     "maxLength": 49152
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "type": "eth-message-hash",
  "receipt": {
   "tx_hash": "0x<64hex>",
   "amount_usd": 0.001,
   "receipt_id": "g402-<16hex>"
  },
  "generated_at": "<iso8601>"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/eip-191-ethereum-message-hash-personal-sign-digest-31a4deff/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from twin.unykorn.org](https://www.zero.xyz/host/twin.unykorn.org/llms.txt)
