quicknode-skill

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Quicknode Blockchain Infrastructure

Quicknode 区块链基础设施

Intake Questions

接入问题

  • Which chain and network should Quicknode target?
  • Is this read-only or should I create infrastructure (streams, webhooks, IPFS writes)?
  • Does this require real-time streaming (gRPC/Yellowstone/Hypercore) or standard RPC?
  • What endpoint or API key should I use (default:
    QUICKNODE_RPC_URL
    , optional
    QUICKNODE_WSS_URL
    /
    QUICKNODE_API_KEY
    )?
  • Any constraints (latency, regions, throughput, destinations)?
  • Quicknode应指向哪条链和网络?
  • 这是只读操作还是需要创建基础设施(流、Webhook、IPFS写入)?
  • 是否需要实时流(gRPC/Yellowstone/Hypercore)还是标准RPC?
  • 应使用哪个端点或API密钥(默认:
    QUICKNODE_RPC_URL
    ,可选
    QUICKNODE_WSS_URL
    /
    QUICKNODE_API_KEY
    )?
  • 有任何约束条件吗(延迟、区域、吞吐量、目标地址)?

Safety Defaults

安全默认设置

  • Default to testnet/devnet when a network is not specified.
  • Prefer read-only operations and dry runs before creating resources.
  • Never ask for or accept private keys or secret keys.
  • 未指定网络时,默认使用测试网/开发网。
  • 优先选择只读操作,在创建资源前先进行试运行。
  • 绝不索要或接受私钥或密钥。

Confirm Before Write

写入前确认

  • Require explicit confirmation before creating or modifying Streams, Webhooks, or IPFS uploads.
  • If confirmation is missing, return the exact API payload for review.
  • 创建或修改Streams、Webhooks或IPFS上传前,需要明确的确认。
  • 如果缺少确认,返回完整的API负载供审核。

Quick Reference

快速参考

ProductDescriptionUse Case
RPC EndpointsHigh-performance blockchain accessdApp backend, wallet interactions
StreamsReal-time & historical blockchain data pipelinesEvent monitoring, analytics, indexing
WebhooksEvent-driven notificationsAlerts, transaction monitoring
IPFSDecentralized file storageNFT metadata, asset hosting
Add-onsEnhanced blockchain APIsToken balances, NFT data, DeFi
DAS APISolana Digital Asset Standard (add-on)NFT/token queries, compressed NFTs, asset search
Yellowstone gRPCSolana Geyser streaming (add-on)Real-time account, transaction, slot data
HypercoreHyperliquid gRPC/JSON-RPC/WS (beta)Trades, orders, book updates, blocks, TWAP, events, writer actions
Console APIREST API for account managementEndpoint CRUD, usage monitoring, billing
Key-Value StoreServerless key-value and list storage (beta)Persistent state for Streams, dynamic address lists
x402Pay-per-request RPC via USDC micropaymentsKeyless RPC access, AI agents, pay-as-you-go
产品描述使用场景
RPC Endpoints高性能区块链访问dApp后端、钱包交互
Streams实时与历史区块链数据管道事件监控、数据分析、索引构建
Webhooks事件驱动通知告警、交易监控
IPFS去中心化文件存储NFT元数据、资产托管
Add-ons增强型区块链API代币余额、NFT数据、DeFi应用
DAS APISolana数字资产标准(附加组件)NFT/代币查询、压缩NFT、资产搜索
Yellowstone gRPCSolana Geyser流(附加组件)实时账户、交易、槽位数据
HypercoreHyperliquid gRPC/JSON-RPC/WS(测试版)交易、订单、订单簿更新、区块、时间加权平均价格(TWAP)、事件、写入操作
Console API账户管理REST API端点增删改查、使用监控、账单管理
Key-Value Store无服务器键值与列表存储(测试版)Streams持久化状态、动态地址列表
x402基于USDC微支付的按次付费RPC无密钥RPC访问、AI Agent、按需付费

RPC Endpoints

RPC Endpoints

Quicknode provides low-latency RPC endpoints for 80+ blockchain networks.
Quicknode为80+条区块链网络提供低延迟RPC端点。

Endpoint Setup

端点设置

typescript
// EVM chains (ethers.js)
import { JsonRpcProvider } from 'ethers';
const provider = new JsonRpcProvider(process.env.QUICKNODE_RPC_URL!);

