Agent skill

Quicknode

by sendaifun in sendaifun/skills

Quicknode blockchain infrastructure for Solana — RPC endpoints, DAS API (Digital Asset Standard) for NFTs and compressed assets, Yellowstone gRPC streaming, Priority Fee API, Streams (real-time data…

Apache-2.0Auto-check: notesBackend & APIs

Install Quicknode

skills CLI
$ npx skills add sendaifun/skills --skill quicknode -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install sendaifun/skills quicknode --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/sendaifun/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/quicknode .claude/skills/quicknode && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
quicknode
GitHub stars
130
Used in
1 other repo
Token cost
~5.5k tokens
SKILL.md length
1,069 words
Files
13
Skills in repo
20
Repo updated
First seen
Licence
Apache-2.0

At a glance

Quicknode blockchain infrastructure for Solana — RPC endpoints, DAS API (Digital Asset Standard) for NFTs and compressed assets, Yellowstone gRPC streaming, Priority Fee API, Streams (real-time data…

  • Works in 4 steps: Visit quicknode.com/endpoints → Select Solana and your network (Mainnet… → Create an endpoint → …
  • Setting up Solana RPC infrastructure
  • SKILL.md covers Overview, Quick Start, RPC Endpoints and DAS API (Digital Asset Standard), plus 5 more sections
  • Runs TypeScript scripts from its folder; calls npm; reaches api.quicknode.com and x402.quicknode.com; needs QUICKNODE_API_KEY and QN_API_KEY

What it does

Quicknode is an agent skill from sendaifun/skills. Quicknode blockchain infrastructure for Solana — RPC endpoints, DAS API (Digital Asset Standard) for NFTs and compressed assets, Yellowstone gRPC streaming, Priority Fee API, Streams (real-time data pipelines), Webhooks, Metis Jupiter Swap integration, IPFS storage, Key-Value Store, Admin API, and x402 pay-per-request RPC. Supports 80+ chains including Ethereum, Polygon, Arbitrum, Base, and more. Use when setting up Solana RPC infrastructure, querying NFTs/tokens/compressed assets via DAS API, building real-time…

Its SKILL.md is about 5.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 20 other files (for example `docs/troubleshooting.md`, `examples/basic-rpc/README.md` and `examples/das-api/README.md`).

It sits in Backend & APIs, covering gRPC and Protobuf, Crypto and DeFi analysis and Data pipelines and ETL. It works with Solana, gRPC, x402 and Arbitrum. The repository describes itself as: a public marketplace of all solana-related skills for agents to learn from! The licence is Apache-2.0.

When your agent uses it

  • Setting up Solana RPC infrastructure
  • Querying NFTs/tokens/compressed assets via DAS API
  • Building real-time gRPC streams
  • Configuring data pipelines

Example prompts

  • “/quicknode”

Requirements

  • Node.js
  • A credential in QUICKNODE_API_KEY

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Visit quicknode.com/endpoints
  2. Select Solana and your network (Mainnet / Devnet)
  3. Create an endpoint
  4. Copy the HTTP and WSS URLs

What it can do on your machine

Read from SKILL.md and the folder at commit 06b36b8. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (TypeScript), which the agent can run.

    Shell commands in SKILL.md call:

    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.quicknode.com
    • x402.quicknode.com
    • quicknode.quicknode-ipfs.com

    Also links to:

    • quicknode.com
    • marketplace.quicknode.com
    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • QUICKNODE_API_KEY
    • QN_API_KEY
    • PRIVATE_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Quicknode loads about 5.5k tokens when it runs. Until then it costs about 205 tokens; SKILL.md has 1,069 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~205
When it runs · the whole SKILL.md, loaded when a task matches
~5.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:38
    # .env file

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from sendaifun/skills at commit 06b36b8, republished under its Apache-2.0 licence (© sendaifun). 1,069 words, ~5,484 tokens.

Download SKILL.mdSave it as .claude/skills/quicknode/SKILL.md (or your agent's skills folder). This skill also uses 12 other files; get the full folder from GitHub.
name
quicknode
description
Quicknode blockchain infrastructure for Solana — RPC endpoints, DAS API (Digital Asset Standard) for NFTs and compressed assets, Yellowstone gRPC streaming, Priority Fee API, Streams (real-time data pipelines), Webhooks, Metis Jupiter Swap integration, IPFS storage, Key-Value Store, Admin API, and x402 pay-per-request RPC. Supports 80+ chains including Ethereum, Polygon, Arbitrum, Base, and more. Use when setting up Solana RPC infrastructure, querying NFTs/tokens/compressed assets via DAS API, building real-time gRPC streams, configuring data pipelines, estimating priority fees, or integrating Jupiter swaps via Metis. Triggers on mentions of Quicknode, qn_ methods, DAS API, getAssetsByOwner, searchAssets, Yellowstone, gRPC, Geyser, Streams, IPFS, Key-Value Store, qnLib, Metis, x402, or Quicknode RPC.

Quicknode Solana Infrastructure

Build high-performance Solana applications with Quicknode — blockchain infrastructure provider supporting 80+ chains with low-latency RPC endpoints, DAS API, Yellowstone gRPC streaming, real-time data pipelines, and developer-first APIs.

Overview

Quicknode provides:

  • RPC Endpoints: Low-latency Solana access with authentication embedded in the URL
  • DAS API: Unified NFT and token queries — standard NFTs, compressed NFTs (cNFTs), fungible tokens, MPL Core Assets, Token 2022
  • Yellowstone gRPC: Real-time Solana data streaming via Geyser plugin
  • Priority Fee API: Fee estimation for transaction landing
  • Streams: Real-time and historical data pipelines with JavaScript filtering
  • Webhooks: Event-driven blockchain notifications
  • Metis: Jupiter Swap API integration
  • IPFS: Decentralized file storage
  • Key-Value Store: Serverless state persistence for Streams
  • Admin API: Programmatic endpoint management
  • x402: Pay-per-request RPC via USDC micropayments (no API key needed)
  • Multi-Chain: 80+ networks including Ethereum, Polygon, Arbitrum, Base, BSC, Avalanche, Bitcoin, and more

Quick Start

Get Your Endpoint
  1. Visit quicknode.com/endpoints
  2. Select Solana and your network (Mainnet / Devnet)
  3. Create an endpoint
  4. Copy the HTTP and WSS URLs
Environment Setup
bash
# .env file
QUICKNODE_RPC_URL=https://your-endpoint.solana-mainnet.quiknode.pro/your-token/
QUICKNODE_WSS_URL=wss://your-endpoint.solana-mainnet.quiknode.pro/your-token/
QUICKNODE_API_KEY=your_console_api_key  # Optional: for Admin API
Basic Setup with @solana/kit
typescript
import { createSolanaRpc, createSolanaRpcSubscriptions } from "@solana/kit";

const rpc = createSolanaRpc(process.env.QUICKNODE_RPC_URL!);
const rpcSubscriptions = createSolanaRpcSubscriptions(process.env.QUICKNODE_WSS_URL!);

// Make RPC calls
const slot = await rpc.getSlot().send();
const balance = await rpc.getBalance(address).send();
Authentication

Quicknode endpoints include authentication in the URL:

https://{ENDPOINT_NAME}.solana-mainnet.quiknode.pro/{TOKEN}/

Enable JWT authentication or IP allowlisting in the Quicknode dashboard for additional security.

RPC Endpoints

Solana Endpoints
NetworkURL Pattern
Mainnethttps://{name}.solana-mainnet.quiknode.pro/{token}/
Devnethttps://{name}.solana-devnet.quiknode.pro/{token}/
WebSocketwss://{name}.solana-mainnet.quiknode.pro/{token}/
Using with @solana/kit
typescript
import {
  createSolanaRpc,
  createSolanaRpcSubscriptions,
  address,
  lamports,
} from "@solana/kit";

const rpc = createSolanaRpc(process.env.QUICKNODE_RPC_URL!);
const rpcSubscriptions = createSolanaRpcSubscriptions(process.env.QUICKNODE_WSS_URL!);

// Account balance
const balance = await rpc.getBalance(address("E645TckHQnDcavVv92Etc6xSWQaq8zzPtPRGBheviRAk")).send();

// Account info
const accountInfo = await rpc.getAccountInfo(address("E645TckHQnDcavVv92Etc6xSWQaq8zzPtPRGBheviRAk"), {
  encoding: "base64",
}).send();

// Recent blockhash
const { value: blockhash } = await rpc.getLatestBlockhash().send();

// Token accounts
const tokenAccounts = await rpc.getTokenAccountsByOwner(
  address("E645TckHQnDcavVv92Etc6xSWQaq8zzPtPRGBheviRAk"),
  { programId: address("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA") },
  { encoding: "jsonParsed" },
).send();
Using with Legacy web3.js
typescript
import { Connection, PublicKey } from "@solana/web3.js";

const connection = new Connection(process.env.QUICKNODE_RPC_URL!);
const balance = await connection.getBalance(new PublicKey("E645TckHQnDcavVv92Etc6xSWQaq8zzPtPRGBheviRAk"));
Rate Limits & Plans
PlanRequests/secCredits/month
Free Trial1510M
Build5080M
Accelerate125450M
Scale250950M
Business5002B

DAS API (Digital Asset Standard)

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).

Get Assets by Owner
typescript
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
Search Assets
typescript
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: "searchAssets",
    params: {
      ownerAddress: "E645TckHQnDcavVv92Etc6xSWQaq8zzPtPRGBheviRAk",
      tokenType: "fungible",
      limit: 50,
    },
  }),
});
Get Asset Proof (Compressed NFTs)
typescript
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: "getAssetProof",
    params: { id: "compressed_nft_id" },
  }),
});
DAS Method Reference
MethodDescription
getAssetGet metadata for a single asset
getAssetsGet metadata for multiple assets
getAssetProofGet Merkle proof for a compressed asset
getAssetProofsGet Merkle proofs for multiple assets
getAssetsByAuthorityList assets by authority
getAssetsByCreatorList assets by creator
getAssetsByGroupList assets by group (e.g., collection)
getAssetsByOwnerList assets by wallet owner
getAssetSignaturesTransaction signatures for compressed assets
getTokenAccountsToken accounts by mint or owner
getNftEditionsEdition details of a master NFT
searchAssetsSearch assets with flexible filters

