---
title: "x402 EIP-712 Digest Recomputer"
method: POST
path: "/v1/tools/recompute_x402_eip712_digest"
tags: ["compliance_control", "x402", "eip-712", "eip-3009", "crypto-primitive", "mcp:recompute_x402_eip712_digest"]
---

# x402 EIP-712 Digest Recomputer

`POST /v1/tools/recompute_x402_eip712_digest`

## Request

- Base URL: `https://ainumbers.co`
- URL: `https://ainumbers.co/v1/tools/recompute_x402_eip712_digest`
- Auth: none declared

Recomputes the EIP-712 typed-data digest for an EIP-3009 TransferWithAuthorization struct (the x402 payments rail's underlying authorization primitive): domain separator, struct hash, and the final keccak256(0x19 || 0x01 || domainSeparator || structHash) digest. All four EIP-712 domain fields (name, version, chainId, verifyingContract) are mandatory caller inputs and are never defaulted or guessed -- a guessed verifyingContract would defeat the entire point of domain separation. keccak256 comes from the already-vendored, pinned noble-curves/noble-hashes bundle; the EIP-712/EIP-3009 ABI encoding scheme is implemented directly as public-spec arithmetic on top of it, not hand-rolled crypto. Performs no signature recovery and no domain/nonce/window checks (see the sibling x402-signer-recovery-verifier and x402-domain-nonce-window-checker nodes) -- makes no claim about signature validity, on-chain settlement, or spend. Zero network calls; never a facilitator, proxy, gateway, or settlement relay.

**Tool URL:** https://ainumbers.co/chaingraph/art-590-x402-eip712-digest-recomputer.html

## Request body

- object
  - `name` string
  - `version` string
  - `chainId` number
  - `verifyingContract` string
  - `from` string
  - `to` string
  - `value` number
  - `validAfter` number
  - `validBefore` number
  - `nonce` string

## Response `200`

Successful tool execution result

- object
  - `verdict` string
  - `reasons` string[]
  - `domain` object
    - `name` string, nullable
    - `version` string, nullable
    - `chain_id` string, nullable
    - `verifying_contract` string, nullable
  - `authorization` object
    - `from` string, nullable
    - `to` string, nullable
    - `value` string, nullable
    - `valid_after` string, nullable
    - `valid_before` string, nullable
    - `nonce` string, nullable
  - `domain_separator` string, nullable
  - `struct_hash` string, nullable
  - `digest` string, nullable
  - `domain_typehash` string
  - `transfer_with_authorization_typehash` string
  - `scope_note` string

---

[API](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite.md) · [All operations](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/llms.txt) · [OpenAPI document](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/revisions/b462e4f5bb28?raw)
