OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

libsecp256k1-zkp

libsecp256k1-zkp is an MIT-licensed C fork of libsecp256k1 that provides secp256k1 elliptic-curve operations and experimental modules for adaptor signatures, sign-to-contract, Confidential Assets, address whitelisting, Schnorr signature half-aggregation, MuSig2 and related examples.

Independent OpenViST project profile, based on linked sources.

libsecp256k1-zkp — 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 project needs a C library for Bitcoin-oriented secp256k1 operations and requires the additional modules maintained in this fork. Its source-build model suits developers who need control over enabled functionality or target-platform compilation.

Who it is for

  • Bitcoin wallet and signing-library developers.
  • Engineers building Confidential Assets or multisignature components.
  • Teams evaluating or benchmarking secp256k1-based cryptographic operations.
  • Developers targeting Linux, Windows, Android, CLI, server or self-hosted environments.

Documented uses

  • Compile a secp256k1 cryptography library from source.
  • Add ECDSA or Schnorr signing operations to a larger application.
  • Work with Pedersen commitments, range proofs or surjection proofs for Confidential Assets.
  • Prototype MuSig2, adaptor-signature or related cryptographic workflows.
  • Build and run repository examples, tests and benchmarks.
Before you choose

Requirements & limits

The repository is public and identifies an MIT license. It is built from source with Autotools or CMake; no account or pricing requirement is documented in the supplied material.

  • Language and integration: the library is implemented in C.
  • Module selection: optional functionality must be enabled during configuration, and experimental modules require the experimental setting plus the relevant module flag.
  • Platform targeting: documented CMake toolchain workflows cover Windows and Android, alongside POSIX builds.
  • API stability: the repository says experimental feature APIs should not be considered stable.
  • Validation tooling: the source tree includes tests, examples and benchmarks, but these do not constitute an application-level compatibility guarantee.

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

Build the library with selected experimental modules

Prepare a source build that exposes a chosen optional cryptographic module.

Before you start

  • A source checkout of libsecp256k1-zkp.
  • A build environment supporting Autotools or CMake.
  • The relevant module configuration flags.

Steps

  1. Generate a build system with Autotools or CMake.

  2. Enable the experimental build setting and the flag for each required experimental module.

  3. Build the library with the selected configuration.

  4. Run the repository's test suite if the build workflow includes it.

Expected outcome

A locally built library configured with the selected optional functionality.

Guide limitations

  • The repository states that experimental APIs are not stable.
  • This recipe documents compilation and the available test command; it does not establish application compatibility or successful execution in a particular environment.
Source-based practical guide

Cross-compile an Android build with CMake

Configure an Android-targeted library build using the documented CMake toolchain.

Before you start

  • CMake.
  • The Android NDK.
  • ANDROID_NDK_ROOT set to the NDK location.
  • The libsecp256k1-zkp source tree.

Steps

  1. Invoke CMake with the Android NDK CMake toolchain file.

  2. Set the documented Android ABI to arm64-v8a.

  3. Set the documented Android platform to API level 28.

  4. Build the generated CMake project.

Expected outcome

An Android-targeted build configuration using the repository's documented NDK parameters.

Guide limitations

  • The documentation assumes the NDK environment variable and toolchain prerequisites are available.
  • The experimental APIs remain unstable.
  • The source instructions do not provide a compatibility guarantee for a particular Android application.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
3 October 2026
Original website title
BlockstreamResearch/secp256k1-zkp · Official homepage title · retained in its source language