EIP-712 Sign Integration
Overview
The EIP-712 Sign integration allows you to generate typed data signatures using the EIP-712 standard directly within a Decimal workflow. It is commonly used for secure, structured message signing in Web3 applications, including authentication, off-chain approvals, and intent-based workflows.
EIP-712 signatures are human-readable, deterministic, and widely supported across wallets and smart contracts.
Available Module
EIP-712 Sign
Signs structured typed data using the connected wallet and returns the cryptographic signature for downstream use.
When to Use EIP-712 Sign
Use this node when your workflow needs to:
Sign structured data instead of raw messages
Generate off-chain approvals or authorizations
Support gasless or intent-based flows
Authenticate users or wallets securely
Interact with contracts that verify EIP-712 signatures
This node must be used after Wallet Connection.
Adding EIP-712 Sign to a Workflow
Open the Decimal workflow editor
Add a Trigger node
Add a Wallet Connection node
From Web3, select EIP-712 Sign
Connect it after the Wallet Connection
The EIP-712 Sign Settings panel opens automatically.
Module Configuration
Domain
Defines the signing domain for the typed data.
Example:
{
"name": "Example DApp",
"version": "1",
"chainId": 11155111,
"verifyingContract": "0x0000000000000000000000000000000000000000"
}
The domain ensures signatures are valid only within a specific application and chain context.
Types
Defines the schema of the typed data to be signed.
Example:
{
"EIP712Domain": [
{ "name": "name", "type": "string" },
{ "name": "version", "type": "string" },
{ "name": "chainId", "type": "uint256" },
{ "name": "verifyingContract", "type": "address" }
],
"Mail": [
{ "name": "from", "type": "Person" },
{ "name": "to", "type": "Person" },
{ "name": "contents", "type": "string" }
]
}
This defines how the message data is structured and encoded.
Primary Type
Specifies the main type being signed.
Example:
This must match one of the types defined in the Types configuration.
Message
The actual data payload to sign, matching the defined schema.
Example:
{
"from": {
"name": "Alice",
"wallet": "0x6A036B3E4eb83FC8Bcf2351C266ea045117cA5DE"
},
"contents": "Hello, Bob!"
}
This is the data that will be cryptographically signed.
Output & Execution
When executed, the EIP-712 Sign node:
Uses the connected wallet to sign the typed data
Produces an EIP-712 compliant signature
Makes the signature available to downstream nodes
Typical outputs include:
Signature
Signer address
Typed data hash
These outputs can be sent to APIs, stored, or verified onchain.
Example Workflow
Use Case: Generate an off-chain approval signature.
Workflow:
Trigger
Wallet Connection
EIP-712 Sign
Call API / Smart Contract Function
This enables workflows such as gasless approvals or delegated execution.
Last updated