Yellowstone gRPC (Solana Geyser)

High-performance Solana Geyser plugin for real-time blockchain data streaming via gRPC. Available as a Marketplace add-on.

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

// Derive gRPC URL from HTTP endpoint:
// HTTP:  https://example.solana-mainnet.quiknode.pro/TOKEN/
// gRPC:  https://example.solana-mainnet.quiknode.pro:10000
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("Transaction:", data.transaction);
  }
  if (data.account) {
    console.log("Account update:", data.account);
  }
});

// Subscribe to transactions for a specific program
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
gRPC Best Practices
  • Use port 10000 for gRPC connections
  • Set commitment to CONFIRMED for most use cases, FINALIZED for irreversibility
  • Enable zstd compression to reduce bandwidth
  • Send keepalive pings every 10 seconds to maintain connections
  • Implement reconnection logic with exponential backoff
  • Use narrow filters (specific accounts or programs) to minimize data volume

Priority Fee API

Estimate priority fees for optimal transaction landing.

typescript
// Get recommended priority fees
const response = await fetch(process.env.QUICKNODE_RPC_URL!, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    method: "qn_estimatePriorityFees",
    params: {
      last_n_blocks: 100,
      account: "YOUR_ACCOUNT_PUBKEY",
    },
  }),
});
Using Priority Fees in Transactions
typescript
import {
  pipe,
  createTransactionMessage,
  setTransactionMessageFeePayer,
  setTransactionMessageLifetimeUsingBlockhash,
  prependTransactionMessageInstructions,
  appendTransactionMessageInstruction,
} from "@solana/kit";
import {
  getSetComputeUnitLimitInstruction,
  getSetComputeUnitPriceInstruction,
} from "@solana-program/compute-budget";