// EVM chains (viem)
import { createPublicClient, http } from 'viem';
import { mainnet } from 'viem/chains';
const client = createPublicClient({
  chain: mainnet,
  transport: http(process.env.QUICKNODE_RPC_URL!),
});

// Solana
import { createSolanaRpc } from '@solana/kit';
const rpc = createSolanaRpc(process.env.QUICKNODE_RPC_URL!);
typescript
// EVM链(ethers.js)
import { JsonRpcProvider } from 'ethers';
const provider = new JsonRpcProvider(process.env.QUICKNODE_RPC_URL!);

// EVM链(viem)
import { createPublicClient, http } from 'viem';
import { mainnet } from 'viem/chains';
const client = createPublicClient({
  chain: mainnet,
  transport: http(process.env.QUICKNODE_RPC_URL!),
});

// Solana
import { createSolanaRpc } from '@solana/kit';
const rpc = createSolanaRpc(process.env.QUICKNODE_RPC_URL!);

Authentication

认证

Quicknode endpoints include authentication in the URL:
https://{ENDPOINT_NAME}.{NETWORK}.quiknode.pro/{API_KEY}/
For additional security, enable JWT authentication or IP allowlisting in the Quicknode dashboard.
Quicknode端点在URL中包含认证信息:
https://{ENDPOINT_NAME}.{NETWORK}.quiknode.pro/{API_KEY}/
为提升安全性,可在Quicknode控制台启用JWT认证或IP白名单。

Supported Networks

支持的网络

CategoryNetworks
EVMEthereum, Polygon, Arbitrum, Optimism, Base, BSC, Avalanche, Fantom, zkSync, Scroll, Linea, Hyperliquid EVM (HyperEVM)
Non-EVMSolana, Bitcoin, NEAR, Stacks, Cosmos, Sei, Aptos, Sui, TON, Hyperliquid (HyperCore)
Not exhaustive. Full list: https://www.quicknode.com/chains
分类网络
EVMEthereum、Polygon、Arbitrum、Optimism、Base、BSC、Avalanche、Fantom、zkSync、Scroll、Linea、Hyperliquid EVM(HyperEVM)
非EVMSolana、Bitcoin、NEAR、Stacks、Cosmos、Sei、Aptos、Sui、TON、Hyperliquid(HyperCore)
以上为非完整列表,完整列表:https://www.quicknode.com/chains

Rate Limits & Plans

速率限制与套餐

As of 2026-02-02. Verify current limits in Quicknode docs before sizing a production system.
PlanRequests/secCredits/month
Free Trial1510M
Build5080M
Accelerate125450M
Scale250950M
Business5002B
See references/rpc-reference.md for complete RPC documentation including method tables for EVM, Solana, and Bitcoin chains, WebSocket patterns, and batch request examples.
截至2026-02-02。在规划生产系统前,请在Quicknode文档中核实当前限制。
套餐请求数/秒月度额度
免费试用151000万
Build508000万
Accelerate1254.5亿
Scale2509.5亿
Business50020亿
完整RPC文档(包括EVM、Solana、Bitcoin链的方法表、WebSocket模式、批量请求示例)请参考references/rpc-reference.md

Streams

Streams

Real-time & historical blockchain data pipelines that filter, transform, and deliver data to your destinations.
可过滤、转换并将数据交付至目标地址的实时与历史区块链数据管道。

Stream Types

流类型

TypeDataUse Case
BlockFull block dataBlock explorers, analytics
TransactionTransaction detailsTx monitoring, indexing
LogsContract eventsDeFi tracking, NFT sales, token transfers
ReceiptTransaction receiptsGas analysis, status tracking
类型数据使用场景
Block完整区块数据区块浏览器、数据分析
Transaction交易详情交易监控、索引构建
Logs合约事件DeFi追踪、NFT销售、代币转账
Receipt交易收据燃气费分析、状态追踪

Quick Setup

快速设置

  1. Create stream in Quicknode dashboard
  2. Select network and data type
  3. Add filter function (JavaScript)
  4. Configure destination (webhook, S3, database)
  1. 在Quicknode控制台创建流
  2. 选择网络与数据类型
  3. 添加过滤函数(JavaScript)
  4. 配置目标地址(webhook、S3、数据库)

Basic Filter Function

基础过滤函数

