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

# Solana DAS API: Unified NFT and Token Data Access

> The most comprehensive Solana API for NFTs, compressed NFTs, and tokens. One unified interface for all digital assets, with full metadata, ownership, and search.

## What is the DAS API?

The Digital Asset Standard (DAS) API is an open-source specification that gives you one unified interface for every type of digital asset on Solana:

* Regular NFTs (Non-Fungible Tokens)
* Compressed NFTs (cNFTs, using state compression)
* Fungible tokens (SPL Token and Token-2022, including extensions)

A single set of methods covers metadata, ownership, balances, collections, creators, search, and Merkle proofs — so you can build NFT marketplaces, wallets, portfolio trackers, token-gated apps, and analytics tools against the same API.

Both networks share the same methods:

* Mainnet: `https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY`
* Devnet: `https://devnet.helius-rpc.com/?api-key=YOUR_API_KEY`

## Why Helius for the DAS API?

> [card] All asset types, one API
>
> NFTs, compressed NFTs, and fungible tokens (SPL and Token-2022) through a single interface.

> [card] Complete metadata
>
> On-chain and off-chain data (Arweave, IPFS) indexed and returned together in one call.

> [card] Price data included
>
> USD price information for verified tokens, returned alongside balances.

> [card] Search and filtering
>
> Query by owner, collection, creator, authority, or rich attribute filters.

## Which method should I use?

Most integrations start with one of three methods. Use this table to pick the right entry point, then reach for the specialized methods below.

| Method | Use it for | Returns |
| - | - | - |
| **`getAsset`** | A single asset you already have the ID for | Full metadata, ownership, and (for tokens) price for one asset |
| **`getAssetsByOwner`** | Everything a wallet holds | All assets for an address, with metadata and balances |
| **`searchAssets`** | Filtered queries across assets | Assets matching owner, collection, `tokenType`, and attribute filters |

As a rule of thumb:

* Know the exact asset ID? Use `getAsset` (or `getAssetBatch` for many).
* Listing a wallet's holdings? Use `getAssetsByOwner`.
* Filtering by collection, token type, or attributes? Use `searchAssets`.

## Key methods

### Single asset

> [card] [getAsset](https://www.helius.dev/docs/api-reference/das/getasset.md)
>
> Full data for one asset by its ID.

> [card] [getAssetBatch](https://www.helius.dev/docs/api-reference/das/getassetbatch.md)
>
> Up to 1,000 assets in a single request.

### Assets by owner, collection, or creator

> [card] [getAssetsByOwner](https://www.helius.dev/docs/api-reference/das/getassetsbyowner.md)
>
> All assets held by a wallet, with metadata and balances.

> [card] [getAssetsByGroup](https://www.helius.dev/docs/api-reference/das/getassetsbygroup.md)
>
> All assets in a collection (group key `collection`).

> [card] [getAssetsByCreator](https://www.helius.dev/docs/api-reference/das/getassetsbycreator.md)
>
> All assets minted by a specific creator.

> [card] [getAssetsByAuthority](https://www.helius.dev/docs/api-reference/das/getassetsbyauthority.md)
>
> All assets controlled by a given authority.

### Search

> [card] [searchAssets](https://www.helius.dev/docs/api-reference/das/searchassets.md)
>
> Flexible filtering by owner, collection, `tokenType`, and attributes.

### Compressed assets and proofs

> [card] [getAssetProof](https://www.helius.dev/docs/api-reference/das/getassetproof.md)
>
> Merkle proof for a compressed asset, required for on-chain operations.

> [card] [getAssetProofBatch](https://www.helius.dev/docs/api-reference/das/getassetproofbatch.md)
>
> Merkle proofs for multiple compressed assets at once.

> [card] [getSignaturesForAsset](https://www.helius.dev/docs/api-reference/das/getsignaturesforasset.md)
>
> Transaction signature history for an asset.

> [card] [getNftEditions](https://www.helius.dev/docs/api-reference/das/getnfteditions.md)
>
> All editions printed from a master NFT.

### Token accounts

> [card] [getTokenAccounts](https://www.helius.dev/docs/api-reference/das/gettokenaccounts.md)
>
> Token accounts by mint or owner, with balances.

## Get started

> [card] [Get Assets (NFTs)](https://www.helius.dev/docs/das/get-nfts.md)
>
> Fetch NFTs and digital collectibles: single asset, by owner, collections, proofs, and editions.

> [card] [Get SPL Tokens](https://www.helius.dev/docs/das/get-tokens.md)
>
> Query fungible tokens: balances, supply, holders, and token accounts.

> [card] [Search Assets](https://www.helius.dev/docs/das/search.md)
>
> Filter assets by owner, collection, token type, and attributes.

> [card] [Pagination](https://www.helius.dev/docs/das/pagination.md)
>
> Page-based and keyset pagination for large result sets.

## Working with special asset types

### Fungible tokens

Helius extends the DAS API to cover **all tokens**, including plain SPL tokens (without metadata) and Token-2022 (plus their extensions). Fungible token support is available through `getAsset`, `getAssetsByOwner`, and `searchAssets` using the `tokenType` parameter, and prices for verified tokens are returned under `token_info.price_info`.

For balances, supply, holders, and token-account queries, see the [Get SPL Tokens guide](https://www.helius.dev/docs/das/get-tokens.md) and the [fungible token extension](https://www.helius.dev/docs/das/fungible-token-extension.md).

### Compressed NFTs

State-compressed NFTs (cNFTs) use the same methods as regular NFTs for reads (`getAsset`, `getAssetsByOwner`, `searchAssets`), plus two compression-specific methods:

* `getAssetProof` returns the Merkle proof required to verify and perform on-chain operations such as transfers and burns.
* `getSignaturesForAsset` returns the transaction history for a compressed asset.

See the [Get Assets guide](https://www.helius.dev/docs/das/get-nfts.md) for full compressed-NFT examples.

### Off-chain data

Most NFT collections store extra metadata (attributes, images) off-chain on Arweave or IPFS. The DAS API indexes this off-chain data and returns it alongside on-chain data in a single call.

> [!NOTE]
>
> Helius cannot detect off-chain data mutations. Off-chain data is only refreshed once the asset is seen again on-chain (for example, when it is modified). To request a re-index, contact Helius support.

## Best practices

> [card] Pagination
>
> Start at page 1 (not 0). Use limits of 100–1,000 and paginate for large datasets.

> [card] Error handling
>
> Check for errors on every response and retry with exponential backoff.

> [card] Performance
>
> Use batch methods when possible, cache responses, and avoid chaining calls when one will do.

> [card] Security
>
> Never expose your API key in client-side code. Proxy requests through a server and set CORS policies.

## Next steps

> [card] [Get Assets (NFTs)](https://www.helius.dev/docs/das/get-nfts.md)
>
> Retrieve and query NFTs and digital collectibles.

> [card] [DAS API reference](https://www.helius.dev/docs/api-reference/das.md)
>
> Full request and response schemas for every DAS method.

> [card] [DAS API FAQ](https://www.helius.dev/docs/faqs/das-api.md)
>
> Common questions about assets, price data, and usage.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.