Bitcoin SV javascript library
Branch: master
Clone or download
monkeylord and ryanxcharles Should use deterministic K instead of random K (#32)
As is described in RFC6979 (, and is already implemented in bsv.crypto.ECDSA.
Latest commit a2c4400 Feb 18, 2019


A pure and powerful JavaScript Bitcoin SV library.


Bitcoin SV is an other powerful peer-to-peer platform for the next generation of financial technology. The decentralized nature of the Bitcoin network allows for highly resilient bitcoin infrastructure, and the developer community needs reliable, open-source tools to implement bitcoin apps and services.

Bitcoin SV changes

Bitcoin sv uses a different sighash for transaction signatures. The implementation in bitcore-sv has been tested agains the original bitcoin-sv test vectors (see sighash.json in /test). bitcoin-sv modifications in script evaluation has not been implemented yet.

An usage example of bsv can be seen at

Get Started

In node.js

npm install bsv

Adding Bitcore SV to your app's package.json:

  "dependencies": {
         "bsv": "=0.18.0",

In browser

<script src=''></script>


The complete docs are hosted here: bitcore documentation. There's also a bitcore API reference available generated from the JSDocs of the project, where you'll find low-level details on each bitcore utility.

To get community assistance and ask for help with implementation questions, please use our community forums.



We're using Bitcore in production, as are many others, but please use common sense when doing anything related to finances! We take no responsibility for your implementation decisions.

If you find a security issue, please email


Please send pull requests for bug fixes, code optimization, and ideas for improvement. For more information on how to contribute, please refer to our CONTRIBUTING file.

Building the Browser Bundle

Build with Gulp

To build a bitcore-lib full bundle for the browser:

gulp browser

This will generate files named bitcore-lib.js and bitcore-lib.min.js.

You can also use our pre-generated files, provided for each release along with a PGP signature by one of the project's maintainers. To get them, checkout a release commit (for example, for v0.12.6).

To verify signatures, use the following PGP keys:

Build with Webpack

npm run wpbuild

This will generate file named bsv.min.js.

Development & Tests

git clone
cd bsv
npm install

Run all the tests:

gulp test

You can also run just the Node.js tests with gulp test:node, just the browser tests with gulp test:browser or create a test coverage report (you can open coverage/lcov-report/index.html to visualize it) with gulp coverage.


Code released under the MIT license.

Copyright 2013-2018 BitPay, Inc. Bitcore is a trademark maintained by BitPay, Inc.