SDK | Quicknode Docs

SDK

Overview

The 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:

Complete reference for developers and agents building with the SDK:

QuickStart Examples

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:

Packages

Language Package Install
Node.js / TypeScript @quicknode/sdk npm install @quicknode/sdk
Python quicknode-sdk pip install quicknode-sdk
Rust quicknode-sdk cargo add quicknode-sdk --features rust
Ruby quicknode_sdk gem 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.

Supported targets

Precompiled native modules are published for:

Platform Targets
Linux (glibc) x86_64, aarch64 on glibc 2.17+ (manylinux2014)
Linux (musl) x86_64, aarch64 on Alpine and other musl distros
macOS Apple 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

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.

Client Purpose REST API
admin Endpoints, teams, usage, logs, billing, metrics, security, and rate limits https://api.quicknode.com/v0/
rpc On-chain JSON-RPC calls via Tooling Access or x402/MPP micropayments Tooling Access, x402, or MPP gateway
streams Streams creation, updates, lifecycle, and filter testing https://api.quicknode.com/streams/rest/v1/
webhooks Webhook templates, destinations, lifecycle, and counts https://api.quicknode.com/webhooks/rest/v1/
kvstore Sets and lists for persisted state https://api.quicknode.com/kv/rest/v1/
sql SQL queries against indexed blockchain data https://api.quicknode.com/sql/rest/v1/

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

SQL Explorer methods

The sql client provides two methods:

const qn = new QuicknodeSdk();

// Run a SQL query

const resp = await qn.sql.query(

"SELECT action_type, user FROM hyperliquid_system_actions LIMIT 3",

"hyperliquid-core-mainnet"
);

console.log(`${resp.rows} rows, ${resp.credits} credits`);

// Get the schema for a cluster

const schema = await qn.sql.getSchema("hyperliquid-core-mainnet");

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 variable Default
QN_SDK__ADMIN__BASE_URL https://api.quicknode.com/v0/
QN_SDK__STREAMS__BASE_URL https://api.quicknode.com/streams/rest/v1/
QN_SDK__WEBHOOKS__BASE_URL https://api.quicknode.com/webhooks/rest/v1/
QN_SDK__KVSTORE__BASE_URL https://api.quicknode.com/kv/rest/v1/
QN_SDK__SQL__BASE_URL https://api.quicknode.com/sql/rest/v1/
QN_SDK__HTTP__TIMEOUT_SECS 30

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