Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Substrate
  3. Rust API Client

Rust API Client

Apache-2.0Rustv1.21.0

A Rust library for connecting to Substrate-based blockchains via RPC, with a focus on no_std and embedded environments.

GitHubGitHub
264 stars125 forks0 contributors

What is Rust API Client?

Substrate-api-client is a Rust library that provides an RPC client for connecting to and interacting with Substrate-based blockchain nodes. It allows developers to submit transactions, query on-chain state, and subscribe to events, specifically designed to work in resource-constrained no_std environments like trusted execution environments and embedded systems.

Target Audience

Rust developers building applications or services that need to interact with Substrate, Polkadot, or Kusama blockchains, particularly those working in embedded systems, TEEs, or other no_std environments.

Value Proposition

It offers a simpler, more focused alternative to subxt with strong no_std support, making it the preferred choice for developers who need lightweight blockchain interaction in constrained environments without the overhead of a full-featured client.

Overview

Library for connecting to substrate API over WebSockets

Use Cases

Best For

  • Building blockchain clients for embedded devices or IoT
  • Developing applications within trusted execution environments (TEEs)
  • Creating lightweight tools for Substrate chain interaction
  • Implementing custom RPC clients for specialized hardware
  • Projects requiring no_std compatibility with Substrate
  • Educational or experimental Substrate RPC implementations

Not Ideal For

  • Projects requiring a full-featured RPC client with extensive built-in abstractions and minimal custom code
  • Teams prioritizing long-term API stability and frequent bugfix backports over no_std compatibility
  • Applications that rely on seamless, out-of-the-box WebSocket integration without implementing custom RPC clients

Pros & Cons

Pros

No_std First Design

Most of the library is no_std compatible, explicitly targeting trusted execution environments and embedded devices, which is rare among Substrate clients.

Multiple Backend Support

Supports three WebSocket crates (jsonrpsee, tungstenite, ws) for flexibility, allowing developers to choose based on environment constraints.

Sync and Async APIs

Provides both synchronous and asynchronous implementations, catering to different application needs without forcing a paradigm.

Lightweight Simplicity

Prioritizes a simpler, less extensive codebase compared to subxt, reducing overhead for specialized use cases.

Cons

Incomplete Runtime Configs

The README admits extrinsic submission can fail due to manual runtime configuration, with only two pre-defined configs, forcing custom work for non-standard nodes.

Custom RPC Client Required

For no_std builds, developers must implement their own RPC client by hand, as the library only provides std-compatible clients, adding significant setup complexity.

Frequent Breaking Changes

Versioning allows breaking changes in minor releases, and the README warns about API shifts, requiring careful upgrades and potential code rewrites.

Frequently Asked Questions

Quick Stats

Stars264
Forks125
Contributors0
Open Issues47
Last commit18 days ago
CreatedSince 2019

Tags

#kusama#rpc-client#polkadot#embedded#substrate#blockchain#rust#no-std#websockets#web3

Built With

a
async-trait
R
Rust

Included in

Substrate777
Auto-fetched 1 day ago

Related Projects

Polkadot-JS APIPolkadot-JS API

Promise and RxJS APIs around Polkadot and Substrate based chains via RPC calls. It is dynamically generated based on what the Substrate runtime provides in terms of metadata.

Stars1,107
Forks383
Last commit2 months ago
subxtsubxt

Interact with Substrate based nodes in Rust or WebAssembly

Stars483
Forks297
Last commit4 days ago
Python InterfacePython Interface

Python Polkadot SDK

Stars259
Forks123
Last commit4 months ago
Go RPC ClientGo RPC Client

Substrate RPC client for go aka GSRPC

Stars209
Forks188
Last commit1 year ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub