reading-onchain-state

Read Solana account state using getAccountInfo and getProgramAccounts with caching and WebSocket subscriptions.

3|Updated Jan 22, 2026
One-click install
npx skills add https://github.com/SanctifiedOps/solana-skills --skill reading-onchain-state
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: reading-onchain-state
Source: https://github.com/SanctifiedOps/solana-skills/tree/main/skills/frontend/reading-onchain-state
Command: npx skills add https://github.com/SanctifiedOps/solana-skills --skill reading-onchain-state

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill enables frontend and backend services to read Solana on-chain state efficiently, reducing latency and RPC load.

Core Features & Use Cases

  • Single Account Reads: getAccountInfo for precise state fetch.
  • Batch & Program Reads: getProgramAccounts with server-side filters for scalable scans.
  • Caching & Reactivity: TTL-based caching plus WebSocket subscriptions to reflect updates in UI.
  • Decoding & Validation: Use IDLs or borsh layouts to decode data safely and guard against missing fields.

Quick Start

Use the reading-onchain-state skill to implement efficient reads of accounts using getAccountInfo and getProgramAccounts, with a 30-second cache and WebSocket subscriptions for hot data.

Frequently Asked Questions about reading-onchain-state

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I read Solana on-chain state efficiently in my frontend application?

To read Solana on-chain state efficiently, use getAccountInfo for single account fetches and apply a 30-second cache with WebSocket subscriptions to maintain low latency and reflect real-time UI updates.

What is the best way to batch read Solana accounts to reduce RPC load?

The best way to batch read Solana accounts is using getProgramAccounts with server-side filters, which allows scalable scans while reducing RPC load through TTL-based caching strategies.

How do I decode Solana account data safely without missing fields?

To decode Solana account data safely, use IDLs or borsh layouts to deserialize the buffer and guard against missing fields, ensuring the on-chain state is validated correctly before rendering.

Do I need WebSocket subscriptions to keep Solana on-chain state reactive?

You need WebSocket subscriptions for Solana on-chain state reactivity to push real-time updates to the UI, combined with TTL-based caching to balance performance and consistency goals for hot data.

Can I use getProgramAccounts for large-scale program scans on Solana?

You can use getProgramAccounts for large-scale program scans on Solana by applying server-side filters to optimize the query, reducing RPC load while fetching the required on-chain state efficiently.

When should I use getAccountInfo instead of getProgramAccounts for Solana state reads?

You should use getAccountInfo for precise single account state fetches on Solana, whereas getProgramAccounts is better suited for batched program reads requiring scalable scans across multiple accounts.