Helius rpc
Plug-and-play Solana dev skills in Anthropic / Bankr SKILL.md format. Anchor scaffold, audit, mainnet deploy, debug, Jupiter, Helius, Pyth, Squads, Metaplex, binary-markets, vaults, MetaDAO, bridges.
npx -y skills add locallaunchsc-cloud/solana-dev-skills --skill helius-rpcAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use this skill when the user wants high-throughput Solana RPC access via Helius — standard RPC, DAS (Digital Asset Standard) NFT/token queries, transaction webhooks, enhanced transaction parsing, and priority fee estimation.
SKILL.md
8.4 KB, ~2.1k tokens by cl100k_base, as published. Nobody here has run it
Helius RPC
Overview
Helius is the dominant production RPC provider on Solana. Beyond standard JSON-RPC (getBalance, sendTransaction, etc.), Helius layers on a set of APIs that the base Agave validator does not expose: the DAS API (one unified query surface for NFTs, compressed NFTs, and SPL tokens), enhanced transaction parsing (human-readable swap/transfer/mint events), real-time webhooks (push deliveries when watched accounts move), and getPriorityFeeEstimate (the de-facto way to size compute-unit-price on mainnet). If you are building anything beyond a toy, you will almost certainly call at least two of these.
When to use this skill
- The user mentions Helius, Helius RPC, DAS API, Helius webhooks, or
getPriorityFeeEstimate. - The user wants to fetch a wallet's NFTs / cNFTs / tokens in one call (use DAS, not
getTokenAccountsByOwner). - The user needs a push notification when a Solana account changes state.
- The user is sending mainnet transactions and asks about priority fees / CU price / landing rate.
- The user needs parsed/decoded transaction history (who swapped what, mint events, sales) rather than raw byte instructions.
Prerequisites
- Helius account + API key from https://dashboard.helius.dev (the free Developer tier is fine to start; the credit and RPS limits scale on Pro / Business plans).
- Node 20+ (the SDK targets modern Node and uses native
fetch). - One of:
npm install helius-sdk@^2.2.2— typed client, namespaces forwebhooks,enhanced,tx,ws, etc. Built on@solana/kit(the v1.x line used@solana/web3.js).- Or plain
fetchagainst the JSON-RPC endpoint — no dependencies, works in Cloudflare Workers / Deno / Bun without polyfills.
- For webhooks: a public HTTPS endpoint (Cloudflare Worker, Vercel function, ngrok tunnel for dev). Helius will not POST to
localhost.
Workflow
1. Get an API key
Sign in at https://dashboard.helius.dev, create a project, copy the API key. Mainnet and devnet share the same key — you switch by changing the endpoint hostname, not the key.
2. RPC endpoint URL format
Mainnet: https://mainnet.helius-rpc.com/?api-key=YOUR_KEY
Devnet: https://devnet.helius-rpc.com/?api-key=YOUR_KEY
# Dedicated staked-connection endpoint (Pro+) for higher landing rate on sendTransaction:
Staked: https://staked.helius-rpc.com/?api-key=YOUR_KEY
The endpoint accepts every standard Solana JSON-RPC method plus Helius extensions. Drop it into @solana/web3.js new Connection(url) or @solana/kit createSolanaRpc(url) unchanged.
3. DAS API — NFT / token queries
DAS unifies regular NFTs, compressed NFTs, and (with showFungible: true) SPL tokens behind one method family on the standard RPC endpoint. The most useful methods:
getAssetsByOwner— every asset a wallet owns, paginated.getAsset— one asset by mint or cNFT ID.getAssetsByGroup— every asset in a collection (groupKey: "collection").searchAssets— flexible filter (creator, royalty, jsonUri, etc.).
Pagination is 1-indexed page numbers, max limit: 1000. Loop until items.length < limit. See scripts/get-assets.ts.
4. Webhook setup
Create a webhook with the REST API or helius.webhooks.createWebhook(...). Key fields:
webhookURL— your HTTPS endpoint (must return 200 within 1s).webhookType—"enhanced"(Helius parses to a typed event) or"raw"(full Solana tx).enhancedDevnet/rawDevnetfor devnet. Enhanced webhooks drop failed transactions; raw webhooks include both.accountAddresses— up to 100,000 addresses to watch.transactionTypes— filter to specific parsed types (SWAP,NFT_SALE,TRANSFER, ..., orANY). Only meaningful forenhanced.authHeader— a secret string. Helius echoes this value back in theAuthorizationheader of every webhook POST. Your handler must compare it before processing.
5. Webhook handler
The handler must:
- Verify the
Authorizationheader equals theauthHeaderyou registered. - Return
200within 1 second (Helius timeout). Do heavy work async — push onto a queue, then respond. - Be idempotent — Helius retries up to 3 times with a 1s gap on 5xx / timeout / non-403 4xx. Deduplicate on
signature.
See scripts/webhook-handler.ts (Cloudflare Worker).
6. Enhanced transaction parser
For backfill / one-shot parsing (not push), POST signatures to:
POST https://api-mainnet.helius-rpc.com/v0/transactions
Body: { "transactions": ["sig1", "sig2", ...] } // up to 100 per call
Same shape as the enhanced-webhook payload — description, type, source, nativeTransfers, tokenTransfers, events, accountData, etc. Useful for catching up after webhook downtime.
7. Priority fee estimation
getPriorityFeeEstimate returns a recommended microLamports value for ComputeBudgetProgram.setComputeUnitPrice. Call it with either:
accountKeys: [pubkey, ...]— the writable accounts your tx touches, ortransaction: <base58-or-base64 serialized tx>— Helius will extract accounts itself.
Pass options.recommended: true for a single-number answer, or options.includeAllPriorityFeeLevels: true to get the full { min, low, medium, high, veryHigh, unsafeMax } histogram. See scripts/priority-fee.ts.
8. Free vs paid tiers — rate limits (as of 2026)
- Developer (free): ~10 RPS, 1M credits/mo, no dedicated nodes.
- Pro / Business / Professional: higher RPS, staked-connection endpoint, larger webhook quotas, dedicated nodes available.
Each webhook delivery costs 1 credit regardless of whether your endpoint succeeds. DAS calls cost more credits than vanilla RPC. Check the live pricing page before relying on these numbers.
Common pitfalls
- Mixing devnet and mainnet — same API key, different hostnames. Sending a mainnet transaction to
devnet.helius-rpc.comwill give you a confusing "blockhash not found" because the blockhash you fetched is from the other cluster. Always read your endpoint string back to yourself. - No backoff on 429 — the free tier rate-limits aggressively. Wrap every call in retry-with-exponential-backoff. The SDK does not do this for you.
- Webhook returns non-200 or takes >1s — Helius retries 3 times with a 1s gap, then drops the event forever. Acknowledge first (return 200), process after. In Cloudflare Workers, use
event.waitUntil()to defer work past the response. - Forgetting DAS pagination —
getAssetsByOwnercaps atlimit: 1000. A whale wallet with 10k NFTs returns only the first 1k unless you looppage: 1, 2, 3, .... Stop whenitems.length < limit. - Treating
priorityFeeEstimateas lamports — it is microLamports (1e-6 lamports). You pass it directly toComputeBudgetProgram.setComputeUnitPrice({ microLamports }). Multiplying by 1e6 is a common and very expensive mistake. - Webhooks won't replay missed events — there is no historical replay endpoint for past webhook deliveries. If your handler is down, those events are gone. On boot, backfill the gap with
getSignaturesForAddress+ the enhanced transactions parser API (step 6) over your watched accounts since the last processed slot. - Enhanced webhook drops failed tx — if you need to see reverted swaps or failed mints, use
webhookType: "raw"(or checktransactionErrorfield). authHeaderis plaintext, not HMAC — anyone who can read your dashboard or webhook record can replay requests. Treat it like a bearer token: long, random, rotated. For high-value flows, also gate by source IP at your edge / WAF.
References
- Helius docs hub: https://www.helius.dev/docs
- DAS API: https://www.helius.dev/docs/das-api
- Priority Fee API: https://www.helius.dev/docs/api-reference/priority-fee/getpriorityfeeestimate
- Webhooks: https://www.helius.dev/docs/api-reference/webhooks
- Enhanced Transactions: https://www.helius.dev/docs/api-reference/enhanced-transactions/gettransactions
- SDK GitHub: https://github.com/helius-labs/helius-sdk
- Dashboard: https://dashboard.helius.dev
- Discord (fastest support for quota / outage questions): https://discord.gg/helius
Example scripts
See scripts/get-assets.ts, scripts/webhook-handler.ts, scripts/priority-fee.ts.
What ships with it: 3 files
17.9 KB alongside SKILL.md, 3 of them executable
scripts/
- get-assets.tsruns5.5 KB
- priority-fee.tsruns6.4 KB
- webhook-handler.tsruns6.0 KB