See references/streams-reference.md for filter examples and full Streams documentation.
过滤示例与完整Streams文档请参考references/streams-reference.md

Webhooks

Webhooks

Event-driven notifications for blockchain activity.
针对区块链活动的事件驱动通知。

Webhooks vs Streams

Webhooks vs Streams

FeatureWebhooksStreams
SetupSimpleMore configuration
FilteringAddress/event-basedCustom JavaScript
DestinationsHTTP endpoint onlyWebhook, S3, Postgres, Azure
ProcessingBasicFull transformation
Use CaseSimple alertsComplex pipelines
特性WebhooksStreams
设置简单配置复杂
过滤基于地址/事件自定义JavaScript
目标地址仅HTTP端点Webhook、S3、Postgres、Azure
处理能力基础完整转换
使用场景简单告警复杂数据管道

Webhook Setup

Webhook设置

See references/webhooks-reference.md for API examples and full Webhooks documentation.
API示例与完整Webhooks文档请参考references/webhooks-reference.md

IPFS Storage

IPFS存储

Decentralized file storage with Quicknode's IPFS gateway.
See references/ipfs-reference.md for upload examples, metadata examples, and complete IPFS documentation.
基于Quicknode IPFS网关的去中心化文件存储。
上传示例、元数据示例与完整IPFS文档请参考references/ipfs-reference.md

Marketplace Add-ons

市场附加组件

Enhanced APIs available through Quicknode's marketplace.
通过Quicknode市场提供的增强型API。

Token API (Ethereum)

Token API(Ethereum)

javascript
// Get all token balances for an address
const response = await fetch(process.env.QUICKNODE_RPC_URL!, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    method: 'qn_getWalletTokenBalance',
    params: [{ wallet: '0x...', contracts: [] }]
  })
});
javascript
// 获取地址的所有代币余额
const response = await fetch(process.env.QUICKNODE_RPC_URL!, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    method: 'qn_getWalletTokenBalance',
    params: [{ wallet: '0x...', contracts: [] }]
  })
});

NFT API (Ethereum)

NFT API(Ethereum)

javascript
// Fetch NFTs owned by address
const response = await fetch(process.env.QUICKNODE_RPC_URL!, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    method: 'qn_fetchNFTs',
    params: [{ wallet: '0x...', page: 1, perPage: 10 }]
  })
});
javascript
// 获取地址拥有的NFT
const response = await fetch(process.env.QUICKNODE_RPC_URL!, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    method: 'qn_fetchNFTs',
    params: [{ wallet: '0x...', page: 1, perPage: 10 }]
  })
});

Solana Priority Fee API

Solana Priority Fee API

javascript
// Get recommended priority fees
const response = await rpc.request('qn_estimatePriorityFees', {
  last_n_blocks: 100,
  account: 'YOUR_ACCOUNT'
}).send();
javascript
// 获取推荐优先费用
const response = await rpc.request('qn_estimatePriorityFees', {
  last_n_blocks: 100,
  account: 'YOUR_ACCOUNT'
}).send();

Metis - Jupiter Swap API

Metis - Jupiter Swap API

typescript
// Using Metis - Jupiter Swap API
import { createJupiterApiClient } from '@jup-ag/api';

const jupiterApi = createJupiterApiClient({
  basePath: `${process.env.QUICKNODE_METIS_URL}`
});

const quote = await jupiterApi.quoteGet({
  inputMint: 'So11111111111111111111111111111111111111112',
  outputMint: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
  amount: 1000000000,
  slippageBps: 50
});

const swapResult = await jupiterApi.swapPost({
  swapRequest: {
    quoteResponse: quote,
    userPublicKey: 'YourPubkey...'
  }
});
See references/marketplace-addons.md for complete Add-ons documentation.
typescript
// 使用Metis - Jupiter Swap API
import { createJupiterApiClient } from '@jup-ag/api';

const jupiterApi = createJupiterApiClient({
  basePath: `${process.env.QUICKNODE_METIS_URL}`
});

const quote = await jupiterApi.quoteGet({
  inputMint: 'So11111111111111111111111111111111111111112',
  outputMint: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
  amount: 1000000000,
  slippageBps: 50
});

const swapResult = await jupiterApi.swapPost({
  swapRequest: {
    quoteResponse: quote,
    userPublicKey: 'YourPubkey...'
  }
});
完整附加组件文档请参考references/marketplace-addons.md

