OpenChainGraph Suite · ART-612 · ERC-2612 / EIP-712 Crypto Primitive

ERC-2612 Permit Binding Verifier

Recomputes the EIP-712 typed-data digest for an ERC-2612 Permit struct (the gasless-approval rail used by USDC/DAI-style tokens): digest = keccak256(0x19 || 0x01 || domainSeparator || structHash), recovers the ECDSA signer from a caller-supplied signature, and reports whether the recovered signer binds to the caller-claimed owner or names the diverging field. All four EIP-712 domain fields (name, version, chainId, verifyingContract) are mandatory inputs and are never defaulted or guessed (a guessed verifyingContract would defeat the entire point of domain separation). This node makes no claim about on-chain nonce freshness, current allowance state, or whether deadline has passed relative to now.

EIP-712 / ERC-2612keccak256 + secp256k1 (vendored, no hand-rolled crypto)Binds / does not bind, never "valid/approved/authorized"
πŸ”’ All inputs are processed locally in your browser. No data is transmitted. Do not enter real personal data β€” use synthetic or anonymised inputs only.
EIP-712 Domain (all four fields mandatory, never defaulted)
A guessed or omitted domain field defeats domain separation: this node refuses to compute a digest without all four.
Permit Struct
Signature (r, s, and yParity/v)
Accepts a raw recovery bit (yParity 0/1), legacy Ethereum v (27/28), or EIP-155 v (chainId*2+35/36); supply exactly one.
Domain Separator
Struct Hash
Digest (the bytes a wallet signs)
Recovered Signer
recovered_signer_matches_owner
diverging_field
Typehash Constants
EIP712Domain typehash
Permit typehash
Execution Hash (SHA-256)