> ## 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 Fungible Token API: Complete Token Data Access

> Query all Solana tokens with the DAS API: SPL tokens, Token-2022 extensions, USD price data, and balances through getAsset, getAssetsByOwner, and searchAssets.

## Overview

Initially, the DAS API only supported ownership queries against Metaplex NFTs and cNFTs. Helius has extended the DAS API to support **all tokens**, including plain SPL tokens (without metadata) and Token-2022 (plus their extensions).

You can query the token balances of **any** account across **all** tokens (SPL, Token-2022, NFTs, and compressed NFTs), with token prices in USD included. A Solana token is defined by its mint account. For example, the mint account for USDC is [EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v](https://explorer.solana.com/address/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v). When you buy \$40 of USDC, a token account is created that holds 40 USDC tokens. A wallet can hold hundreds of token accounts for different tokens.

To learn more about Token-2022, see the Helius [blog post](https://www.helius.dev/blog/what-is-token-2022).

## When to use this

Use the fungible token extension when you want a **unified view** of an account's assets — fungible tokens, NFTs, and compressed NFTs — in one DAS call, with metadata and USD prices. It is the right choice for portfolio trackers, wallets, and token dashboards.

Reach for the standard RPC token methods (`getTokenAccountBalance`, `getTokenAccountsByOwner`, `getTokenSupply`, `getTokenLargestAccounts`) when you only need raw on-chain values — a single account balance, total supply, or largest holders — without metadata or prices. See the [Get SPL Tokens guide](/das/get-tokens) for those.

## How it works

The Helius extension for fungible tokens revolves around ownership indexing. The following methods provide a unified view of an account's assets: [getAsset](/api-reference/das/getasset), [getAssetsByOwner](/api-reference/das/getassetsbyowner), and [searchAssets](/api-reference/das/searchassets).

The extension adds an extra field called `tokenType`, which lets you query against all assets the account owns, including fungible and Token-2022 tokens. The options for `tokenType` are:

* `fungible`: Returns all fungible tokens.
* `nonFungible`: Returns all NFTs (compressed and regular NFTs).
* `regularNft`: Returns only the regular NFTs.
* `compressedNft`: Returns only the compressed NFTs.
* `all`: Returns all tokens.

Example request:

```json theme={"system"}
{
    "jsonrpc": "2.0",
    "id": "helius-test",
    "method": "searchAssets",
    "params": {
        "ownerAddress": "5aZZ4duJUKiMsJN9vRsoAn4SDX7agvKu7Q3QdFWRfWze",
        "tokenType": "all"
    }
}
```

The response now includes fungible tokens like JitoSOL. Each item contains the total account balance, the token's program address, the associated token address, the total supply in circulation, and the price information. The trimmed item below shows the relevant fields:

```jsonc theme={"system"}
{
    "id": "J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn",
    "content": {
        "$schema": "",
        "json_uri": "",
        "metadata": {
            "description": "MEV-Powered Liquid Staking Derivative",
            "name": "Jito Staked SOL",
            "symbol": "JitoSOL",
            "token_standard": "Fungible"
        }
        // ...
    },
    "token_info": {
        "symbol": "JitoSOL",
        "balance": 35688813508,
        "supply": 5949594702758293,
        "decimals": 9,
        "token_program": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
        "associated_token_address": "H7iLu4DPFpzEx1AGN8BCN7Qg966YFndt781p6ukhgki9",
        "price_info": {
            "price_per_token": 56.47943,
            "total_price": 2015.6838854339217,
            "currency": "USDC"
        }
    }
    // ...
}
```

## Token-2022 support

Helius supports Token-2022 tokens and parses their extensions. The response includes the `mint_extensions` field if the token uses the Token-2022 program. The trimmed item below shows the `mint_extensions` field for BERN:

```jsonc theme={"system"}
{
    "mint_extensions": {
        "transfer_fee_config": {
            "withheld_amount": 0,
            "newer_transfer_fee": {
                "epoch": 457,
                "maximum_fee": 3906250000000000000,
                "transfer_fee_basis_points": 690
            },
            "older_transfer_fee": {
                "epoch": 455,
                "maximum_fee": 3906250000000000000,
                "transfer_fee_basis_points": 0
            },
            "withdraw_withheld_authority": "7MyTjmRygJoCuDBUtAuSugiYZFULD2SWaoUTmtjtRDzD",
            "transfer_fee_config_authority": "7MyTjmRygJoCuDBUtAuSugiYZFULD2SWaoUTmtjtRDzD"
        }
    }
    // ...
}
```

## Backwards compatibility

For backwards compatibility, the behavior is identical to the original DAS when `tokenType` is omitted: only NFTs and compressed NFTs are returned.

```json theme={"system"}
{
    "jsonrpc": "2.0",
    "id": "helius-test",
    "method": "searchAssets",
    "params": {
        "ownerAddress": "5aZZ4duJUKiMsJN9vRsoAn4SDX7agvKu7Q3QdFWRfWze"
    }
}
```

## Next steps

<CardGroup cols={3}>
  <Card title="Get SPL Tokens" icon="coins" href="/das/get-tokens">
    Balances, supply, holders, and token accounts.
  </Card>

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

  <Card title="searchAssets reference" icon="code" href="/api-reference/das/searchassets">
    Full request and response schemas.
  </Card>
</CardGroup>
