OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

Noble Curves

Noble Curves is an open-source TypeScript library that implements elliptic-curve cryptography for JavaScript software, including blockchain-related applications. It provides signature schemes, ECDH, hash-to-curve, OPRF, FROST, Poseidon hashing and other cryptographic operations.

Independent OpenViST project profile, based on linked sources.

Noble Curves — 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 Noble Curves when a JavaScript application needs documented elliptic-curve operations and the developer wants to select individual modules and supported curves.

Who it is for

  • JavaScript and TypeScript developers implementing cryptographic functions in applications.
  • Developers building blockchain-related software that needs elliptic-curve signatures or other supported primitives.

Documented uses

  • Generate keys, sign messages and verify signatures using supported curve and signature schemes.
  • Create ECDH shared-secret flows.
  • Implement hash-to-curve, OPRF or FROST threshold-signature functionality.
  • Use Poseidon hashing or FFT in a cryptographic implementation.
Before you choose

Requirements & limits

The repository is public, open source and specifies an MIT license. Installation instructions are provided for npm and Deno.

  • The library supports both Weierstrass and Edwards curves and multiple signature families.
  • The README recommends sub-imports so unused code can be excluded from builds.
  • The documented signing defaults apply a built-in hash; custom hashing is possible through the prehash option.
  • React Native may need a getRandomValues polyfill.

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

Install Noble Curves and follow the signature example

Add the package to a JavaScript project and use the documented secp256k1 example to generate keys, sign a message and verify the signature.

Before you start

  • A JavaScript project and an npm or Deno package manager.

Steps

  1. Install with the command below or add it with deno add jsr:@noble/curves.

    Documented command
    npm install @noble/curves
  2. Import secp256k1 from @noble/curves/secp256k1.js.

  3. Use the documented example pattern to generate a key pair, encode a message, sign it and call verify.

Expected outcome

The documented example returns a signature and a verification result for the message and public key.

Guide limitations

  • The README recommends sub-imports rather than importing the full package to keep app size small.
  • React Native may require a getRandomValues polyfill.
  • The example's default signing behavior applies the curve's built-in hash to the message.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
9 October 2026
Original website title
paulmillr/noble-curves · Official homepage title · retained in its source language