// 1. Get fee estimate
const feeResponse = await fetch(process.env.QUICKNODE_RPC_URL!, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    method: "qn_estimatePriorityFees",
    params: { last_n_blocks: 100, account: payer.address },
  }),
});
const feeData = await feeResponse.json();
const priorityFee = feeData.result.per_compute_unit.high;

// 2. Build transaction with compute budget
const tx = pipe(
  createTransactionMessage({ version: 0 }),
  (tx) => setTransactionMessageFeePayer(payer.address, tx),
  (tx) => setTransactionMessageLifetimeUsingBlockhash(blockhash, tx),
  (tx) => prependTransactionMessageInstructions([
    getSetComputeUnitLimitInstruction({ units: 200_000 }),
    getSetComputeUnitPriceInstruction({ microLamports: BigInt(priorityFee) }),
  ], tx),
  (tx) => appendTransactionMessageInstruction(mainInstruction, tx),
);

Metis — Jupiter Swap API

Quicknode's hosted Jupiter Swap API for DEX aggregation. Available as a Marketplace add-on.

typescript
import { createJupiterApiClient } from "@jup-ag/api";

const jupiterApi = createJupiterApiClient({
  basePath: process.env.QUICKNODE_METIS_URL!,
});

// Get swap quote
const quote = await jupiterApi.quoteGet({
  inputMint: "So11111111111111111111111111111111111111112",   // SOL
  outputMint: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", // USDC
  amount: 1_000_000_000, // 1 SOL
  slippageBps: 50,
});

