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

<CardGroup cols={2}>
  <Card title="All asset types, one API" icon="gem">
    NFTs, compressed NFTs, and fungible tokens (SPL and Token-2022) through a single interface.
  </Card>

  <Card title="Complete metadata" icon="database">
    On-chain and off-chain data (Arweave, IPFS) indexed and returned together in one call.
  </Card>

  <Card title="Price data included" icon="coins">
    USD price information for verified tokens, returned alongside balances.
  </Card>

  <Card title="Search and filtering" icon="magnifying-glass">
    Query by owner, collection, creator, authority, or rich attribute filters.
  </Card>
</CardGroup>

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

<CardGroup cols={2}>
  <Card title="getAsset" icon="gem" href="/api-reference/das/getasset">
    Full data for one asset by its ID.
  </Card>

  <Card title="getAssetBatch" icon="layer-group" href="/api-reference/das/getassetbatch">
    Up to 1,000 assets in a single request.
  </Card>
</CardGroup>

### Assets by owner, collection, or creator

<CardGroup cols={2}>
  <Card title="getAssetsByOwner" icon="wallet" href="/api-reference/das/getassetsbyowner">
    All assets held by a wallet, with metadata and balances.
  </Card>

  <Card title="getAssetsByGroup" icon="layer-group" href="/api-reference/das/getassetsbygroup">
    All assets in a collection (group key `collection`).
  </Card>

  <Card title="getAssetsByCreator" icon="user" href="/api-reference/das/getassetsbycreator">
    All assets minted by a specific creator.
  </Card>

  <Card title="getAssetsByAuthority" icon="address-card" href="/api-reference/das/getassetsbyauthority">
    All assets controlled by a given authority.
  </Card>
</CardGroup>

### Search

<CardGroup cols={2}>
  <Card title="searchAssets" icon="magnifying-glass" href="/api-reference/das/searchassets">
    Flexible filtering by owner, collection, `tokenType`, and attributes.
  </Card>
</CardGroup>

### Compressed assets and proofs

<CardGroup cols={2}>
  <Card title="getAssetProof" icon="shield-check" href="/api-reference/das/getassetproof">
    Merkle proof for a compressed asset, required for on-chain operations.
  </Card>

  <Card title="getAssetProofBatch" icon="shield-check" href="/api-reference/das/getassetproofbatch">
    Merkle proofs for multiple compressed assets at once.
  </Card>

  <Card title="getSignaturesForAsset" icon="clock-rotate-left" href="/api-reference/das/getsignaturesforasset">
    Transaction signature history for an asset.
  </Card>

  <Card title="getNftEditions" icon="image" href="/api-reference/das/getnfteditions">
    All editions printed from a master NFT.
  </Card>
</CardGroup>

### Token accounts

<CardGroup cols={2}>
  <Card title="getTokenAccounts" icon="coins" href="/api-reference/das/gettokenaccounts">
    Token accounts by mint or owner, with balances.
  </Card>
</CardGroup>

## Get started

<CardGroup cols={2}>
  <Card title="Get Assets (NFTs)" icon="image" href="/das/get-nfts">
    Fetch NFTs and digital collectibles: single asset, by owner, collections, proofs, and editions.
  </Card>

  <Card title="Get SPL Tokens" icon="coins" href="/das/get-tokens">
    Query fungible tokens: balances, supply, holders, and token accounts.
  </Card>

  <Card title="Search Assets" icon="magnifying-glass" href="/das/search">
    Filter assets by owner, collection, token type, and attributes.
  </Card>

  <Card title="Pagination" icon="list" href="/das/pagination">
    Page-based and keyset pagination for large result sets.
  </Card>
</CardGroup>

## 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](/das/get-tokens) and the [fungible token extension](/das/fungible-token-extension).

### 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](/das/get-nfts) 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.
</Note>

## Best practices

<CardGroup cols={2}>
  <Card title="Pagination" icon="list">
    Start at page 1 (not 0). Use limits of 100–1,000 and paginate for large datasets.
  </Card>

  <Card title="Error handling" icon="shield-check">
    Check for errors on every response and retry with exponential backoff.
  </Card>

  <Card title="Performance" icon="bolt">
    Use batch methods when possible, cache responses, and avoid chaining calls when one will do.
  </Card>

  <Card title="Security" icon="lock">
    Never expose your API key in client-side code. Proxy requests through a server and set CORS policies.
  </Card>
</CardGroup>

## Next steps

<CardGroup cols={3}>
  <Card title="Get Assets (NFTs)" icon="image" href="/das/get-nfts">
    Retrieve and query NFTs and digital collectibles.
  </Card>

  <Card title="DAS API reference" icon="code" href="/api-reference/das">
    Full request and response schemas for every DAS method.
  </Card>

  <Card title="DAS API FAQ" icon="book" href="/faqs/das-api">
    Common questions about assets, price data, and usage.
  </Card>
</CardGroup>
