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

# TypeScript SDK API Reference

> Full list of all API methods in the Helius TypeScript SDK, organized by namespace: DAS API, RPC V2, Transactions, Enhanced Transactions, Webhooks, WebSockets, Staking, Wallet API, ZK Compression, and Standard Solana RPC.

Complete method reference for the [Helius TypeScript SDK](https://github.com/helius-labs/helius-sdk). For installation and getting started, see the [TypeScript SDK overview](/agents/typescript-sdk).

## Standard Solana RPC

All standard Solana RPC methods are available directly on `helius.*` via a proxy to the underlying `@solana/kit` Rpc client:

```typescript theme={"system"}
const balance = await helius.getBalance(address).send();
const blockhash = await helius.getLatestBlockhash().send();
const slot = await helius.getSlot().send();
```

The `helius.raw` property exposes the same `Rpc` client explicitly, useful when passing to third-party libraries that expect a standard `Rpc` object.

## DAS API (Digital Asset Standard)

Query NFTs, compressed NFTs, fungible tokens, and other digital assets with a unified interface.

```typescript theme={"system"}
helius.getAsset({ id })                                    // Single asset by mint
helius.getAssetBatch({ ids })                              // Multiple assets
helius.getAssetsByOwner({ ownerAddress, page, limit })     // Assets by wallet
helius.getAssetsByAuthority({ authorityAddress })           // Assets by update authority
helius.getAssetsByCreator({ creatorAddress })               // Assets by creator
helius.getAssetsByGroup({ groupKey, groupValue })           // Assets by collection
helius.searchAssets({ ownerAddress, tokenType, ... })       // Flexible search
helius.getAssetProof({ id })                               // Merkle proof (cNFTs)
helius.getAssetProofBatch({ ids })                         // Batch Merkle proofs
helius.getTokenAccounts({ owner })                         // Token accounts
helius.getNftEditions({ id })                              // Print editions
helius.getSignaturesForAsset({ id })                       // Transaction history for asset
```

## RPC V2 Methods

Enhanced RPC methods with server-side pagination, filtering, and token account support.

```typescript theme={"system"}
helius.getTransactionsForAddress([address, config])        // Transaction history (paginationToken)
helius.getProgramAccountsV2([programId, config])           // Program accounts (paginationKey)
helius.getTokenAccountsByOwnerV2([owner, filter?, config]) // Token accounts (paginationKey)
helius.getPriorityFeeEstimate({ accountKeys, options })    // Fee estimates
```

## Transactions

Build and send optimized transactions with automatic compute unit estimation and priority fees.

```typescript theme={"system"}
helius.tx.sendSmartTransaction({ instructions, signers })  // Auto-optimized send
helius.tx.createSmartTransaction({ instructions, signers })// Build without sending
helius.tx.sendTransactionWithSender({ ..., region })       // Helius Sender (low latency)
```

## Enhanced Transactions

Parse raw transactions into human-readable, labeled formats.

```typescript theme={"system"}
helius.enhanced.getTransactions({ transactions })          // Parse by signatures
helius.enhanced.getTransactionsByAddress({ address })      // Parse by address
```

## Webhooks

Create and manage real-time HTTP POST notifications for on-chain events.

```typescript theme={"system"}
helius.webhooks.create({ webhookURL, transactionTypes, accountAddresses })
helius.webhooks.get(webhookID)
helius.webhooks.getAll()
helius.webhooks.update(webhookID, params)
helius.webhooks.delete(webhookID)
```

## WebSockets

Stream real-time blockchain data over WebSocket connections.

```typescript theme={"system"}
helius.ws.logsNotifications(filter, config)                // Transaction logs
helius.ws.accountNotifications(address, config)            // Account changes
helius.ws.signatureNotifications(signature, config)        // Tx confirmation
helius.ws.slotNotifications(config)                        // Slot updates
helius.ws.programNotifications(programId, config)          // Program account changes
helius.ws.close()                                          // Clean up connections
```

## Staking

Stake SOL to the Helius validator and manage stake accounts.

```typescript theme={"system"}
helius.stake.createStakeTransaction(owner, amountSol)                          // Stake SOL
helius.stake.createUnstakeTransaction(ownerSigner, stakeAccount)               // Unstake
helius.stake.createWithdrawTransaction(withdrawAuth, stakeAcct, dest, lamports)// Withdraw
helius.stake.getHeliusStakeAccounts(wallet)                // List stake accounts
```

## Wallet API

Query wallet balances, transaction history, transfers, and identity information via REST endpoints.

```typescript theme={"system"}
helius.wallet.getBalances({ wallet })                      // Token balances
helius.wallet.getHistory({ wallet })                       // Transaction history
helius.wallet.getTransfers({ wallet })                     // Transfer history
helius.wallet.getIdentity({ wallet })                      // Known identity lookup
helius.wallet.getBatchIdentity({ addresses })              // Batch identity (max 100)
helius.wallet.getFundedBy({ wallet })                      // Funding source
```

## ZK Compression

Work with compressed accounts and tokens for 98% cheaper on-chain storage.

```typescript theme={"system"}
helius.zk.getCompressedAccount({ address })                // Single compressed account
helius.zk.getCompressedAccountsByOwner({ owner })          // By owner
helius.zk.getCompressedTokenAccountsByOwner({ owner })     // Compressed tokens
helius.zk.getCompressedAccountProof({ hash })              // Merkle proof
helius.zk.getCompressedBalance({ address })                // Balance
helius.zk.getValidityProof({ hashes })                     // Validity proof
```
