> ## Documentation Index
> Fetch the complete documentation index at: https://www.helius.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Tool Catalog

> Full catalog of the Helius MCP server's 9 routed Solana tools plus expandResult, with every action each exposes for DAS, RPC, webhooks, and streaming.

The Helius MCP server exposes **10 public tools**: 9 routed domain tools plus `expandResult`. Every Helius and Solana action is reachable as an `action` argument on the appropriate routed tool, and the right tool/action is selected automatically based on your natural language request.

## Routed Tool Call Shape

All 9 routed tools share a common argument shape:

| Field | Description |
| - | - |
| `action` | The Helius action name to run (e.g. `getBalance`, `createWebhook`) |
| domain-specific params | For example `address`, `signatures`, `webhookURL` |
| `detail` *(optional)* | `summary`, `standard`, or `full` — controls response verbosity |
| `_feedback`, `_feedbackTool`, `_model` *(optional)* | Telemetry fields |

Example call:

```json theme={"system"}
{
  "name": "heliusWallet",
  "arguments": {
    "action": "getBalance",
    "address": "Gh9ZwEmdLJ8DscKNTkTqPbNwLNNBjuSzaG9Vp2KGtKJr",
    "_feedback": "initial balance check",
    "_feedbackTool": "heliusWallet.getBalance",
    "_model": "your-model-id"
  }
}
```

## `expandResult`

Heavy responses are summary-first. Routed tools return a compact summary plus a `resultId` when the full response would be large or when `detail: "summary"` is requested.

Call `expandResult` with that `resultId` to fetch a specific section, range, page, or continuation slice of the original response on demand. This keeps token usage low for exploratory queries while still letting agents drill into the full payload when needed.

## heliusAccount

Account setup, auth, plans, and billing — including the autonomous signup flow.

| Action | Description |
| - | - |
| `getStarted` | Check setup state and get recommended next steps |
| `setHeliusApiKey` | Configure your API key |
| `generateKeypair` | Create a Solana wallet for signup |
| `signup` | Create a Helius account via hosted payment link. `mode: "link"` returns a payment URL the user opens in a browser; `mode: "autopay"` pays USDC from the local keypair; `mode: "resume"` polls a previously created intent. Every new signup (all plans, including Agent) requires `email`, `firstName`, `lastName`. |
| `getAccountStatus` | Check account status and credits |
| `getAccountPlan` | Pre-flight check: current plan, credit balance, and which actions need an upgrade (0 credits) |
| `getHeliusPlanInfo` | Get your current plan details |
| `compareHeliusPlans` | Compare available plans |
| `previewUpgrade` | Preview cost of upgrading |
| `upgradePlan` | Upgrade your plan. `mode: "link"` returns a payment URL; `mode: "autopay"` pays USDC from the local keypair. Requires `email`, `firstName`, `lastName`. |
| `payRenewal` | Pay a plan renewal. `mode: "link"` returns a payment URL; `mode: "autopay"` pays USDC from the local keypair. |
| `purchaseCredits` | Buy prepaid credits (one-time top-up). `mode: "link"` returns a payment URL; `mode: "autopay"` pays USDC from the local keypair. |

## heliusWallet

Wallet balances, holdings, history, and identity lookups.

| Action | Description |
| - | - |
| `getBalance` | Get SOL balance for an address |
| `getTokenBalances` | Get token balances for an address |
| `getWalletBalances` | Full portfolio with USD values |
| `getWalletBalanceAt` | A wallet's exact balance of one token (or native SOL) at a past timestamp, datetime, or slot |
| `getWalletHistory` | Wallet transaction history with balance deltas |
| `getWalletTransfers` | Wallet send/receive history |
| `getWalletFundedBy` | Trace wallet funding source |
| `getWalletIdentity` | Look up who owns a wallet by address or SNS/ANS domain |
| `batchWalletIdentity` | Batch identity lookup for up to 100 addresses or domains |

## heliusAsset

NFTs, compressed NFTs, fungible tokens, collections, Merkle proofs, and token holders via the Digital Asset Standard (DAS).

| Action | Description |
| - | - |
| `getAsset` | Get a single asset by mint address (single or batch) |
| `getAssetsByOwner` | Get all assets owned by a wallet |
| `getAssetsByGroup` | Get assets by collection |
| `searchAssets` | Flexible multi-criteria asset search |
| `getSignaturesForAsset` | Transaction history for an asset (by mint) |
| `getNftEditions` | Get print editions of a master NFT |
| `getAssetProof` | Get the Merkle proof for a compressed NFT, required to transfer or burn it |
| `getAssetProofBatch` | Get Merkle proofs for up to 1,000 compressed NFTs in one request |
| `getTokenHolders` | Get top holders of a token |

## heliusTransaction

