This is the documentation for the official IOTA Client Library. It can be used to easily interact with IOTA network (Tangle) via IOTA node software. Official IOTA libraries serve as one-source-code-of-truth to IOTA users and providing binding to other programming languages. You can read more about core principles behind IOTA client libraries in the following blog post.

Example of tasks that iota.rs is able to help with:

  • Create messages and transactions
  • Sign transactions
  • Generate addresses
  • Interact with an IOTA node

Please note: there is also available wallet.rs library that contains all the logic to safely build wallets or integrations that require value-based IOTA transfers. We strongly recommend to leverage wallet.rs library in case one is more focused on IOTA value-based transfers since it integrates the best security practices including our stronghold enclave.

Changes from IOTA 1.0 to 1.5

For an overview of all significant changes in the protocol, please see Chrysalis documentation.


To join the Chrysalis public testnet checkout this link. More information about Chrysalis components is available at documentation portal.

Joining the discussion

If you want to get involved in discussions about this library, or you're looking for support, go to the #clients-discussion channel on Discord.

What you will find here

This documentation has five paths.

  1. The Overview, an detailed overview of the client library.
  2. Libraries bindings, all avaiable programming languages and their resources.
  3. The Specification, detailed explaination requirements and functionality.
  4. Contribute, how you can work on the client software.
  5. Get in touch, join the community and become part of the X-Team!