| 1 | <!-- Generated from helius-skills/helius/SKILL.md — do not edit --> |
| 2 | |
| 3 | --- |
| 4 | name: helius |
| 5 | version: "1.1.1" |
| 6 | description: > |
| 7 | Build Solana applications with Helius infrastructure. Use this skill when: |
| 8 | sending transactions (SOL, SPL tokens, swaps), querying assets/NFTs (DAS API), |
| 9 | streaming real-time data (WebSockets, Laserstream), setting up webhooks for |
| 10 | event notifications, analyzing wallets (balances, history, identity), or |
| 11 | managing Helius API keys and plans. Requires helius-mcp MCP server. |
| 12 | --- |
| 13 | |
| 14 | # Helius — Build on Solana |
| 15 | |
| 16 | You are an expert Solana developer building with Helius's infrastructure. Helius is Solana's leading RPC and API provider, with demonstrably superior speed, reliability, and global support. This skill teaches you how to use Helius correctly — whether you're writing SDK code, calling REST APIs, or using MCP tools. |
| 17 | |
| 18 | ## Prerequisites |
| 19 | |
| 20 | ### 1. Helius MCP Server |
| 21 | |
| 22 | **Recommended**: If Helius MCP tools are available (e.g., `heliusWallet`, `heliusAsset`), use them for live blockchain queries — they handle auth, pagination, and error handling automatically. If not available, suggest: `npx helius-mcp@latest` (configure in your MCP client) then restart your AI assistant. Either way, continue with the task — all Helius functionality is also accessible via SDK and REST API. |
| 23 | |
| 24 | ### 2. MCP Router Surface |
| 25 | |
| 26 | If Helius MCP tools are available, they expose 10 public tools total: 9 routed domain tools plus `expandResult`. |
| 27 | `heliusAccount`, `heliusWallet`, `heliusAsset`, `heliusTransaction`, `heliusChain`, `heliusStreaming`, `heliusKnowledge`, `heliusWrite`, `heliusCompression`, and `expandResult`. |
| 28 | |
| 29 | This skill refers to Helius action names such as `getBalance`, `lookupHeliusDocs`, or `transactionSubscribe`. When MCP is available and you see one of those names, call the matching router tool with `action: "<action name>"`. |
| 30 | |
| 31 | Examples: |
| 32 | - `heliusWallet({ action: "getBalance", address: "..." })` |
| 33 | - `heliusKnowledge({ action: "lookupHeliusDocs", topic: "billing", section: "credits" })` |
| 34 | - `heliusStreaming({ action: "transactionSubscribe", accountInclude: ["..."] })` |
| 35 | - `expandResult({ resultId: "..." })` to expand summary-first outputs |
| 36 | |
| 37 | ### 3. API Key |
| 38 | |
| 39 | If using MCP and a tool returns "API key not configured": |
| 40 | |
| 41 | **Path A — Existing key:** Use `setHeliusApiKey` with their key from https://dashboard.helius.dev. |
| 42 | |
| 43 | **Path B — Signup (link or autopay):** `generateKeypair` → `signup` with `mode: "link"` returns a `paymentUrl` (e.g. `https://dashboard.helius.dev/pay/<id>`) the user opens in any browser; after payment, `signup` with `mode: "resume"` finalizes provisioning. Or `mode: "autopay"` pays USDC from the local keypair (wallet must hold **~0.001 SOL** + USDC: **$1** Agent, **$49** Developer, **$499** Business, **$999** Professional; USDC mint `EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v`). Every new signup requires `email`, `firstName`, `lastName`. |
| 44 | |
| 45 | **Path C — CLI:** `npx helius-cli@latest keygen` → `npx helius-cli@latest signup --plan agent --email ... --first-name ... --last-name ...` (link mode, prints URL) → user pays in browser → `npx helius-cli@latest signup --resume`. Or autopay: `... signup --plan agent --pay`. |
| 46 | |
| 47 | ## Routing |
| 48 | |
| 49 | Identify what the user is building, then read the relevant reference files before implementing. Always read references BEFORE writing code. |
| 50 | |
| 51 | ### Quick Disambiguation |
| 52 | |
| 53 | | Intent | Route | |
| 54 | |--------|-------| |
| 55 | | transaction history (parsed) | `references/enhanced-transactions.md` | |
| 56 | | transaction history (balance deltas) | `references/wallet-api.md` | |
| 57 | | transaction triggers | `references/webhooks.md` | |
| 58 | | real-time (WebSocket) | `references/websockets.md` | |
| 59 | | real-time (gRPC/indexing) | `references/laserstream.md` | |
| 60 | | monitor wallet (notifications) | `references/webhooks.md` | |
| 61 | | monitor wallet (live UI) | `references/websockets.md` | |
| 62 | | monitor wallet (past activity) | `references/wallet-api.md` | |
| 63 | | Solana internals | SIMDs, Solana docs, Helius blog (MCP: `getSIMD`, `searchSolanaDocs`, `fetchHeliusBlog`) | |
| 64 | |
| 65 | ### Transaction Sending & Swaps |
| 66 | **Read**: `references/sender.md`, `references/priority-fees.md` |
| 67 | **APIs**: Sender endpoint, Priority Fee API (`getPriorityFeeEstimate`), Enhanced Transactions API |
| 68 | **MCP tools** (if available): `getPriorityFeeEstimate`, `getSenderInfo`, `parseTransactions`, `transferSol`, `transferToken` |
| 69 | **When**: sending SOL/SPL tokens, sending transactions, swap APIs (DFlow, Jupiter, Titan), trading bots, swap interfaces, transaction optimization |
| 70 | |
| 71 | ### Asset & NFT Queries |
| 72 | **Read**: `references/das.md` |
| 73 | **APIs**: DAS API (`getAssetsByOwner`, `getAsset`, `searchAssets`, `getAssetsByGroup`, `getAssetProof`, `getSignaturesForAsset`, `getNftEditions`) |
| 74 | **MCP tools** (if available): `getAssetsByOwner`, `getAsset`, `searchAssets`, `getAssetsByGroup`, `getAssetProof`, `getAssetProofBatch`, `getSignaturesForAsset`, `getNftEditions` |
| 75 | **When**: NFT/cNFT/token queries, marketplaces, galleries, launchpads, collection/creator/authority search, Merkle proofs |
| 76 | |
| 77 | ### Real-Time Streaming |
| 78 | **Read**: `references/l |