How to validate and submit your metadata

Test your metadata file and submit it to the official registry to enable Clear Signing for your protocol.

Process overview

1
Validate
2
Submit
3
Review
4
Deploy

Step 1: Validate your metadata

Validate your file against the ERC-7730 schema before submitting to catch errors early.

Install the validator

pip install erc7730

Requires Python 3.12 or higher.

Validate your file

# Validate a single file
erc7730 lint your-metadata.json
 
# Validate multiple files
erc7730 lint registry/**/eip712-*.json registry/**/calldata-*.json

Auto-format your file

erc7730 format your-metadata.json

Common validation errors

Missing required fields
The file must include the context, metadata, and display sections. The $schema field at the top level is also required.
Unaccounted parameters
Every function parameter must appear in either the fields array or the excluded list. Remove the parameter from neither and the validator returns an error.
Incorrect format structure
Check that format types match the data type of the field. For example, tokenAmount requires either tokenPath or token in the params object. See the Format types reference for required parameters.
Incorrect chain ID
Verify that the chainId in each deployment entry matches the actual deployment. Use ChainList to look up chain IDs (1 for Ethereum mainnet, 137 for Polygon, 42161 for Arbitrum).
Invalid path expression
Path expressions must start with the correct root identifier: # for calldata parameters, $ for metadata constants, or @ for transaction envelope fields. See the Path system reference.

Step 2: Submit to the registry

Once your file passes validation, submit it as a pull request to the registry.

Fork the repository

Go to github.com/LedgerHQ/clear-signing-erc7730-registry and click Fork, then clone your fork:

git clone https://github.com/YOUR_USERNAME/clear-signing-erc7730-registry.git
cd clear-signing-erc7730-registry

Add your metadata file

Place your file in a directory named after your dApp:

registry/
└── your-dapp-name/
    └── descriptive-filename.json
mkdir -p registry/your-dapp-name
cp /path/to/your-metadata.json registry/your-dapp-name/descriptive-name.json

Use lowercase with hyphens for directory and file names: uniswap-v3/swap-router.json is correct; UniswapV3/file1.json is not.

Create a pull request

Commit your file and push to your fork:

git add .
git commit -m "Add Clear Signing metadata for [Your dApp Name]"
git push origin main

On GitHub, navigate to your fork, click New Pull Request, and fill in a clear description of your protocol, the contracts covered, and any notable configuration choices.

Step 3: Review process

What reviewers check
  • Schema compliance with ERC-7730
  • Correct contract addresses and chain IDs verified against the deployed contract
  • Clear and accurate display formats with human-readable labels
  • All function parameters accounted for in fields or excluded
  • No security risks or misleading display information
Timeline
Reviews typically complete within 3–5 business days. Complex submissions covering multiple contracts or EIP-712 schemas may take longer.

Step 4: After submission

Monitor your pull request

Check for reviewer comments and address requested changes promptly. If changes are requested:

# Make your changes, then:
git add .
git commit -m "Address review feedback: [brief description]"
git push origin main

The pull request updates automatically.

Handle a rejected submission

If the pull request is closed without merging, the reviewer will explain the reason. Common causes include:

  • Contract addresses that do not match the claimed protocol
  • Display labels that are misleading or incomplete
  • Schema violations that were not caught by the local validator

Fix the identified issues and open a new pull request with the updated file.

Verify deployment

Once your pull request is merged, your metadata becomes available in:

  • Ledger Wallet (after the next scheduled update)
  • All wallets that support the Clear Signing standard
  • The public registry API

Once your metadata is live, users signing transactions through your protocol will see human-readable transaction details instead of raw hex data.

Get help

You are making Web3 safer

Once merged, your metadata protects users from blind signing. Every submission helps build a more transparent blockchain ecosystem.

Ledger
Copyright © Ledger SAS. All rights reserved. Ledger, Ledger Stax, Ledger Flex, Ledger Nano, Ledger Nano S, Ledger OS, Ledger Wallet, [LEDGER] (logo), [L] (logo) are trademarks owned by Ledger SAS.