// Get swap transaction
const swapResult = await jupiterApi.swapPost({
  swapRequest: {
    quoteResponse: quote,
    userPublicKey: "YourPubkey...",
  },
});

Streams

Real-time and historical blockchain data pipelines that filter, transform, and deliver data to destinations.

Stream Types
TypeDataUse Case
BlockFull block dataBlock explorers, analytics
TransactionTransaction detailsTx monitoring, indexing
LogsContract eventsDeFi tracking, token transfers
ReceiptTransaction receiptsStatus tracking
Setup
  1. Create a stream in the Quicknode dashboard
  2. Select Solana and the data type
  3. Add a filter function (JavaScript)
  4. Configure destination (webhook, S3, PostgreSQL, Azure)
Filter Function Example
javascript
function main(data) {
  // Filter for transactions involving a specific program
  const PROGRAM_ID = "YOUR_PROGRAM_ID";
  const hasProgram = data.transaction?.message?.accountKeys?.some(
    (key) => key === PROGRAM_ID
  );
  if (!hasProgram) return null;
  return data;
}
Streams vs Webhooks
FeatureStreamsWebhooks
ComplexityMore configurationSimple setup
FilteringCustom JavaScriptTemplate-based
DestinationsWebhook, S3, Postgres, Azure, SnowflakeHTTP endpoint only
ProcessingFull transformationLimited
Use CaseComplex pipelinesSimple alerts

Webhooks

Event-driven notifications for Solana blockchain activity.

Show full SKILL.md (436 more words)Show less
Webhook Setup

Create webhooks via the Quicknode dashboard or Admin API to receive notifications when specific on-chain events occur.

See resources/webhooks-reference.md for API examples and configuration.

IPFS Storage

Decentralized file storage via Quicknode's IPFS gateway.

typescript
// Upload file to IPFS
const formData = new FormData();
formData.append("file", fileBuffer);

const response = await fetch("https://api.quicknode.com/ipfs/rest/v1/s3/put-object", {
  method: "POST",
  headers: { "x-api-key": process.env.QUICKNODE_API_KEY! },
  body: formData,
});

const { pin } = await response.json();
// Access via: https://quicknode.quicknode-ipfs.com/ipfs/{pin.cid}
Common Use Cases
  • NFT metadata storage
  • Asset hosting for collections
  • Decentralized content persistence

Key-Value Store

Serverless storage for lists and key-value sets, accessible from Streams filter functions via the qnLib helper library.

Stream Integration (qnLib)
javascript
// In a Streams filter function:

// List operations — manage address watchlists
await qnLib.qnAddListItem("my-watchlist", "E645TckHQnDcavVv92Etc6xSWQaq8zzPtPRGBheviRAk");
const isWatched = await qnLib.qnContainsListItems("my-watchlist", [data.from]);

// Set operations — store key-value pairs
await qnLib.qnAddSet("token-prices", { key: "SOL", value: "150.25" });
const price = await qnLib.qnGetSet("token-prices", "SOL");
List Operations
  • 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
  • qnLib.qnAddSet — create a key-value set
  • qnLib.qnGetSet — retrieve value by key
  • qnLib.qnBulkSets — bulk create/remove sets
  • qnLib.qnDeleteSet — delete a set