Solana DAS API (Digital Asset Standard)

Solana DAS API(数字资产标准)

Comprehensive API for querying Solana digital assets — standard NFTs, compressed NFTs (cNFTs), fungible tokens, MPL Core Assets, and Token 2022 Assets. Available as a Marketplace add-on (Metaplex DAS API).
用于查询Solana数字资产的综合API,支持标准NFT、压缩NFT(cNFT)、 fungible代币、MPL核心资产与Token 2022资产。作为市场附加组件提供(Metaplex DAS API)。

Quick Setup

快速设置

javascript
// Get all assets owned by a wallet
const response = await fetch(process.env.QUICKNODE_RPC_URL, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    jsonrpc: '2.0',
    id: 1,
    method: 'getAssetsByOwner',
    params: {
      ownerAddress: 'E645TckHQnDcavVv92Etc6xSWQaq8zzPtPRGBheviRAk',
      limit: 10,
      options: { showFungible: true, showCollectionMetadata: true }
    }
  })
});
const { result } = await response.json();
// result.total — total assets
// result.items — array of asset metadata
// result.cursor — for pagination
javascript
// 获取钱包拥有的所有资产
const response = await fetch(process.env.QUICKNODE_RPC_URL, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    jsonrpc: '2.0',
    id: 1,
    method: 'getAssetsByOwner',
    params: {
      ownerAddress: 'E645TckHQnDcavVv92Etc6xSWQaq8zzPtPRGBheviRAk',
      limit: 10,
      options: { showFungible: true, showCollectionMetadata: true }
    }
  })
});
const { result } = await response.json();
// result.total — 资产总数
// result.items — 资产元数据数组
// result.cursor — 分页游标

Available Methods

可用方法

MethodDescription
getAsset
Get metadata for a single asset
getAssets
Get metadata for multiple assets
getAssetProof
Get Merkle proof for a compressed asset
getAssetProofs
Get Merkle proofs for multiple assets
getAssetsByAuthority
List assets by authority
getAssetsByCreator
List assets by creator
getAssetsByGroup
List assets by group (e.g., collection)
getAssetsByOwner
List assets by wallet owner
getAssetSignatures
Transaction signatures for compressed assets
getTokenAccounts
Token accounts by mint or owner
getNftEditions
Edition details of a master NFT
searchAssets
Search assets with flexible filters
See references/solana-das-api-reference.md for complete DAS API documentation with all methods, parameters, and examples.
方法描述
getAsset
获取单个资产元数据
getAssets
获取多个资产元数据
getAssetProof
获取压缩资产的默克尔证明
getAssetProofs
获取多个压缩资产的默克尔证明
getAssetsByAuthority
按权限列出资产
getAssetsByCreator
按创建者列出资产
getAssetsByGroup
按组列出资产(如系列)
getAssetsByOwner
按钱包所有者列出资产
getAssetSignatures
压缩资产的交易签名
getTokenAccounts
按铸币或所有者列出代币账户
getNftEditions
主NFT的版本详情
searchAssets
使用灵活过滤器搜索资产
完整DAS API文档(含所有方法、参数与示例)请参考references/solana-das-api-reference.md

Yellowstone gRPC (Solana)

Yellowstone gRPC(Solana)

High-performance Solana Geyser plugin for real-time blockchain data streaming via gRPC. Available as a Marketplace add-on.
高性能Solana Geyser插件,通过gRPC实现实时区块链数据流。作为市场附加组件提供。

Quick Setup

快速设置

typescript
import Client, { CommitmentLevel } from "@triton-one/yellowstone-grpc";

// Derive from HTTP URL: https://example.solana-mainnet.quiknode.pro/TOKEN/
const client = new Client(
  "https://example.solana-mainnet.quiknode.pro:10000",
  "TOKEN",
  {}
);

const stream = await client.subscribe();
stream.on("data", (data) => {
  if (data.transaction) console.log("Tx:", data.transaction);
});

stream.write({
  transactions: {
    txn_filter: {
      vote: false,
      failed: false,
      accountInclude: ["PROGRAM_PUBKEY"],
      accountExclude: [],
      accountRequired: [],
    },
  },
  accounts: {},
  slots: {},
  blocks: {},
  blocksMeta: {},
  transactionsStatus: {},
  entry: {},
  accountsDataSlice: [],
  commitment: CommitmentLevel.CONFIRMED,
});
typescript
import Client, { CommitmentLevel } from "@triton-one/yellowstone-grpc";

