EIP-712 Signature Debug Tool

OKX Labs PMM Protocol

Input

Auto-fill Features

  • verifyingContract: Auto-filled from chainId
  • makerAddress: Auto-derived from privateKey
  • permit2WitnessType: Auto-generated from witnessStruct (EIP-712 alphabetical order)
  • permit2Witness: Auto-calculated from witnessStruct

witnessStruct Format (Order 3/4)

// ExampleWitness(address user)
"witnessStruct": {
  "name": "ExampleWitness",
  "fields": [{ "type": "address", "name": "user" }],
  "values": { "user": "0x..." }
}

// Consideration(address token, uint256 amount, address counterparty)
"witnessStruct": {
  "name": "Consideration",
  "fields": [
    { "type": "address", "name": "token" },
    { "type": "uint256", "name": "amount" },
    { "type": "address", "name": "counterparty" }
  ],
  "values": { "token": "0x...", "amount": "100", "counterparty": "0x..." }
}

Output

Verification order: structData -> structHash -> domainSeparator -> digest -> signature

-
-
-
-
-
-
r: -
s: -
v: -

Permit2 Details

-
-
-
r: -
s: -
v: -
-
-
-
-
-
-