{"id":13454827,"url":"https://github.com/helius-labs/helius-sdk","last_synced_at":"2026-02-18T23:03:24.808Z","repository":{"id":144110424,"uuid":"592607467","full_name":"helius-labs/helius-sdk","owner":"helius-labs","description":null,"archived":false,"fork":false,"pushed_at":"2026-02-12T22:36:02.000Z","size":6555,"stargazers_count":271,"open_issues_count":2,"forks_count":78,"subscribers_count":8,"default_branch":"main","last_synced_at":"2026-02-13T01:19:59.187Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/helius-labs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"agents.md","dco":null,"cla":null}},"created_at":"2023-01-24T05:19:34.000Z","updated_at":"2026-02-12T17:52:24.000Z","dependencies_parsed_at":"2023-04-22T14:34:33.328Z","dependency_job_id":"e0414425-956f-43d8-b2e4-4a2533561d22","html_url":"https://github.com/helius-labs/helius-sdk","commit_stats":{"total_commits":167,"total_committers":29,"mean_commits":5.758620689655173,"dds":0.5868263473053892,"last_synced_commit":"114be512770af29dbd3bed0a1ef6c0db9b83ee47"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/helius-labs/helius-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helius-labs%2Fhelius-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helius-labs%2Fhelius-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helius-labs%2Fhelius-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helius-labs%2Fhelius-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/helius-labs","download_url":"https://codeload.github.com/helius-labs/helius-sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helius-labs%2Fhelius-sdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29597854,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-18T22:25:43.180Z","status":"ssl_error","status_checked_at":"2026-02-18T22:25:42.766Z","response_time":162,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T08:00:58.270Z","updated_at":"2026-02-18T23:03:23.499Z","avatar_url":"https://github.com/helius-labs.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","Solana Agent Infrastructure"],"sub_categories":["Benchmark Reality Check (real-world tool use)"],"readme":"# Helius Node.js SDK\n\n[![Version](https://img.shields.io/npm/v/helius-sdk)](https://www.npmjs.org/package/helius-sdk)\n![Downloads](https://img.shields.io/npm/dm/helius-sdk)\n\nThe Helius Node.js library provides access to the Helius API from JavaScript/TypeScript.\n\n## Documentation\n\nAPI reference documentation is available at [docs.helius.dev](https://docs.helius.dev).\n\n## Contributions\n\nInterested in contributing? Read the following [contributions guide...](https://github.com/helius-labs/helius-sdk/blob/main/CONTRIBUTING.md).\n\n## Installation\n\nUsing npm:\n\n```shell\nnpm install helius-sdk\n```\n\nUsing yarn:\n\n```shell\nyarn add helius-sdk\n```\n\n## Usage\n\nThe package needs to be configured with your account's API key, which is available in the [Helius Dashboard](https://dev.helius.xyz/dashboard/app).\n\n```js\nimport { Helius } from 'helius-sdk';\n\n// Replace YOUR_API_KEY with the API key from your Helius dashboard\nconst helius = new Helius('YOUR_API_KEY');\n\nconst getAssetsByOwner = async () =\u003e {\n  const response = await helius.rpc.getAssetsByOwner({\n    ownerAddress: '86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY',\n    page: 1,\n  });\n  console.log(response.items);\n};\n\ngetAssetsByOwner();\n```\n\n[![Try it out](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/edit/helius-node-js-sdk-xbw7t6?file=index.js)\n\n## Handling errors\n\nWhen the API returns a non-success status code (4xx or 5xx response), an error message will be thrown:\n\n```ts\ntry {\n  const response = await helius.rpc.getAssetsByOwner({\n    ownerAddress: '86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY',\n    page: 1,\n  });\n  console.log(response.items);\n} catch (error) {\n  console.log(error);\n}\n```\n\n### Common Error Codes\n\nWhen working with the Helius SDK, you may encounter several error codes. Below is a table detailing some of the common error codes along with additional information to help you troubleshoot:\n\n| Error Code | Error Message         | More Information                                                                                       |\n| ---------- | --------------------- | ------------------------------------------------------------------------------------------------------ |\n| 401        | Unauthorized          | This occurs when an invalid API key is provided or access is restricted due to RPC rules.              |\n| 429        | Too Many Requests     | This indicates that the user has exceeded the request limit in a given timeframe or is out of credits. |\n| 5XX        | Internal Server Error | This is a generic error message for server-side issues. Please contact Helius support for assistance.  |\n\nIf you encounter any of these errors, refer to the Helius documentation for further guidance, or reach out to the Helius support team for more detailed assistance.\n\n## Using the Helius SDK\n\nOur SDK is designed to give you a seamless experience when building on Solana. We've separated the core functionality into various segments.\n\n[**DAS API**](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#das-api-digital-asset-standard)\n\nComprehensive and performant API for tokens, NFTs, and compressed NFTs on Solana.\n\n- [`getAsset()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#getasset): Get an asset by its ID.\n- [`getAssetBatch()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#getassetbatch): Get multiple assets by ID (up to 1k).\n- [`getSignaturesForAsset()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#getsignaturesforasset): Get a list of transaction signatures related to a compressed asset.\n- [`searchAssets()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#searchassets): Search for assets by a variety of parameters. Very useful for token-gating!\n- [`getAssetProof()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#getassetproof): Get a Merkle proof for a compressed asset by its ID.\n- [`getAssetsByOwner()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#getassetsbyowner): Get a list of assets owned by an address. This is the fastest way to get all the NFTs and fungible tokens that are owned by a wallet on Solana.\n- [`getAssetsByGroup()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#getassetsbygroup): Get a list of assets by a group key and value. This endpoint is very useful for getting the mint list for NFT Collections.\n- [`getAssetsByCreator()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#getassetsbycreator): Get a list of assets created by an address.\n- [`getAssetsByAuthority()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#getassetsbyauthority): Get a list of assets with a specific authority.\n- [`getTokenAccounts()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#gettokenaccounts): Get information about all token accounts for a specific mint or a specific owner.\n- [`getNftEditions()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#getnfteditions): Get information about all the edition NFTs for a specific master NFT\n\n[**Staking**](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#staking)\n\nThe easiest way to stake with Helius programmatically.\n\n- [`createStakeTransaction()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#createstaketransaction): Generate a transaction to create + delegate a new stake account to the Helius validator.\n- [`createUnstakeTransaction()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#createunstaketransaction): Generate a transaction to deactivate a stake account.\n- [`createWithdrawTransaction()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#createwithdrawtransaction): Generate a transaction to withdraw lamports from a stake account (after cooldown).\n- [`getStakeInstructions()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#getstakeinstructions): Return only the instructions for creating and delegating a stake account.\n- [`getUnstakeInstruction()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#getunstakeinstruction): Return the instruction to deactivate a stake account.\n- [`getWithdrawInstruction()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#getwithdrawinstruction): Return the instruction to withdraw lamports from a stake account.\n- [`getWithdrawableAmount()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#getwithdrawableamount): Determine how many lamports are withdrawable (with optional rent-exempt inclusion).\n- [`getHeliusStakeAccounts()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#getheliusstakeaccounts): Return all stake accounts delegated to the Helius validator for a given wallet.\n\n[**Mint API**](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#mint)\n\nThe easiest way to mint compressed NFTs at scale.\n\nNote, this API has been deprecated and the relevant methods will be removed in a future release. Please refer to [ZK Compression](https://docs.helius.dev/zk-compression-and-photon-api/what-is-zk-compression-on-solana) for all future compression-related work\n\n- [`mintCompressedNft()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#mintcompressednft): Mint a new compressed NFT.\n- [`delegateCollectionAuthority()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#delegatecollectionauthority-and-revokecollectionauthority): Delegates collection authority to a new address.\n- [`revokeCollectionAuthority()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#delegatecollectionauthority-and-revokecollectionauthority): Revokes collection authority from an address.\n- [`getMintlist()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#getmintlist) Get all the tokens for an NFT collection.\n\n[**Webhooks**](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#webhooks)\n\nProvides methods for setting up, editing, and managing webhooks, crucial for listening to on-chain Solana events (e.g., sales, listings, swaps) and triggering actions when these events happen.\n\n- [`createWebhook()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#createwebhook): Creates a new webhook with the provided request.\n- [`editWebhook()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#editwebhook): Edits an existing webhook by its ID with the provided request.\n- [`appendAddressesToWebhook()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#appendaddressestowebhook): Append new addresses to an existing webhook.\n- [`removeAddressesFromWebhook()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#removeaddressesfromwebhook): Remove addresses from an existing webhook.\n- [`deleteWebhook()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#deletewebhook): Deletes a webhook by its ID.\n- [`getWebhookByID()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#getwebhookbyid): Retrieves a single webhook by its ID.\n- [`getAllWebhooks()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#getallwebhooks): Retrieves a list of all webhooks.\n- [`createCollectionWebhook()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#createcollectionwebhook) Create a new collection webhook with the provided request.\n\n[**Smart Transactions**](https://docs.helius.dev/solana-rpc-nodes/sending-transactions-on-solana#sending-smart-transactions)\n\n- [`createSmartTransaction()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#createsmarttransaction): Creates a smart transaction with the provided configuration\n- [`getComputeUnits()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#getcomputeunits): Simulates a transaction to get the total compute units consumed\n- [`pollTransactionConfirmation()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#polltransactionconfirmation): Polls a transaction to check whether it has been confirmed\n- [`sendSmartTransaction()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#sendsmarttransaction): Builds and sends an optimized transaction\n\n[**Jito Smart Transactions and Helper Methods**](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#jito-smart-transactions-and-helper-methods)\n\n- [`addTipInstruction()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#addtipinstruction): Adds a tip instruction as the last instruction given the provided instructions\n- [`createSmartTransactionWithTip()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#createsmarttransactionwithtip): Creates a smart transaction with a Jito tip\n- [`getBundleStatuses()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#getbundlestatuses): Gets the status of the provided bundles\n- [`sendJitoBundle()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#sendjitobundle): Sends a bundle of transactions to the Jito Block Engine\n- [`sendSmartTransactionWithTip()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#sendsmarttransactionwithtip): Sends a smart transaction as a Jito bundle with a tip\n\n[**Helper Methods**](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#helper-methods)\n\nOffers additional tools for various Solana-related tasks like analyzing blockchain throughput and tracking stake accounts and SPL token holders.\n\n- [`getCurrentTPS()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#getcurrenttps): Returns the current transactions per second (TPS) rate — including voting transactions.\n- [`airdrop()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#airdrop): Request an allocation of lamports to the specified address\n- [`getStakeAccounts()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#getstakeaccounts): Returns all the stake accounts for a given public key.\n- [`getTokenHolders()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#gettokenholders): Returns all the token accounts for a given mint address (ONLY FOR SPL TOKENS).\n- [`getPriorityFeeEstimate()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#getpriorityfeeestimate): Returns an estimated priority fee based on a set of predefined priority levels (percentiles).\n- [`sendTransaction()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#sendtransaction): Wrapper for `sendTransaction` RPC call that includes support for `validatorAcls` parameter.\n- [`broadcastTransaction()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#broadcasttransaction): Broadcasts a fully signed transaction (object or serialized) and polls for its confirmation.\n- [`executeJupiterSwap()`](https://github.com/helius-labs/helius-sdk/blob/main/examples/EXAMPLES_OVERVIEW.md#executejupiterswap): Execute a token swap using Jupiter Exchange with automatic transaction optimizations including priority fees, compute unit calculation, and reliable transaction confirmation.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhelius-labs%2Fhelius-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhelius-labs%2Fhelius-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhelius-labs%2Fhelius-sdk/lists"}