// 从HTTP URL推导:https://example.solana-mainnet.quiknode.pro/TOKEN/
const client = new Client(
  "https://example.solana-mainnet.quiknode.pro:10000",
  "TOKEN",
  {}
);

const stream = await client.subscribe();
stream.on("data", (data) => {
  if (data.transaction) console.log("Tx:", data.transaction);
});

stream.write({
  transactions: {
    txn_filter: {
      vote: false,
      failed: false,
      accountInclude: ["PROGRAM_PUBKEY"],
      accountExclude: [],
      accountRequired: [],
    },
  },
  accounts: {},
  slots: {},
  blocks: {},
  blocksMeta: {},
  transactionsStatus: {},
  entry: {},
  accountsDataSlice: [],
  commitment: CommitmentLevel.CONFIRMED,
});

Filter Types

过滤类型

FilterDescription
accountsAccount data changes by pubkey, owner, or data pattern
transactionsTransaction events with vote/failure/account filters
transactionsStatusLightweight transaction status updates
slotsSlot progression and status changes
blocksFull block data with optional tx/account inclusion
blocksMetaBlock metadata without full contents
entryPoH entry updates
See references/yellowstone-grpc-reference.md for complete Yellowstone gRPC documentation.
过滤器描述
accounts按公钥、所有者或数据模式过滤账户数据变更
transactions带投票/失败/账户过滤器的交易事件
transactionsStatus轻量交易状态更新
slots槽位进度与状态变更
blocks包含可选交易/账户的完整区块数据
blocksMeta不含完整内容的区块元数据
entryPoH条目更新
完整Yellowstone gRPC文档请参考references/yellowstone-grpc-reference.md

HyperCore (Hyperliquid)

HyperCore(Hyperliquid)

Quicknode's data delivery infrastructure for the Hyperliquid L1 chain. Provides gRPC, JSON-RPC, WebSocket, and Info API access. Currently in public beta.
Quicknode为Hyperliquid L1链提供的数据交付基础设施,支持gRPC、JSON-RPC、WebSocket与Info API访问。当前为公开测试版。

Access Methods

访问方式

