Practical overview
When it fits
Use it when a Noir circuit needs signature verification or Ethereum address derivation and the public key is available as an input. The README also shows how to derive that key from a signed message with TypeScript and ethers.
Who it is for
- Noir developers adding Ethereum-compatible signature logic to circuits.
- ZK application builders prototyping signature verification or signer-address derivation.
Documented uses
- Check whether a secp256k1 signature matches a message hash and public key.
- Derive the Ethereum address associated with a public key.
- Use an ecrecover-style address result as circuit logic.
Requirements & limits
The public GitHub repository identifies the project as MIT-licensed. The README's dependency example specifies tag v1.0.1.
- The main function requires the full public key as two 32-byte coordinates; the library does not recover that key from the signature.
- PubKey also accepts a concatenated 64-byte key or a 65-byte uncompressed key with a checked 0x04 prefix.
- The README calls the implementation naive and unoptimized and says a fully fledged ecrecover circuit could be very large.
- The README warns that versions before v0.30.0 had a critical underconstraint vulnerability and says the software is unaudited and should not be used in production.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Add Ecrecover Noir as a Nargo dependency
Declare the library dependency in a Noir project's Nargo.toml.
Before you start
- A Noir project with a Nargo.toml file
Steps
Add an [dependencies] section to Nargo.toml if one is not already present.
Add ecrecover = { tag = "v1.0.1", git = "https://github.com/colinnielsen/ecrecover-noir" } under that section.
Expected outcome
The project manifest declares the ecrecover library at tag v1.0.1.
Guide limitations
- This covers dependency declaration only, not compiling or running a circuit.
- The README warns that the software is unaudited and should not be used in production, and that versions before v0.30.0 must not be used.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 13 October 2026
- Original website title
- colinnielsen/ecrecover-noir · Official homepage title · retained in its source language