Transaction parsing, address and transfer history, and server-side history search.

| Action | Description |
| - | - |
| `parseTransactions` | Parse transactions into human-readable format. On mainnet it uses the [Parsed Events API](https://www.helius.dev/docs/parsed-events.md) and returns decoded program and instruction names and decoded program errors; on devnet it uses Enhanced Transactions |
| `getTransactionHistory` | Address history in `raw`, `parsed`, or `signatures` mode. `raw` returns GTFA signature/full data, `parsed` returns history parsed with Parsed Events on mainnet (Enhanced Transactions on devnet), and `signatures` returns lightweight signature records. There is no separate `getTransactionsForAddress` MCP action |
| `scanTransactionHistory` | Search an address's history server-side for transactions that call specific programs or instructions, or touch specific token mints, and return only the matches: parsed, as signatures, or as a count. Paginate with `paginationToken`; a page can have no matches and still return a token. Mainnet only. 10 credits plus 1 per history page scanned. See [Scan Transaction History](https://www.helius.dev/docs/api-reference/parsed-events/scan.md) |
| `getTransfersByAddress` | Normalized SOL/token transfer records for an address — not complete transaction objects |

## heliusChain

Chain state and raw account inspection — RPC reads, blocks, network status, token accounts, program accounts, priority fee estimation, and Jito bundle simulation and status.

| Action | Description |
| - | - |
| `getAccountInfo` | Get account data (single or batch) |
| `getProgramAccounts` | Get accounts owned by a program |
| `getTokenAccounts` | Get token accounts by mint or owner |
| `getBlock` | Get block details by slot number |
| `getNetworkStatus` | Get Solana network status, epoch, and block height |
| `getPriorityFeeEstimate` | Get optimal priority fee for a transaction |
| `simulateTransaction` | Simulate a transaction without submitting it |
| `simulateBundle` | Simulate a Jito bundle of up to 5 transactions in order without submitting it: whether it would succeed, which transaction failed and why, and each transaction's compute units and logs. 1 credit |
| `getBundleStatuses` | Check whether submitted bundles landed: status, slot, error, and signatures for up to 5 bundle IDs. 1 credit. See [getBundleStatuses](https://www.helius.dev/docs/api-reference/sender/getbundlestatuses.md) |
| `getStakeAccounts` | Get a wallet's Helius validator stake accounts |
| `getWithdrawableAmount` | Get the withdrawable amount for a stake account |

## heliusStreaming

Webhook management, Enhanced WebSocket and LaserStream config generation, and Gatekeeper streams (Parsed Streams, Preconfirmations, Preprocessed Transactions).

| Action | Description |
| - | - |
| `getAllWebhooks` | List all webhooks, enabled or disabled, with whether each is receiving deliveries |
| `getWebhookByID` | Get a specific webhook, including whether it's enabled |
| `createWebhook` | Create a new webhook |
| `updateWebhook` | Update an existing webhook |
| `deleteWebhook` | Delete a webhook |
| `toggleWebhook` | Enable or disable a webhook without deleting it, for example to re-enable one Helius auto-disabled after repeated endpoint failures. A re-enabled webhook can't be auto-disabled again for 24 hours. 100 credits. See [Toggle Webhook](https://www.helius.dev/docs/api-reference/webhooks/toggle-webhook.md) |
| `transactionSubscribe` | Generate an Enhanced WebSocket URL, transaction subscription request, configuration warnings, and a TypeScript example. This action does not open or maintain a WebSocket connection. |
| `accountSubscribe` | Generate an Enhanced WebSocket URL, account subscription request, configuration warnings, and a TypeScript example. This action does not open or maintain a WebSocket connection. |
| `laserstreamSubscribe` | Generate a LaserStream gRPC endpoint, subscription configuration, configuration warnings, and a TypeScript example. This action does not open or maintain a live stream; multi-node failover is a LaserStream gRPC product capability. |
| `parsedTransactionSubscribe` | Generate a [Parsed Streams](https://www.helius.dev/docs/parsed-streams.md) subscription for the Gatekeeper WebSocket: transactions decoded into named instructions, events, and accounts, filtered server-side by program, instruction name, and account role. Returns a validated request and helius-sdk code; does not open a connection. All plans. 1 credit per delivered event |
| `describeProgram` | List a program's decoded instruction, event, and account role names exactly as Parsed Streams and Parsed Events match them, for building filters that match. Use it before `parsedTransactionSubscribe` or `scanTransactionHistory` |
| `preconfSubscribe` | Generate a [Preconfirmations](https://www.helius.dev/docs/pre-confirmations/overview.md) subscription for the Gatekeeper WebSocket: the earliest signal of a transaction, before shredding. Filters by source, status, region, accounts, signers, signatures, and instruction data. Returns a validated request and helius-sdk code; does not open a connection. Paid plans |
| `getPreConfCoverage` | The share of mainnet stake Preconfirmations covers and how it splits across regions, for deciding whether coverage is enough and choosing a region |
| `preprocessedSubscribe` | Generate a [Preprocessed Transactions](https://www.helius.dev/docs/preprocessed-transactions/overview.md) subscription for the Gatekeeper WebSocket: signed transactions before execution, filtered by accounts. Returns a validated request and code that decodes the binary notifications and reconnects; does not open a connection. Public beta, paid plans. 0.1 credits per message |

## heliusKnowledge

Docs, guides, pricing, troubleshooting, source code, blog posts, SIMDs, and streaming connection details.

| Action | Description |
| - | - |
| `lookupHeliusDocs` | Search Helius documentation |
| `listHeliusDocTopics` | List available doc topics |
| `getHeliusCreditsInfo` | Get credit cost information |
| `getRateLimitInfo` | Get rate limit details |
| `troubleshootError` | Diagnose an error code |
| `getSenderInfo` | Get Sender / Jito / SWQoS documentation |
| `getWebhookGuide` | Get webhook setup guide |
| `getLatencyComparison` | Compare streaming latency across products |
| `getPumpFunGuide` | Get pump.fun integration guide |
| `recommendStack` | Get recommended Helius stack for your use case |
| `getSIMD` | Read a specific SIMD proposal |
| `listSIMDs` | List all SIMD proposals |
| `readSolanaSourceFile` | Read Solana source code (Agave, Firedancer) |
| `searchSolanaDocs` | Search Solana documentation |
| `fetchHeliusBlog` | Fetch a Helius blog post |
| `getEnhancedWebSocketInfo` | Get Enhanced WebSocket connection details |
| `getLaserstreamInfo` | Get LaserStream connection details |

## heliusWrite

Transfers and staking — actions that send transactions on your behalf.

| Action | Description |
| - | - |
| `transferSol` | Send SOL to another wallet (supports `sendMax` to drain full balance) |
| `transferToken` | Send SPL tokens like USDC, BONK, etc. (supports `sendMax` with ATA close) |
| `stakeSOL` | Stake SOL to the Helius validator: creates and delegates a new stake account |
| `unstakeSOL` | Deactivate a stake account to start the cooldown before withdrawal |
| `withdrawStake` | Withdraw SOL from a deactivated stake account back to your wallet |

## heliusCompression

ZK Compression state via the Light Protocol indexer: compressed accounts, balances, token accounts, proofs, signatures, and indexer status. Each call costs 10 credits. For compressed NFT Merkle proofs, use `getAssetProof` on `heliusAsset`.

| Action | Description |
| - | - |
| `getCompressedAccount` | Get a single compressed account by address or hash |
| `getCompressedAccountsByOwner` | List compressed accounts owned by a wallet |
| `getMultipleCompressedAccounts` | Batch-fetch compressed accounts by addresses or hashes |
| `getCompressedBalance` | Get the compressed SOL balance of one account |
| `getCompressedBalanceByOwner` | Get the total compressed SOL balance across a wallet's accounts |
| `getCompressedMintTokenHolders` | List holders of a compressed token mint |
| `getCompressedTokenAccountBalance` | Get the token balance of one compressed token account |
| `getCompressedTokenAccountsByOwner` | List compressed token accounts owned by a wallet, optionally by mint |
| `getCompressedTokenAccountsByDelegate` | List compressed token accounts delegated to an address |
| `getCompressedTokenBalancesByOwnerV2` | Summarize a wallet's compressed token balances per mint |
| `getCompressedAccountProof` | Get the Merkle proof for a compressed account |
| `getMultipleCompressedAccountProofs` | Batch Merkle proofs for compressed accounts |
| `getMultipleNewAddressProofs` | Non-inclusion proofs for new addresses, required to create compressed accounts |
| `getValidityProof` | Generate a ZK validity proof for operations that modify compressed state |
| `getCompressionSignaturesForAccount` | Compression transaction signatures for one compressed account |
| `getCompressionSignaturesForAddress` | Compression transaction signatures for an address |
| `getCompressionSignaturesForOwner` | Compression transaction signatures for a wallet owner |
| `getCompressionSignaturesForTokenOwner` | Compression token-operation signatures for a wallet owner |
| `getLatestCompressionSignatures` | The most recent compression transactions across the network |
| `getLatestNonVotingSignatures` | The most recent non-voting compression transactions |
| `getTransactionWithCompressionInfo` | A transaction's compressed accounts opened and closed |
| `getIndexerHealth` | Check that the ZK Compression indexer is healthy |
| `getIndexerSlot` | The latest slot the indexer has processed, for monitoring lag |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.