Practical overview
When it fits
Use it when an Ethereum application needs a reusable JavaScript check for signatures from EOAs or contract accounts using the documented ERC-1271 interface.
Who it is for
- JavaScript developers building Ethereum applications.
- Teams validating signed messages for EOAs and supported ERC-1271 contract accounts.
Documented uses
- Check a signature associated with an EOA address.
- Check a contract account’s signature through the supported ERC-1271 interface.
- Add signature validation to a message-verification or login flow.
Requirements & limits
The repository lists an MIT license.
- The examples pass a Web3 provider along with the address, message hash and signature.
- Contract-account support is limited to the ERC-1271 interface shown in the README.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Check an Ethereum EOA signature
Use the documented JavaScript call to validate a signature for an externally owned account.
Before you start
- Node.js project with the package installed using npm.
- JavaScript and a Web3 provider, as used in the README.
- Signer address, message hash and signature.
Steps
Install the package with the command below.
npm install is-valid-signatureImport it with
require('is-valid-signature').Pass the signer address, message hash, signature and
web3.currentProviderto the library.
Expected outcome
The call returns an `isValid` result for the supplied signature and signer address.
Guide limitations
- The README example uses Web3 methods to create the message hash and obtain a signature; it does not describe a complete authentication flow.
Check a signature for an ERC-1271 contract account
Use the documented JavaScript call to check a signature against a contract address through the package’s supported ERC-1271 interface.
Before you start
- Node.js project with the package installed using npm.
- JavaScript and a Web3 provider.
- An ERC-1271 contract address, message hash and signature.
Steps
Install the package with the command below.
npm install is-valid-signatureImport it with
require('is-valid-signature').Pass the contract address, message hash, signature and
web3.currentProviderto the library.
Expected outcome
The call returns an `isValid` result using the contract’s ERC-1271 signature check.
Guide limitations
- The README says ERC-1271 has multiple proposed interfaces and identifies only the
isValidSignature(bytes,bytes)interface returningbytes4as supported.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 16 October 2026
- Original website title
- authereum/is-valid-signature · Official homepage title · retained in its source language