Quicknode SDK

Official JavaScript/TypeScript SDK for Quicknode services.

bash
npm install @quicknode/sdk
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: "E645TckHQnDcavVv92Etc6xSWQaq8zzPtPRGBheviRAk",
});

// NFT API
const nfts = await core.client.qn_fetchNFTs({
  wallet: "E645TckHQnDcavVv92Etc6xSWQaq8zzPtPRGBheviRAk",
  page: 1,
  perPage: 10,
});

Admin API

REST API for programmatic management of Quicknode endpoints, usage, rate limits, security, and billing.

Authentication

All Admin API requests use the x-api-key header against https://api.quicknode.com/v0/.

typescript
const QN_API_KEY = process.env.QUICKNODE_API_KEY!;

// List all endpoints
const res = await fetch("https://api.quicknode.com/v0/endpoints", {
  headers: { "x-api-key": QN_API_KEY },
});
const endpoints = await res.json();

// Get usage metrics
const usage = await fetch("https://api.quicknode.com/v0/usage/rpc", {
  headers: { "x-api-key": QN_API_KEY },
});
Quick Reference
ResourceMethodsEndpoint
ChainsGET/v0/chains
EndpointsGET, POST, PATCH, DELETE/v0/endpoints
MetricsGET/v0/endpoints/{id}/metrics
Rate LimitsGET, POST, PUT/v0/endpoints/{id}/rate-limits
UsageGET/v0/usage/rpc
BillingGET/v0/billing/invoices

x402 (Pay-Per-Request RPC)

Pay-per-request RPC access via USDC micropayments on Base. No API key required.

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 handled automatically
const response = await x402Fetch("https://x402.quicknode.com/solana-mainnet", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    jsonrpc: "2.0",
    method: "getSlot",
    params: [],
    id: 1,
  }),
});

Multi-Chain Support

Quicknode supports 80+ blockchain networks beyond Solana:

CategoryNetworks
EVMEthereum, Polygon, Arbitrum, Optimism, Base, BSC, Avalanche, Fantom, zkSync, Scroll, Linea, HyperEVM
Non-EVMSolana, Bitcoin, NEAR, Stacks, Cosmos, Sei, Aptos, Sui, TON, Hyperliquid

Full list: quicknode.com/chains

Multi-Chain Setup
typescript
import { Core } from "@quicknode/sdk";

const chains = {
  solana: new Core({ endpointUrl: process.env.QUICKNODE_SOL_RPC! }),
  ethereum: new Core({ endpointUrl: process.env.QUICKNODE_ETH_RPC! }),
  polygon: new Core({ endpointUrl: process.env.QUICKNODE_POLYGON_RPC! }),
};

Safety Defaults

  • Default to 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
  • Require explicit confirmation before creating Streams, Webhooks, or IPFS uploads

Error Handling

typescript
try {
  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: "getSlot", params: [] }),
  });
  if (!response.ok) {
    if (response.status === 401) console.error("Invalid endpoint URL or token");
    if (response.status === 429) console.error("Rate limited — upgrade plan or reduce requests");
    if (response.status >= 500) console.error("Server error — retry with backoff");
  }
} catch (error) {
  console.error("Network error:", error);
}
Common Error Codes
CodeMeaningSolution
401Invalid authenticationVerify endpoint URL and token
429Rate limitedUpgrade plan or add delays
500+Server errorRetry with exponential backoff

Best Practices

API Key Security
  • Never commit endpoint URLs or API keys to git
  • Use environment variables
  • Enable IP allowlisting for production
  • Use JWT authentication for sensitive operations
  • Rotate credentials periodically
Performance
  • Use WebSocket subscriptions for real-time data
  • Batch RPC requests to reduce API calls
  • Cache responses when data does not change frequently
  • Use Yellowstone gRPC for lowest-latency streaming
  • Set appropriate commitment levels (confirmed for most, finalized for irreversibility)
Reliability
  • Implement retry logic with exponential backoff
  • Handle rate limits gracefully with backoff
  • Use Streams for reliable event processing (automatic retries)
  • Monitor endpoint health via Admin API metrics

Resources

Skill Structure