MethodPath / PortUse Case
Info API
/info
(POST)
50+ methods for market data, positions, orders
JSON-RPC
/hypercore
(POST)
Block queries (
hl_getBlock
,
hl_getBatchBlocks
)
WebSocket
/hypercore/ws
Real-time subscriptions (
hl_subscribe
)
gRPCPort 10000Lowest-latency streaming for trades, orders, books
方式路径/端口使用场景
Info API
/info
(POST)
50+种市场数据、仓位、订单方法
JSON-RPC
/hypercore
(POST)
区块查询(
hl_getBlock
hl_getBatchBlocks
WebSocket
/hypercore/ws
实时订阅(
hl_subscribe
gRPC端口10000交易、订单、订单簿的最低延迟流

gRPC Stream Types

gRPC流类型

StreamVolumeDescription
TRADESHighExecution data: coin, price, size, side, fees
ORDERSVery HighOrder lifecycle with 18+ status types
BOOK_UPDATESVery HighL2 order book diffs
TWAPLowTime-weighted average price order updates
EVENTSHighLedger updates, funding, deposits, withdrawals
BLOCKSExtremeRaw HyperCore blocks (gRPC only)
WRITER_ACTIONSLowSystem-level token transfers
数据量描述
TRADES执行数据:币种、价格、数量、方向、手续费
ORDERS极高包含18+种状态类型的订单生命周期
BOOK_UPDATES极高L2订单簿差分
TWAP时间加权平均价格订单更新
EVENTS账本更新、资金费用、存款、提款
BLOCKS极大原始HyperCore区块(仅gRPC)
WRITER_ACTIONS系统级代币转账

HyperEVM

HyperEVM

PathDebug/TraceArchiveUse Case
/evm
NoPartialStandard EVM operations
/nanoreth
YesExtendedDebug, trace, WebSocket subscriptions
See references/hypercore-hyperliquid-reference.md for complete HyperCore and Hyperliquid documentation.
路径调试/追踪归档使用场景
/evm
部分标准EVM操作
/nanoreth
扩展调试、追踪、WebSocket订阅
完整HyperCore与Hyperliquid文档请参考references/hypercore-hyperliquid-reference.md

Quicknode SDK

Quicknode SDK

Official JavaScript/TypeScript SDK for Quicknode services.
Quicknode服务的官方JavaScript/TypeScript SDK。

Installation

安装

bash
npm install @quicknode/sdk
bash
npm install @quicknode/sdk

Basic Usage

基础用法

typescript
import { Core } from '@quicknode/sdk';

const core = new Core({
  endpointUrl: process.env.QUICKNODE_RPC_URL!,
});

// Token API
const balances = await core.client.qn_getWalletTokenBalance({
  wallet: '0x...',
});

// NFT API
const nfts = await core.client.qn_fetchNFTs({
  wallet: '0x...',
  page: 1,
  perPage: 10,
});
See references/sdk-reference.md for complete SDK documentation.
typescript
import { Core } from '@quicknode/sdk';

const core = new Core({
  endpointUrl: process.env.QUICKNODE_RPC_URL!,
});

// Token API
const balances = await core.client.qn_getWalletTokenBalance({
  wallet: '0x...',
});

// NFT API
const nfts = await core.client.qn_fetchNFTs({
  wallet: '0x...',
  page: 1,
  perPage: 10,
});
完整SDK文档请参考references/sdk-reference.md

Console API

Console API

REST API for programmatic management of Quicknode endpoints, usage, rate limits, security, billing, and teams. Enables infrastructure-as-code workflows.
用于程序化管理Quicknode端点、使用情况、速率限制、安全设置、账单与团队的REST API,支持基础设施即代码工作流。

Quick Reference

快速参考

ResourceMethodsEndpoint
ChainsGET
/v0/chains
EndpointsGET, POST, PATCH, DELETE
/v0/endpoints
MetricsGET
/v0/endpoints/{id}/metrics
Rate LimitsGET, POST, PUT
/v0/endpoints/{id}/method-rate-limits
,
/v0/endpoints/{id}/rate-limits
SecurityGET
/v0/endpoints/{id}/security_options
UsageGET
/v0/usage/rpc
,
by-endpoint
,
by-method
,
by-chain
BillingGET
/v0/billing/invoices
TeamsGET
/v0/teams
资源方法端点
GET
/v0/chains
端点GET、POST、PATCH、DELETE
/v0/endpoints
指标GET
/v0/endpoints/{id}/metrics
速率限制GET、POST、PUT
/v0/endpoints/{id}/method-rate-limits
,
/v0/endpoints/{id}/rate-limits
安全设置GET
/v0/endpoints/{id}/security_options
使用情况GET
/v0/usage/rpc
,
by-endpoint
,
by-method
,
by-chain
账单GET
/v0/billing/invoices
团队GET
/v0/teams

Authentication

认证

All requests use the
x-api-key
header against
https://api.quicknode.com/v0/
.
typescript
const QN_API_KEY = process.env.QUICKNODE_API_KEY!;

const res = await fetch('https://api.quicknode.com/v0/endpoints', {
  headers: { 'x-api-key': QN_API_KEY },
});
const endpoints = await res.json();
See references/console-api-reference.md for full Console API documentation including endpoint CRUD, usage monitoring, rate limit configuration, security options, billing, and teams.
所有请求需在
https://api.quicknode.com/v0/
上携带
x-api-key
头。
typescript
const QN_API_KEY = process.env.QUICKNODE_API_KEY!;

const res = await fetch('https://api.quicknode.com/v0/endpoints', {
  headers: { 'x-api-key': QN_API_KEY },
});
const endpoints = await res.json();
完整Console API文档(含端点增删改查、使用监控、速率限制配置、安全选项、账单与团队管理)请参考references/console-api-reference.md

Key-Value Store (Beta)

键值存储(测试版)

Serverless storage for lists and key-value sets, primarily accessed from within Streams filter functions via the
qnLib
helper library. Also available via REST API.
用于列表与键值对的无服务器存储,主要通过
qnLib
辅助库在Streams过滤函数中访问,也可通过REST API使用。

Stream Integration (qnLib)

流集成(qnLib)

List operations — manage lists of items (e.g., wallet addresses):
  • qnLib.qnUpsertList
    — create or update a list
  • qnLib.qnAddListItem
    — add item to a list
  • qnLib.qnRemoveListItem
    — remove item from a list
  • qnLib.qnContainsListItems
    — batch membership check
  • qnLib.qnDeleteList
    — delete a list
Set operations — manage key-value pairs:
  • qnLib.qnAddSet
    — create a key-value set
  • qnLib.qnGetSet
    — retrieve value by key
  • qnLib.qnBulkSets
    — bulk create/remove sets
  • qnLib.qnDeleteSet
    — delete a set
列表操作 — 管理项目列表(如钱包地址):
  • qnLib.qnUpsertList
    — 创建或更新列表
  • qnLib.qnAddListItem
    — 向列表添加项目
  • qnLib.qnRemoveListItem
    — 从列表移除项目
  • qnLib.qnContainsListItems
    — 批量成员检查
  • qnLib.qnDeleteList
    — 删除列表
集合操作 — 管理键值对:
  • qnLib.qnAddSet
    — 创建键值集合
  • qnLib.qnGetSet
    — 通过键检索值
  • qnLib.qnBulkSets
    — 批量创建/移除集合
  • qnLib.qnDeleteSet
    — 删除集合

x402 (Pay-Per-Request RPC)

x402(按次付费RPC)

Pay-per-request RPC access via USDC micropayments on Base. No API key required — authenticate with Sign-In with Ethereum (SIWE), purchase credits, and access 140+ chain endpoints.
基于Base链上USDC微支付的按次付费RPC访问,无需API密钥 — 通过以太坊登录(SIWE)认证、购买额度即可访问140+条链的端点。

Quick Setup

快速设置

typescript
import { wrapFetch } from "@x402/fetch";
import { createWalletClient, http } from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { base } from "viem/chains";

const account = privateKeyToAccount(process.env.PRIVATE_KEY as `0x${string}`);
const walletClient = createWalletClient({
  account,
  chain: base,
  transport: http(),
});

// Wrap fetch to auto-handle 402 payments
const x402Fetch = wrapFetch(fetch, walletClient);

// Use like normal fetch — payments are handled automatically
const response = await x402Fetch("https://x402.quicknode.com/ethereum-mainnet", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    jsonrpc: "2.0",
    method: "eth_blockNumber",
    params: [],
    id: 1,
  }),
});
See references/x402-reference.md for complete x402 documentation including SIWE authentication, credit management, and the
@x402/fetch
wrapper.
typescript
import { wrapFetch } from "@x402/fetch";
import { createWalletClient, http } from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { base } from "viem/chains";

