OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

Sigverify

Sigverify is an open-source Go library for validating Ethereum signatures, including standard elliptic-curve signatures, EIP-712 typed data, ERC-1271 smart-contract wallet signatures and some hardware-wallet signatures.

Independent OpenViST project profile, based on linked sources.

Sigverify — OpenViST project profile in Developer Tools.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use it when a Go application needs to verify Ethereum signatures as part of accepting signed messages or other input.

Who it is for

  • Go developers adding Ethereum signature checks to an application.
  • Teams that need to validate typed-data or smart-contract wallet signatures.

Documented uses

  • Check a standard Ethereum signature against an address and message.
  • Validate a signature over EIP-712 typed data.
  • Verify an ERC-1271 signature using an Ethereum-compatible RPC client.
  • Check signatures from some supported hardware wallets, including Ledger.
Before you choose

Requirements & limits

The repository is public and lists an Apache-2.0 license.

  • The library is written in Go and its examples use go-ethereum packages and types.
  • ERC-1271 verification requires an Ethereum-compatible RPC client.
  • Hardware-wallet coverage is described as support for some wallets, with Ledger given as an example.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Verify a standard Ethereum elliptic-curve signature in Go

Call SigVerify’s standard signature verifier with an Ethereum address, message bytes, and a hexadecimal signature.

Before you start

  • A Go application
  • The SigVerify library and go-ethereum common package, as used in the example

Steps

  1. Import github.com/storyicon/sigverify and github.com/ethereum/go-ethereum/common.

  2. Call sigverify.VerifyEllipticCurveHexSignatureEx with the expected address, the signed message as bytes, and the hexadecimal signature.

  3. Handle the returned valid and err values; the README example prints both.

Expected outcome

The call returns a validity result and an error for the standard elliptic-curve signature check.

Guide limitations

  • The documented example covers standard elliptic-curve signatures; it does not establish behavior for other signature formats.
  • The example’s specific inputs are illustrative and its printed true result is not a verification of other inputs.
Source-based practical guide

Verify an ERC-1271 smart-contract wallet signature in Go

Check an ERC-1271 signature by calling SigVerify with an Ethereum-compatible RPC client.

Before you start

  • A Go application
  • The SigVerify library and go-ethereum ethclient package
  • An Ethereum-compatible RPC endpoint

Steps

  1. Import context, go-ethereum common and ethclient, and github.com/storyicon/sigverify.

  2. Create an RPC client with ethclient.Dial using the RPC URL, and handle its error as shown in the README.

  3. Call sigverify.VerifyERC1271HexSignature with a context, the client, contract-wallet address, message bytes, and hexadecimal signature.

  4. Handle the returned validity result and error.

Expected outcome

The call returns a validity result and an error for an ERC-1271 smart-contract wallet signature check.

Guide limitations

  • Verification requires an RPC client; the README’s example uses a Polygon RPC URL.
  • The documented example’s inputs and printed result do not establish success for other networks, wallets, or signatures.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
16 October 2026
Original website title
storyicon/sigverify · Official homepage title · retained in its source language