> For the complete documentation index, see [llms.txt](https://docs.put.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.put.com/developers/clients/rust-api.md).

# Rust API

Rust API

PUT's Rust crates are published to crates.io and can be found on docs.rs with the "put-" prefix.

Some important crates:

* put-program — Imported by programs running on PUT, compiled to BPF. This crate contains many fundamental data types and is re-exported from put-sdk, which cannot be imported from a PUT program.
* put-sdk — The basic off-chain SDK, it re-exports put-program and adds more APIs on top of that. Most PUT programs that do not run on-chain will import this.
* put-client — For interacting with a PUT node via the JSON RPC API.put-cli-config — Loading and saving the PUT CLI configuration file.
* put-clap-utils — Routines for setting up a CLI, using clap, as used by the main PUT CLI. Includes functions for loading all types of signers supported by the CLI.