const account = privateKeyToAccount(process.env.PRIVATE_KEY as `0x${string}`);
const walletClient = createWalletClient({
  account,
  chain: base,
  transport: http(),
});

// 包装fetch以自动处理402支付
const x402Fetch = wrapFetch(fetch, walletClient);

// 像普通fetch一样使用 — 支付将自动处理
const response = await x402Fetch("https://x402.quicknode.com/ethereum-mainnet", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    jsonrpc: "2.0",
    method: "eth_blockNumber",
    params: [],
    id: 1,
  }),
});
完整x402文档(含SIWE认证、额度管理、
@x402/fetch
包装器)请参考references/x402-reference.md

Common Patterns

常见模式

Multi-Chain dApp Setup

多链dApp设置

typescript
import { Core } from '@quicknode/sdk';

const chains = {
  ethereum: new Core({
    endpointUrl: 'https://YOUR_ETH_ENDPOINT.quiknode.pro/KEY/'
  }),
  polygon: new Core({
    endpointUrl: 'https://YOUR_POLYGON_ENDPOINT.quiknode.pro/KEY/'
  }),
  arbitrum: new Core({
    endpointUrl: 'https://YOUR_ARB_ENDPOINT.quiknode.pro/KEY/'
  }),
};

// Use appropriate chain
const ethBalance = await chains.ethereum.client.getBalance({ address: '0x...' });
typescript
import { Core } from '@quicknode/sdk';

const chains = {
  ethereum: new Core({
    endpointUrl: 'https://YOUR_ETH_ENDPOINT.quiknode.pro/KEY/'
  }),
  polygon: new Core({
    endpointUrl: 'https://YOUR_POLYGON_ENDPOINT.quiknode.pro/KEY/'
  }),
  arbitrum: new Core({
    endpointUrl: 'https://YOUR_ARB_ENDPOINT.quiknode.pro/KEY/'
  }),
};

