The IOTA client libraries allow you to easily integrate IOTA into your own applications. You can choose a library to match your use case.

Official IOTA libraries serve as one-source-code-of-truth to IOTA users and provide binding to other programming languages. You can read more about core principles behind IOTA client libraries in the following blog post.

  • client-lib: a general purpose IOTA client library for interacting with the IOTA network (Tangle)
  • wallet-lib: a stateful library specifically designed to be used for IOTA value-based transfers
  • iota.c: a special-purpose library in C for embedded devices (with microcontrollers) covering a basic features of client-lib or wallet-lib
  • iota.js: an initial IOTA client library in Typescript that can be used in a web browser
  • iota.go: an initial IOTA client library in Golang


All libraries are in active development. The libraries target the Chrysalis testnet and do not work with current IOTA mainnet.

The client libraries with official support are maintained by the IOTA Foundation, their source code can be found on the Official GitHub repository.


Developer tools