Skip to main content

HyperSync Client Libraries

HyperSync provides powerful client libraries that enable you to integrate high-performance blockchain data access into your applications. These libraries handle the communication with HyperSync servers, data serialization/deserialization, and provide convenient APIs for querying blockchain data.

ClientResources
Node.js๐Ÿ“ API Docs ยท ๐Ÿ“ฆ NPM ยท ๐Ÿ’ป GitHub ยท ๐Ÿงช Examples
Python๐Ÿ“ฆ PyPI ยท ๐Ÿ’ป GitHub ยท ๐Ÿงช Examples
Rust๐Ÿ“ฆ Crates.io ยท ๐Ÿ“ API Docs ยท ๐Ÿ’ป GitHub ยท ๐Ÿงช Examples
Go (community)๐Ÿ’ป GitHub ยท ๐Ÿงช Examples
API Tokens๐Ÿ”‘ Get Tokens

Client Overviewโ€‹

All HyperSync clients share these key features:

  • High Performance: Built on a common Rust foundation for maximum efficiency
  • Optimized Transport: Uses binary formats to minimize bandwidth and maximize throughput
  • Consistent Experience: Similar APIs across all language implementations
  • Automatic Pagination: Handles large data sets efficiently
  • Event Decoding: Parses binary event data into structured formats

Choose the client that best matches your application's technology stack:

FeatureNode.jsPythonRustGo
Async Supportโœ…โœ…โœ…โœ…
TypingTypeScriptType HintsNativeNative
Data FormatsJSON, ParquetJSON, Parquet, CSVJSON, ParquetJSON, Parquet
Memory EfficiencyGoodBetterBestBetter
Installationnpmpipcargogo get

Node.js Clientโ€‹

The Node.js client provides a TypeScript-first experience for JavaScript developers.

Installationโ€‹

# Using npm
npm install @envio-dev/hypersync-client

# Using yarn
yarn add @envio-dev/hypersync-client

# Using pnpm
pnpm add @envio-dev/hypersync-client

Python Clientโ€‹

The Python client provides a Pythonic interface with full type hinting support.

Installationโ€‹

pip install hypersync

Rust Clientโ€‹

The Rust client provides the most efficient and direct access to HyperSync, with all the safety and performance benefits of Rust.

Installationโ€‹

Add the following to your Cargo.toml:

[dependencies]
hypersync-client = "0.1"
tokio = { version = "1", features = ["full"] }

Go Clientโ€‹

Community Maintained

The Go client is community maintained and marked as work-in-progress. For production use, you may want to test thoroughly or consider the officially supported clients.

The Go client provides a native Go interface for accessing HyperSync, with support for streaming and decoding blockchain data.

Installationโ€‹

go get github.com/enviodev/hypersync-client-go

Using API Tokensโ€‹

Get Your API Token

You'll need an API token to use any HyperSync client. Get your token here.

All HyperSync clients require an API token for authentication. Tokens are used to manage access and usage limits.

To get an API token:

  1. Visit Envio
  2. Register or sign in with your github account
  3. Navigate to the API Tokens section
  4. Create a new token

For detailed instructions, see our API Tokens guide.

Client Selection Guideโ€‹

Choose the client that best fits your use case:

Node.js Client

Choose when: You're building JavaScript/TypeScript applications or if your team is most comfortable with the JavaScript ecosystem.

Python Client

Choose when: You're doing data science work, need integration with pandas/numpy, or if your team prefers Python's simplicity.

Rust Client

Choose when: You need maximum performance, are doing systems programming, or building performance-critical applications.

Go Client

Choose when: You're working in a Go ecosystem and want native integration with Go applications. Note that this client is community maintained.

Additional Resourcesโ€‹

Supportโ€‹

Need help getting started or have questions about our clients? Connect with our community: