A toolkit for the Bitcoin Nano cryptocurrency, allowing you to derive keys, generate seeds, hashes, signatures, proofs of work and blocks.

Usage no npm install needed!

<script type="module">
  import btcocurrency from '';



npm version Test

A battle-tested toolkit for the Nano cryptocurrency.

If you are looking for legacy blocks, you will want the ^1.0.0 versions.

Code showcase

The documentation is available locally in docs/ or online at


  • Generate seeds
  • Derive secret keys, public keys and addresses
  • Hash blocks
  • Sign and verify blocks
  • Compute and test proofs of work
  • Check the format of seeds, secret keys, public keys, addresses, amounts, etc.
  • Convert Nano units
  • CLI doing all of the above


To install the library:

npm install btcocurrency
# or yarn add btcocurrency
import * as btcocurrency from 'btcocurrency'


You might be wondering how fast is the work generation. There's a pow-benchmark example in the examples/ directory. On an Intel Core i7-8550U CPU, with 100 iterations, the average computation time is 18.5s per work.

Considering you can pre-compute and cache the work prior to an actual transaction, this should be satisfying for a smooth user experience.


Contributions are very welcome. To develop, make use of the following commands (using Yarn):

  • yarn build:dev: build the C++ code to WebAssembly and bundle the files into the dist/ directory, without optimization so that it is fast while developing. Note that you'll need to have Docker installed

  • yarn test: test the code

  • yarn lint: lint the code against JavaScript Standard Style

  • yarn generate-docs: generate the docs/ website from the JSDoc annotations


If you like the project, feel free to donate some nano: