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

# Référence de l'API TypeScript SDK

> Chaque méthode de l'API Solana dans le Helius TypeScript SDK par espace de noms — API DAS, RPC V2, transactions, webhooks, WebSockets, staking et compression ZK.

Référence complète des méthodes pour le [Helius TypeScript SDK](https://github.com/helius-labs/helius-sdk). Pour l'installation et le démarrage, voir l'[aperçu du SDK TypeScript](/docs/fr/agents/typescript-sdk).

## RPC Solana Standard

Toutes les méthodes standard de Solana RPC sont disponibles directement sur `helius.*` via un proxy vers le client Rpc sous-jacent `@solana/kit` :

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

La propriété `helius.raw` expose le même client `Rpc` explicitement, utile lors du passage à des bibliothèques tierces qui attendent un objet standard `Rpc`.

## API DAS (Norme des Actifs Numériques)

Interroger des NFTs, des NFTs compressés, des tokens fongibles, et d'autres actifs numériques avec une interface unifiée.

```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
```

## Méthodes RPC V2

Méthodes RPC améliorées avec pagination côté serveur, filtrage et support des comptes de tokens.

```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

Construire et envoyer des transactions optimisées avec estimation automatique des unités de calcul et frais prioritaires.

```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)
```

## Transactions Améliorées

Analyser les transactions brutes en formats lisibles et étiquetés.

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

## Webhooks

Créer et gérer des notifications HTTP POST en temps réel pour les événements on-chain.

```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

Diffuser des données blockchain en temps réel via des connexions WebSocket.

```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

Staker du SOL au validateur Helius et gérer les comptes de stake.

```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
```

## API de Portefeuille

Interroger les soldes des portefeuilles, l'historique des transactions, les transferts et les informations d'identité via les points d'accès REST.

```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
```

## Compression ZK

Travailler avec des comptes et tokens compressés pour un stockage on-chain 98% moins coûteux.

```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
```
