본문으로 건너뛰기

SDK Examples

업데이트 날짜:
Jul 14, 2026

개요

These examples show the SDK shape across supported Quicknode products. They assume you already initialized the SDK as qn ~에서 빠른 시작.

Admin API

Use the Admin API client to inspect and manage account resources such as endpoints, teams, usage, billing, security, and rate limits.

import { QuicknodeSdk } from "@quicknode/sdk";

const qn = QuicknodeSdk.fromEnv();

const endpoints = await qn.admin.getEndpoints({
limit: 20,
sortBy: "created_at",
sortDirection: "desc",
});

for (const endpoint of endpoints.data) {
console.log(endpoint.id, endpoint.name, endpoint.status);
}

For the full API surface, see the Admin API docs.

RPC & Tooling Access

You can use the RPC client to send JSON-RPC requests to the account's Tooling Access endpoint; qn.rpc mints and refreshes the session JWT for each call. Enable Tooling Access first with the qn.admin control-plane methods (requires an admin role). Pass 네트워크 to route a call to a specific network.

import { QuicknodeSdk } from "@quicknode/sdk";

const qn = QuicknodeSdk.fromEnv();

// Enable Tooling Access once (idempotent; requires an admin role).
const status = await qn.admin.toolingAccessStatus();
if (!status.enabled) {
await qn.admin.enableToolingAccess();
}

// params defaults to []; pass an array (positional) or object (named).
const blockNumber = await qn.rpc.call("eth_blockNumber");
const balance = await qn.rpc.call("eth_getBalance", ["0xabc...", "latest"]);
console.log(blockNumber, balance);

// Route a call to a specific network by its multichain key.
const slot = await qn.rpc.call("getSlot", [], "solana-mainnet");
console.log(slot);

Streams

Use the Streams client to list, inspect, create, update, pause, activate, delete, and test Streams. The example below lists Streams, counts enabled Streams, and dry-runs a filter without changing account state.

import { QuicknodeSdk, StreamDataset } from "@quicknode/sdk";

const qn = QuicknodeSdk.fromEnv();

const streams = await qn.streams.listStreams({ limit: 10 });
console.log(`Streams: ${streams.pageInfo.total}`);

const enabled = await qn.streams.getEnabledCount();
console.log(`Enabled Streams: ${enabled.total}`);

const filterFunction = Buffer.from(`
function main(data) {
return data;
}
`).toString("base64");

const result = await qn.streams.testFilter({
network: "ethereum-mainnet",
dataset: StreamDataset.Block,
block: "17811625",
filterFunction,
});

console.log(result.result);

For destination options, supported datasets, and request details, see the Streams REST API docs.

Webhooks

Use the Webhooks client to list webhooks, inspect a webhook, create a webhook from a template, pause or activate delivery, and retrieve enabled counts. The example below is read-only.

import { QuicknodeSdk } from "@quicknode/sdk";

const qn = QuicknodeSdk.fromEnv();

const webhooks = await qn.webhooks.listWebhooks({
limit: 10,
offset: 0,
});

for (const webhook of webhooks.data) {
console.log(webhook.id, webhook.name, webhook.status);
}

const enabled = await qn.webhooks.getEnabledCount();
console.log(`Enabled webhooks: ${enabled.total}`);

For template behavior and destination configuration, see the Webhooks REST API docs.

키-값 저장소

간단한 상태 저장을 위해서는 키-값 저장소 클라이언트를 사용하세요. ‘sets’는 키 하나당 하나의 문자열 값을 저장합니다. ‘lists’는 하나의 키 아래에 정렬된 문자열 모음을 저장합니다.

import { QuicknodeSdk } from "@quicknode/sdk";

const qn = QuicknodeSdk.fromEnv();

const sets = await qn.kvstore.getSets({ limit: 10 });
console.log(`Sets: ${sets.data.length}`);

if (sets.data.length > 0) {
const set = await qn.kvstore.getSet(sets.data[0].key);
console.log(set.value);
}

const lists = await qn.kvstore.getLists({ limit: 10 });
console.log(`Lists: ${lists.data.keys.length}`);

모든 리스트 및 집합 연산에 대해서는 키-값 스토어 REST API 문서를 참조하십시오.

SQL 탐색기

SQL Explorer 클라이언트를 사용하여 인덱싱된 블록체인 데이터에 대해 SQL 쿼리를 실행하고 테이블 스키마를 가져옵니다.

import { QuicknodeSdk } from "@quicknode/sdk";

const qn = QuicknodeSdk.fromEnv();

// Run a SQL query
const result = await qn.sql.query(
"SELECT action_type, user FROM hyperliquid_system_actions LIMIT 3",
"hyperliquid-core-mainnet"
);
console.log(`${result.rows} rows, ${result.credits} credits`);

// Get the schema for a cluster
const schema = await qn.sql.getSchema("hyperliquid-core-mainnet");
console.log(schema);

쿼리 구문 및 사용 가능한 테이블에 대해서는 SQL Explorer 문서를 참조하십시오.

Agent workflow example

Agents can combine clients in one run. For example, a release automation agent can inspect endpoints, Streams, Webhooks, Key-Value Store state, and query blockchain data before deciding what action to take.

import { QuicknodeSdk } from "@quicknode/sdk";

const qn = QuicknodeSdk.fromEnv();

const endpoints = await qn.admin.getEndpoints({ tagLabels: ["sdk-managed"] });
const streams = await qn.streams.listStreams({ limit: 10 });
const webhooks = await qn.webhooks.listWebhooks({ limit: 10 });
const sets = await qn.kvstore.getSets({ limit: 10 });
const trades = await qn.sql.query(
"SELECT * FROM hyperliquid_trades LIMIT 5",
"hyperliquid-core-mainnet"
);

console.log({
endpoints: endpoints.data.length,
streams: streams.data.length,
webhooks: webhooks.data.length,
sets: sets.data.length,
trades: trades.rows,
});
이 문서 공유하기