// 使用对应链
const ethBalance = await chains.ethereum.client.getBalance({ address: '0x...' });

Real-Time Transaction Monitoring

实时交易监控

  1. Create Stream filtering for your contract address
  2. Add Filter Function to extract relevant events
  3. Configure Webhook destination to your server
  4. Process Events in your backend
  1. 创建流,过滤你的合约地址
  2. 添加过滤函数,提取相关事件
  3. 配置Webhook目标地址到你的服务器
  4. 在后端处理事件

NFT Collection Indexing

NFT系列索引

  1. Use Streams to capture mint/transfer events
  2. Store in Database via PostgreSQL destination
  3. Query via Add-ons for current ownership data
  4. Query via SDK for custom API endpoints
  1. 使用Streams捕获铸造/转账事件
  2. 通过PostgreSQL目标地址存储到数据库
  3. 通过附加组件查询当前所有权数据
  4. 通过SDK查询自定义API端点

Real-Time Solana Monitoring with Yellowstone gRPC

基于Yellowstone gRPC的Solana实时监控

  1. Connect via gRPC on port 10000 with your auth token
  2. Subscribe to transactions filtering by program or account
  3. Process updates in real-time via the streaming interface
  4. Implement reconnection with exponential backoff
  1. 通过端口10000连接gRPC,携带你的认证令牌
  2. 订阅交易,按程序或账户过滤
  3. 通过流接口实时处理更新
  4. 实现带指数退避的重连机制

Hyperliquid Trading Data Pipeline

Hyperliquid交易数据管道

  1. Connect via gRPC on port 10000 for lowest-latency data
  2. Subscribe to TRADES/ORDERS streams with coin filters
  3. Process events — handle ~12 blocks/sec throughput
  4. Use Info API (
    /info
    ) for account state and market metadata
  1. 通过端口10000连接gRPC获取最低延迟数据
  2. 订阅TRADES/ORDERS流,带币种过滤器
  3. 处理事件 — 处理约12区块/秒的吞吐量
  4. 使用Info API
    /info
    )获取账户状态与市场元数据

Best Practices

最佳实践

RPC

RPC

  • Use WebSocket for subscriptions and real-time data
  • Implement retry logic with exponential backoff
  • Cache responses when data doesn't change frequently
  • Use batch requests to reduce API calls
  • 使用WebSocket进行订阅与实时数据
  • 实现带指数退避的重试逻辑
  • 数据无频繁变化时缓存响应
  • 使用批量请求减少API调用

Streams

Streams

  • Start with narrow filters, expand as needed
  • Test filter functions locally before deployment
  • Streams will automatically retry on failures
  • Monitor stream health via dashboard
  • 从窄范围过滤器开始,按需扩展
  • 部署前在本地测试过滤函数
  • Streams会自动重试失败请求
  • 通过控制台监控流健康状态

Security

安全

  • Store API keys in environment variables
  • Enable IP allowlisting for production
  • Use JWT authentication for sensitive operations
  • Rotate API keys periodically
  • 将API密钥存储在环境变量中
  • 生产环境启用IP白名单
  • 敏感操作使用JWT认证
  • 定期轮换API密钥

gRPC

gRPC

  • Enable zstd compression to reduce bandwidth (up to 70% for Hyperliquid)
  • Implement reconnection logic with exponential backoff — streams can drop
  • Use narrow filters (specific accounts, coins, or programs) to minimize data volume
  • Set appropriate commitment levels (Yellowstone: CONFIRMED for most use cases, FINALIZED for irreversibility)
  • Send keepalive pings (every 10s for Yellowstone, every 30s for Hypercore) to maintain connections
  • 启用zstd压缩以减少带宽(Hyperliquid可减少高达70%)
  • 实现带指数退避的重连逻辑 — 流可能中断
  • 使用窄范围过滤器(特定账户、币种或程序)以最小化数据量
  • 设置合适的确认级别(Yellowstone:多数场景用CONFIRMED,需不可逆性用FINALIZED)
  • 发送保活 ping(Yellowstone每10秒一次,Hypercore每30秒一次)以维持连接

Documentation Links

文档链接

Quicknode Products

Quicknode产品

Chain-Specific Docs

链专属文档

LLM-Optimized Documentation

LLM优化文档

Additional Resources

附加资源