Helius SDK - v3.0.0
    Preparing search index...

    Interface WsAsync

    WebSocket RPC subscription client. Provides promisified access to Solana's WebSocket subscriptions (logs, slots, signatures, programs, accounts) and Helius Enhanced WebSocket subscriptions (transactions, accounts).

    All standard subscription methods return a Promise that resolves to a subscription object with an async iterator.

    Enhanced methods (transactionSubscribe, accountSubscribe) use Helius Enhanced WebSockets for 1.5-2x faster streaming with advanced filtering. These require a Business+ plan.

    interface WsAsync {
        accountNotifications(
            ...args: [address: Address, config?: Readonly<{}>],
        ): Promise<PendingRpcSubscriptionsRequest<Readonly<{}>>>;
        accountSubscribe(
            account: string,
            config?: EnhancedAccountSubscribeConfig,
        ): Promise<EnhancedSubscription<EnhancedAccountNotificationResult>>;
        accountUnsubscribe(subscriptionId: number): Promise<boolean>;
        close(): void;
        logsNotifications(
            filter: LogsFilter,
            config?: Readonly<{ commitment?: Commitment }>,
        ): Promise<PendingRpcSubscriptionsRequest<Readonly<{}>>>;
        programNotifications(
            ...args: [programId: Address, config?: Readonly<{}>],
        ): Promise<PendingRpcSubscriptionsRequest<Readonly<{}>>>;
        signatureNotifications(
            signature: string | Signature,
            config?: Readonly<{ commitment?: Commitment }>,
        ): Promise<PendingRpcSubscriptionsRequest<Readonly<{}>>>;
        slotNotifications(
            config?: Readonly<{ commitment?: Commitment }>,
        ): Promise<PendingRpcSubscriptionsRequest<Readonly<{}>>>;
        transactionSubscribe(
            filter: TransactionSubscribeFilter,
            config?: TransactionSubscribeConfig,
        ): Promise<EnhancedSubscription<TransactionNotificationResult>>;
        transactionUnsubscribe(subscriptionId: number): Promise<boolean>;
    }
    Index

    Methods

    • Subscribe to account updates.

      Parameters

      • ...args: [address: Address, config?: Readonly<{}>]

      Returns Promise<PendingRpcSubscriptionsRequest<Readonly<{}>>>

    • Subscribe to real-time account change notifications via Helius Enhanced WebSockets. 1.5-2x faster than standard Solana WebSocket subscriptions. Requires a Helius Business+ plan.

      Returns an EnhancedSubscription that implements AsyncIterable for consuming notifications and provides an unsubscribe() method.

      Parameters

      • account: string
      • Optionalconfig: EnhancedAccountSubscribeConfig

      Returns Promise<EnhancedSubscription<EnhancedAccountNotificationResult>>

      const sub = await helius.ws.accountSubscribe("EPjF...", {
      encoding: "jsonParsed",
      commitment: "confirmed",
      });
      for await (const notif of sub) {
      console.log(notif.value.lamports);
      }
      await sub.unsubscribe();
    • Unsubscribe from an enhanced account subscription by its server-assigned ID. Helius Enhanced WebSocket method (Business+ plan).

      Parameters

      • subscriptionId: number

      Returns Promise<boolean>

    • Manually close the underlying WebSocket connections (standard and enhanced).

      Returns void

    • Subscribe to transaction logs.

      Parameters

      • filter: LogsFilter
      • Optionalconfig: Readonly<{ commitment?: Commitment }>

      Returns Promise<PendingRpcSubscriptionsRequest<Readonly<{}>>>

    • Subscribe to program account updates.

      Parameters

      • ...args: [programId: Address, config?: Readonly<{}>]

      Returns Promise<PendingRpcSubscriptionsRequest<Readonly<{}>>>

    • Subscribe to signature confirmation status.

      Parameters

      • signature: string | Signature
      • Optionalconfig: Readonly<{ commitment?: Commitment }>

      Returns Promise<PendingRpcSubscriptionsRequest<Readonly<{}>>>

    • Subscribe to slot updates.

      Parameters

      • Optionalconfig: Readonly<{ commitment?: Commitment }>

      Returns Promise<PendingRpcSubscriptionsRequest<Readonly<{}>>>

    • Subscribe to real-time transaction notifications via Helius Enhanced WebSockets. Supports filtering by accounts (up to 50,000), vote/failed status, and signatures. Requires a Helius Business+ plan.

      Returns an EnhancedSubscription that implements AsyncIterable for consuming notifications and provides an unsubscribe() method.

      Parameters

      • filter: TransactionSubscribeFilter
      • Optionalconfig: TransactionSubscribeConfig

      Returns Promise<EnhancedSubscription<TransactionNotificationResult>>

      const sub = await helius.ws.transactionSubscribe(
      { accountInclude: ["EPjF..."] },
      { commitment: "confirmed", encoding: "jsonParsed" }
      );
      for await (const notif of sub) {
      console.log(notif.signature, notif.slot);
      }
      await sub.unsubscribe();
    • Unsubscribe from a transaction subscription by its server-assigned ID. Helius Enhanced WebSocket method (Business+ plan).

      Parameters

      • subscriptionId: number

      Returns Promise<boolean>