Skip to main content

Quicknode SDK

Updated on
May 28, 2026

Overview

The Quicknode SDK is a single SDK for working with Quicknode product APIs from the language you already use: Rust, Python, Node.js, and Ruby.

Use it to build Quicknode product workflows, operational services, scripts, and AI agents that need typed access to:


  • Admin API: Manage endpoints, usage, billing, teams, endpoint security, rate limits, logs, metrics, and account tags.
  • Streams: Create, update, pause, activate, test, and delete Streams.
  • Webhooks: Create and manage webhook subscriptions from Quicknode webhook templates.
  • Key-Value Store: Store and retrieve sets and lists for application state, stream filters, watchlists, cursors, and agent memory.

When to use the SDK

Use the SDK when you want one consistent client for Quicknode product APIs, especially when your app or agent needs to coordinate multiple products in one workflow.

Common workflows include:


  • Create or manage endpoints with the Admin API.
  • Create a Stream and deliver filtered onchain data to a webhook destination.
  • Store processing state or watchlists in Key-Value Store.
  • Create webhooks from templates and manage their lifecycle.
  • Build agent workflows that can inspect account state, provision resources, and clean up test infrastructure.

This SDK version is focused on Quicknode product APIs. If you need call the blockchain directly, use your Quicknode endpoint directly with your preferred chain library.

Packages

LanguagePackageInstall
Node.js / TypeScript@quicknode/sdknpm install @quicknode/sdk
Pythonquicknode-sdkpip install quicknode-sdk
Rustquicknode-sdkcargo add quicknode-sdk --features rust
Rubyquicknode_sdkgem install quicknode_sdk

Platform support

The SDK is built around a shared Rust core with bindings for specific languages. The core compiles to native libraries for each supported platform, giving you predictable performance and a small dependency footprint. The trade-off is that we publish binaries for a specific set of targets rather than running in every environment our host languages support.

Supported targets

Precompiled native modules are published for:

PlatformTargets
Linux (glibc)x86_64, aarch64 on glibc 2.17+ (manylinux2014)
Linux (musl)x86_64, aarch64 on Alpine and other musl distros
macOSApple Silicon (arm64)

Linux glibc binaries are built against glibc 2.17, so they load on any distro released from 2014 onward, including RHEL 7+, Ubuntu 14.04+, Debian 8+, Amazon Linux 2+, SLES 12+, and Fedora 19+.

Not supported


  • Browsers: The Quicknode SDK is not browser-compatible. It uses a Rust core through native bindings, which require Node.js or another runtime that supports native add-ons. Standard browser bundles cannot load these bindings.
  • Windows: No precompiled binary is published. WSL2 works and is the recommended path for Windows developers.
  • Intel macOS: Apple Silicon only.
  • Older Linux distros: below the glibc floor: RHEL/CentOS 6 (glibc 2.12), Debian 7 (glibc 2.13), Ubuntu 12.04 (glibc 2.15), SLES 11 (glibc 2.11).

On an unsupported platform, importing the SDK fails fast at load time with an error listing the available targets. The failure surfaces at install or import, not at first call.

Product clients

Construct the SDK once, then use the product clients exposed from that shared configuration.

ClientPurposeREST API
adminEndpoints, teams, usage, logs, billing, metrics, security, and rate limitshttps://api.quicknode.com/v0/
streamsStreams creation, updates, lifecycle, and filter testinghttps://api.quicknode.com/streams/rest/v1/
webhooksWebhook templates, destinations, lifecycle, and countshttps://api.quicknode.com/webhooks/rest/v1/
kvstoreSets and lists for persisted statehttps://api.quicknode.com/kv/rest/v1/

The SDK entry point is QuicknodeSdk in each language binding. Ruby exposes it as QuicknodeSdk::SDK.

Authentication

Create an API key in the Quicknode dashboard, then configure the SDK with the QN_SDK__API_KEY environment variable.

export QN_SDK__API_KEY="YOUR_API_KEY"

The SDK also supports base URL overrides for local development, staging, and agent sandboxes:

Environment variableDefault
QN_SDK__ADMIN__BASE_URLhttps://api.quicknode.com/v0/
QN_SDK__STREAMS__BASE_URLhttps://api.quicknode.com/streams/rest/v1/
QN_SDK__WEBHOOKS__BASE_URLhttps://api.quicknode.com/webhooks/rest/v1/
QN_SDK__KVSTORE__BASE_URLhttps://api.quicknode.com/kv/rest/v1/
QN_SDK__HTTP__TIMEOUT_SECS30

For agents

The SDK is designed to be useful for humans and agents. Agents can initialize one SDK handle, reuse the same credentials across product clients, and rely on typed method inputs and responses instead of composing raw REST calls for each workflow.

Next steps


We ❤️ Feedback

Share feedback on missing methods, naming, examples, and agent workflows so we can keep improving the SDK.

Share this doc