authereum
is-valid-signature
JavaScript

EIP1271 signature checker implementation in JavaScript

Last updated Jan 1, 2026
36
Stars
12
Forks
0
Issues
0
Stars/day
Attention Score
22
Language breakdown
No language data available.
Files click to expand
README

is-valid-signature npm version

Check if a signature is valid for an Ethereum address. Works for both externally owned accounts and contract accounts that follow the ERC1271 standard.

Install

npm install is-valid-signature

Getting started

Check signatures for externally owned accounts

const isValidSignature = require('is-valid-signature')

const signer = YOURSIGNERADDRESS

// Get a signature const message = web3.utils.soliditySha3('Hello world') const signature = await web3.eth.sign(message, signer)

// Check if the signature is valid const isValid = await isValidSignature( signer, message, signature, web3.currentProvider )

Check signatures for ERC-1271 contracts

const isValidSignature = require('is-valid-signature')

const signer = YOURSIGNERADDRESS

// Get contract where signer can sign on behalf of contract const contract = ERC1271.at(YOURCONTRACTADDRESS)

// Get a signature const message = web3.utils.soliditySha3('Hello world') const signature = await web3.eth.sign(message, signer)

// Check if the signature is valid const isValid = await isValidSignature( contract.address, message, signature, web3.currentProvider )

ERC-1271

ERC-1271 is currently a draft and there are multiple proposed interfaces. This package supports the following ERC-1271 interface.

contract ERC1271 {
  function isValidSignature(
    bytes memory _messageHash,
    bytes memory _signature)
    public
    view
    returns (bytes4 magicValue);
}

Test

npm test

License

MIT

© 2026 GitRepoTrend · authereum/is-valid-signature · Updated daily from GitHub