Bitcoin-ts is now Libauth

Libauth is an ultra-lightweight JavaScript library for Bitcoin, Bitcoin Cash, and Bitauth applications. Portable + zero dependencies.

The latest version of bitcoin-ts is now available. This release improves and adds several experimental APIs, and it will also be the final release available under the bitcoin-ts name.

About Libauth

Libauth is an ultra-lightweight JavaScript library for Bitcoin, Bitcoin Cash, and Bitauth applications. It has no dependencies, and it works in all JavaScript environments, including Node.js, Deno, and browsers.

Purpose & Design Goals

Libauth is designed to be flexible, lightweight, and easily auditable. Rather than providing a single, overarching, object-oriented API, all functionality is composed from simple functions. This has several benefits:

  • Flexibility — Even highly-complex functionality is built-up from simpler functions. These lower-level functions can be used to experiment, tweak, and remix your own higher-level methods without maintaining a fork of the library.
  • Smaller application bundles — Applications can import only the methods they need, eliminating the unused code (via dead-code elimination).
  • Better auditability — Beyond having no dependencies of its own, Libauth’s functional programming approach makes auditing critical code easier: smaller bundles, smaller functions, and less churn between versions (fewer cascading changes to object-oriented interfaces).
  • Fully-portable — No platform-specific APIs are ever used, so the same code paths are used across all JavaScript environments (reducing the auditable “surface area” and simplifying library development).

Why the name?

Libauth is a library for working with Bitcoin and Bitcoin Cash authentication.

The library provides extensive tooling and support for creating transactions, modeling bitcoin virtual machine versions, and inspecting the evaluation of transactions (e.g. Bitauth IDE’s live-updating omniscient debugger).

While this authentication infrastructure is important for developing wallet applications, it’s also useful for generalized identity and authentication applications. The new name, Libauth, better indicates this wider focus.

New Website

The Libauth API reference is now available at As more of the library is stabilized, introductory documentation and guides will also appear at this new domain.

Other Changes

This release primarily adds support for several new features in the Libauth compiler. It also includes breaking changes to some experimental APIs for virtual machine evaluation and transaction encoding/decoding. See the Changelog for details.


If you appreciate Libauth, please star Libauth on GitHub. You can also follow Bitauth on Twitter, or join us on Telegram. Thanks for reading!