quicknode/
├── SKILL.md                       # This file
├── resources/
│   ├── rpc-reference.md           # RPC methods and WebSocket patterns
│   ├── das-api-reference.md       # DAS API methods and parameters
│   ├── yellowstone-grpc-reference.md  # gRPC streaming reference
│   ├── streams-reference.md       # Streams filter functions and destinations
│   ├── webhooks-reference.md      # Webhook configuration
│   └── marketplace-addons.md      # Token API, NFT API, Metis, Priority Fees
├── examples/
│   ├── basic-rpc/                 # Basic RPC calls
│   ├── das-api/                   # DAS API queries
│   ├── streaming/                 # Yellowstone gRPC examples
│   └── streams-webhooks/          # Streams and webhook setup
├── templates/
│   └── quicknode-setup.ts         # Starter template
└── docs/
    └── troubleshooting.md         # Common issues and solutions

© sendaifun, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 12 other files in skills/quicknode of sendaifun/skills.

  • SKILL.md
  • docs/troubleshooting.md
  • examples/basic-rpc/README.md
  • examples/das-api/README.md
  • examples/streaming/README.md
  • examples/streams-webhooks/README.md
  • resources/das-api-reference.md
  • resources/marketplace-addons.md
  • resources/rpc-reference.md
  • resources/streams-reference.md
  • resources/webhooks-reference.md
  • resources/yellowstone-grpc-reference.md
  • templates/quicknode-setup.ts

Open the folder on GitHubat commit 06b36b8

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in sendaifun/skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Quicknode next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Quicknode compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Quicknode this skillsendaifun/skills1301 repos~5.5kAutomated safety check: NotesApache-2.0
AlchemyBankrBot/skills1.2k—~3.5kAutomated safety check: PassMIT
Quicknode Skillinternet-court/internet-court-skill6.4k—~11kAutomated safety check: PassMIT
BankrBankrBot/skills1.2k—~5.3kAutomated safety check: PassNone
Alchemy OfficialLeoYeAI/openclaw-master-skills2.2k—~6.1kAutomated safety check: PassMIT
Minara Crypto Trading and WalletMinara-AI/minara-skills3581 repos~5.7kAutomated safety check: PassNone

Similar skills

  • Alchemy

    BankrBot/skills

    Blockchain API access via Alchemy. An agent skill from BankrBot/skills.

    1.2k GitHub stars~3.5k tokensUpdated 2 days ago
    Backend & APIsAuto-check passed
  • Quicknode Skill

    internet-court/internet-court-skill

    Quicknode blockchain infrastructure for 80+ chains: Core RPC API, Streams, Webhooks, Blazar WSS, Solana gRPC, HyperCore gRPC, SQL Explorer, Metaplex DAS API, Blockbook, Ordinals & Runes API, Swap…

    6.4k GitHub stars~11k tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • Bankr

    BankrBot/skills

    Bankr is an AI crypto agent with its own wallets, a direct Wallet API and a pay-as-you-go LLM gateway, driven by the bankr CLI or the REST API.

    1.2k GitHub stars~5.3k tokensUpdated 2 days ago
    Backend & APIsAuto-check passed
  • Alchemy Official

    LeoYeAI/openclaw-master-skills

    Official Alchemy skill. An agent skill from LeoYeAI/openclaw-master-skills.

    2.2k GitHub stars~6.1k tokensUpdated 2 mo ago
    Backend & APIsAuto-check passed
  • Minara Crypto Trading and Wallet

    Minara-AI/minara-skills

    Drives the Minara CLI for crypto swaps, perps, limit orders, wallet transfers, deposits and withdrawals, plus AI market analysis.

    358 GitHub starsUsed in 1 repo~5.7k tokens
    Business, Finance & HRAuto-check passed
  • A skill your agent uses when accessing Alchemy APIs for RPC calls, token balances, NFT metadata, asset transfers, transaction simulation, or Alchemy-specific features.

    113 GitHub stars~2.1k tokensUpdated 27 days ago
    Backend & APIsAuto-check: notes

More from sendaifun/skills

