How to add Clear Signing to your dApp
Enable Clear Signing for your protocol in minutes. Create metadata files that transform complex transaction data into human-readable information.
Prerequisites
Before you start, make sure you have the following:
- Your smart contract deployed on an EVM-compatible chain
- Your contract address and ABI (from Etherscan or your deployment artifacts)
- Basic familiarity with JSON
Clear Signing currently supports EVM-compatible chains only. Support for Solana, Cosmos, and other protocols is planned.
What you will produce
A Clear Signing metadata file is a JSON document that tells compatible wallets how to display your contract’s transactions. It describes:
- Smart contract functions – the intent and human-readable label for each function users sign (for example, “Send”, “Swap tokens”, “Approve spending”)
- EIP-712 messages – structured data your users sign off-chain (permits, orders, votes)
- Parameter formatting – how to render amounts, addresses, timestamps, and other values
Here is a minimal example for an ERC-20 transfer function:
{
"$schema": "https://eips.ethereum.org/assets/eip-7730/erc7730-v1.schema.json",
"context": {
"contract": {
"abi": "https://api.etherscan.io/api?module=contract&action=getabi&address=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"deployments": [
{ "chainId": 1, "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" }
]
}
},
"metadata": {
"owner": "Circle",
"info": { "url": "https://www.circle.com/" }
},
"display": {
"formats": {
"transfer(address,uint256)": {
"intent": "Send",
"fields": [
{ "path": "_to", "label": "Recipient", "format": "addressOrName" },
{ "path": "_value", "label": "Amount", "format": "tokenAmount", "params": { "tokenPath": "@.to" } }
],
"required": ["_to", "_value"],
"excluded": []
}
}
}
}The process
Create your metadata file
Build your metadata file using the JSON Builder or write it manually.
Validate
Run the ERC-7730 validator to confirm the file meets the schema requirements.
Submit
Open a pull request to the Clear Signing Registry.
Deploy
Once your pull request is approved and merged, compatible wallets automatically fetch your metadata and display human-readable transaction details.
Choose your approach
Common questions
Do I need a plugin for my smart contract?
Most contracts work with a metadata file alone. You only need a dedicated plugin if your contract has:
- •Highly dynamic execution patterns that change based on on-chain state
- •Complex nested data structures requiring custom parsing logic
- •Non-standard encoding, compression, or obfuscation
- •Security requirements beyond standard validation
Start with a metadata file. You can upgrade to a plugin later if needed. Contact support if you are unsure.
My dApp includes a built-in signing interface. What do I need to do?
Complete the metadata process above and also implement the SDK. See the wallet implementation guide for the additional steps.
How long does the review process take?
Pull requests are typically reviewed within 3–5 business days. Complex submissions with multiple contract deployments or EIP-712 schemas may take longer. See the Validate & Submit guide for details on the review criteria.
Every metadata file you submit helps protect users from blind signing attacks and builds trust in the ecosystem.