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

# SDK de TypeScript de Helius para agentes

> Guía completa del SDK de TypeScript de Helius para agentes de IA: métodos con seguridad de tipos para Solana, la API de DAS, transacciones, Sender, webhooks y ZK Compression.

El [SDK de TypeScript de Helius](https://github.com/helius-labs/helius-sdk) proporciona métodos con seguridad de tipos para todas las API de Helius, lo que lo convierte en la forma más rápida para que los agentes interactúen con Solana.

* **Paquete**: `helius-sdk` (npm / pnpm / yarn)
* **Versión**: 2.x (usa `@solana/kit`, no `@solana/web3.js`)
* **Entorno de ejecución**: Cualquier entorno de ejecución de JavaScript: navegadores, Deno, Bun, entornos de ejecución perimetrales (Cloudflare Workers, Vercel Edge), Node.js 20+
* **TypeScript**: 5.8+ (incluye definiciones de tipos completas)
* **Licencia**: ISC

## Instalación

```bash theme={"system"}
npm install helius-sdk
```

## Inicio rápido

```typescript theme={"system"}
import { createHelius } from "helius-sdk";

const helius = createHelius({
  apiKey: "YOUR_API_KEY",
  network: "mainnet", // or "devnet"
});

// Get all NFTs and tokens owned by a wallet
const assets = await helius.getAssetsByOwner({
  ownerAddress: "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY",
  page: 1,
  limit: 50,
});

// Get transaction history (with token account activity)
const txs = await helius.getTransactionsForAddress([
  "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY",
  { limit: 100, transactionDetails: "full", filters: { tokenAccounts: "balanceChanged" } },
]);

// Send a transaction via Helius Sender (ultra-low latency)
const sig = await helius.tx.sendTransactionWithSender({
  instructions: [transferInstruction],
  signers: [walletSigner],
  region: "US_EAST",
});
```

## Opciones del cliente

```typescript theme={"system"}
const helius = createHelius({
  apiKey: "YOUR_API_KEY",       // Required for webhooks, enhanced txs, wallet API
  network: "mainnet",           // "mainnet" (default) or "devnet"
  baseUrl: "https://custom..",  // Override RPC URL (optional)
  rebateAddress: "wallet",      // Wallet for RPC rebates (optional)
  userAgent: "my-agent/1.0",   // Sent as X-Helius-Client header (optional)
});
```

## Espacios de nombres

Se accede a todos los métodos mediante el cliente `helius`. Los métodos de la API de DAS y los métodos RPC estándar de Solana están disponibles directamente en `helius.*`. Las demás funciones se organizan en espacios de nombres:

| Espacio de nombres | Acceso                                                                | Propósito                                                                         |
| ------------------ | --------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| API de DAS         | `helius.getAsset()`, `helius.getAssetsByOwner()`, etc.                | Consulta NFT, tokens y activos comprimidos                                        |
| RPC V2             | `helius.getTransactionsForAddress()`, `helius.getProgramAccountsV2()` | RPC mejorado con paginación y filtros                                             |
| Transacciones      | `helius.tx.*`                                                         | Transacciones inteligentes y Helius Sender                                        |
| Mejorado           | `helius.enhanced.*`                                                   | Convierte transacciones a un formato legible                                      |
| Webhooks           | `helius.webhooks.*`                                                   | Crea y administra suscripciones a webhooks                                        |
| WebSockets         | `helius.ws.*`                                                         | Flujos de datos de la blockchain en tiempo real                                   |
| Staking            | `helius.stake.*`                                                      | Delega SOL al validador de Helius                                                 |
| ZK Compression     | `helius.zk.*`                                                         | Cuentas comprimidas y pruebas                                                     |
| API de billetera   | `helius.wallet.*`                                                     | Consultas de saldos, historial e identidad                                        |
| RPC estándar       | `helius.getBalance()`, `helius.getSlot()`, etc.                       | Todos los métodos RPC estándar de Solana mediante proxy                           |
| RPC sin procesar   | `helius.raw`                                                          | Acceso directo al cliente Rpc `@solana/kit` subyacente                            |
| Autenticación      | `import { makeAuthClient } from "helius-sdk/auth/client"`             | Registro de agentes y administración de claves de API (importación independiente) |

## Registro programático (módulo de autenticación)

El módulo de autenticación es una importación independiente; no está incluido en el `HeliusClient` principal. Úsalo para flujos programáticos de registro de agentes.

```typescript theme={"system"}
import { makeAuthClient } from "helius-sdk/auth/client";

const auth = makeAuthClient();

// Hosted-link signup (returns a paymentUrl the user opens in a browser):
const link = await auth.signup({
  secretKey: keypair.secretKey,
  plan: "agent",
  email: "you@example.com",
  firstName: "Ada",
  lastName: "Lovelace",
});
// link: { kind: "payment_required", jwt, refId, walletAddress, paymentLink: { paymentUrl, ... } }

// Or pay USDC directly from the local keypair and provision in one call:
const result = await auth.signupAndPay({
  secretKey: keypair.secretKey,
  plan: "agent",
  email: "you@example.com",
  firstName: "Ada",
  lastName: "Lovelace",
});
// result.kind: "completed" | "pending" | "expired" | "failed" | "already_subscribed" | "upgrade_required"
// On "completed": result has { jwt, walletAddress, projectId, apiKey, endpoints, txSignature }
```

## Análisis detallados

<CardGroup cols={2}>
  <Card title="Best Practices" icon="lightbulb" href="/docs/es/agents/typescript-sdk/best-practices">
    Patrones recomendados, paginación, errores comunes y manejo de errores
  </Card>

  <Card title="API Reference" icon="book" href="/docs/es/agents/typescript-sdk/api-reference">
    Lista completa de métodos de cada espacio de nombres
  </Card>
</CardGroup>

## Recursos

<CardGroup cols={2}>
  <Card title="GitHub Repository" icon="github" href="https://github.com/helius-labs/helius-sdk">
    Código fuente, ejemplos y seguimiento de problemas
  </Card>

  <Card title="Code Examples" icon="code" href="https://github.com/helius-labs/helius-sdk/tree/main/examples">
    Ejemplos funcionales de cada método, organizados por espacio de nombres
  </Card>

  <Card title="SDK API Docs (TypeDoc)" icon="book" href="https://helius-labs.github.io/helius-sdk/">
    Documentación completa de la API generada a partir del código fuente
  </Card>

  <Card title="Migration Guide (1.x to 2.x)" icon="arrow-right" href="https://github.com/helius-labs/helius-sdk/blob/main/MIGRATION.md">
    Migra de @solana/web3.js a @solana/kit
  </Card>
</CardGroup>
