Signing Reference

Signing Reference

Every signature must bind the active wallet, active chain, and exact business structure.

3 sectionssigning-reference
01

General rules

  • Include types.EIP712Domain explicitly in eth_signTypedData_v4 payloads.
  • When hashing locally with ethers TypedDataEncoder, omit EIP712Domain from the types argument.
  • verifyingContract is generally the executing wallet address, not the shared app logic address.
  • For schemes with onchain nonces, read the correct wallet-scoped value before signing and verify chainId and deadline; Dex / NFT Market nonce is an order salt.
  • Runtime ERC-1271 validation currently accepts a signature only when recovery equals the wallet address.
02

Current EIP-712 names

1do ExecuteWithSig / 1
ERC8112 Token Transfer / 1
ERC8114 NFT Transfer / 1
Dex Order on 1Do / 1
NFT Market Order on 1Do / 1
Will Plan on 1Do / 1
Session Pay on 1Do / 1
03

Replay protection

  • ExecuteWithSig: account-wide incrementing nonce.
  • ERC-8112: scoped by asset + to.
  • ERC-8114: scoped by asset + tokenId.
  • Dex/NFT Market: order hash is marked consumed on fill or cancellation.
  • Will: willVersion + activePlanHash. Session Pay: cumulative newTotalPaid + revoked state.