All 20 skills in this repo
  • Breaks a shared video or GIF down frame by frame to recreate its motion as working code instead of guessing the timing by eye.

    130 GitHub stars~2.1k tokensUpdated 2 mo ago
    Auto-check passed
  • Builds and debugs Arcium encrypted computation apps on Solana: Arcis circuits, Anchor orchestration, encrypted inputs and the init, queue and callback flow.

    130 GitHub stars~2.8k tokensUpdated 2 mo ago
    Auto-check passed
  • Pinocchio Development

    sendaifun/skills

    Comprehensive guide for building high-performance Solana programs using Pinocchio - the zero-dependency, zero-copy framework.

    130 GitHub starsUsed in 1 repo~4.1k tokens
    Auto-check passed
  • Phantom Connect SDK

    sendaifun/skills

    Integrates Phantom wallet connection, social login, and transaction signing into React, React Native, or vanilla JS apps on Solana.

    130 GitHub stars~1.3k tokensUpdated 2 mo ago
    Auto-check passed
  • Ranger Finance

    sendaifun/skills

    Ranger Finance SDK for building perpetual futures trading applications on Solana.

    130 GitHub starsUsed in 1 repo~3.6k tokens
    Auto-check: notes
  • Solana Kit Migration

    sendaifun/skills

    Helps developers understand when to use @solana/kit vs @solana/web3.js (v1), provides migration guidance, API mappings, and handles edge cases for Solana JavaScript SDK transitions

    130 GitHub starsUsed in 1 repo~2.6k tokens
    Auto-check passed

Categories

Questions about Quicknode

What does Quicknode do?

Quicknode blockchain infrastructure for Solana — RPC endpoints, DAS API (Digital Asset Standard) for NFTs and compressed assets, Yellowstone gRPC streaming, Priority Fee API, Streams (real-time data…. Quicknode is an agent skill from sendaifun/skills. Quicknode blockchain infrastructure for Solana — RPC endpoints, DAS API (Digital Asset Standard) for NFTs and compressed assets, Yellowstone gRPC streaming, Priority Fee API, Streams (real-time data pipelines), Webhooks, Metis Jupiter Swap integration, IPFS storage, Key-Value Store, Admin API, and x402 pay-per-request RPC.

When should I use Quicknode?

Quicknode fits situations like: setting up Solana RPC infrastructure; querying NFTs/tokens/compressed assets via DAS API; building real-time gRPC streams; configuring data pipelines.

How do I install Quicknode in Claude Code?

Run `npx skills add sendaifun/skills --skill quicknode -a claude-code`. Or copy the skill folder (skills/quicknode in sendaifun/skills) into .claude/skills/quicknode in your project. Claude Code loads it when a task matches its description.

How do I install Quicknode in Codex?

Run `npx skills add sendaifun/skills --skill quicknode -a codex`. Or copy the skill folder (skills/quicknode in sendaifun/skills) into .agents/skills/quicknode in your project. Codex loads it when a task matches its description.

Can I use Quicknode in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sendaifun/skills --skill quicknode -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/quicknode, .gemini/skills/quicknode, .github/skills/quicknode and .opencode/skills/quicknode in your project.

What does Quicknode need to run?

Going by SKILL.md and its folder, Quicknode needs TypeScript for the scripts in its folder, the command-line tools its instructions call (npm) and credentials named QUICKNODE_API_KEY, QN_API_KEY and PRIVATE_KEY. Our summary lists: Node.js; A credential in QUICKNODE_API_KEY.

Does Quicknode access the network?

SKILL.md names 6 domains. In commands or code: api.quicknode.com, x402.quicknode.com and quicknode.quicknode-ipfs.com; the agent is likely to contact these when it follows the instructions. As links in the text: quicknode.com, marketplace.quicknode.com and github.com. This is read from the text; nothing was executed.

Is Quicknode safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Quicknode use?

Quicknode is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Quicknode use?

About 5.5k tokens (SKILL.md is roughly 22k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Quicknode?

Skills that share tags, products or a category with Quicknode: Alchemy (BankrBot/skills, 1.2k stars), Quicknode Skill (internet-court/internet-court-skill, 6.4k stars), Bankr (BankrBot/skills, 1.2k stars) and Alchemy Official (LeoYeAI/openclaw-master-skills, 2.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Quicknode?

sendaifun (a GitHub organization) maintains it in sendaifun/skills, which has 130 GitHub stars. The repository holds 20 skills in this directory. The repository was last updated on July 31, 2026.

Source: sendaifun/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.