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

> "DAS API를 사용하여 모든 Solana 토큰: SPL 토큰, Token-2022 확장, USD 가격 데이터, 및 getAsset, getAssetsByOwner, searchAssets를 통해 잔액을 쿼리하세요."

## 개요

초기에 DAS API는 Metaplex NFT 및 cNFT에 대한 소유 쿼리만 지원했습니다. Helius는 DAS API를 **모든 토큰**을 지원하도록 확장하여 메타데이터가 없는 일반 SPL 토큰과 Token-2022 (그리고 그 확장자 포함)를 포함합니다.

**모든** 계정의 **모든** 토큰(SPL, Token-2022, NFT 및 압축 NFT)에 대한 토큰 잔액을 쿼리할 수 있으며 USD로 된 토큰 가격도 포함됩니다. Solana 토큰은 민트 계정으로 정의됩니다. 예를 들어, USDC의 민트 계정은 [EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v](https://explorer.solana.com/address/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v)입니다. \$40의 USDC를 구입하면 40 USDC 토큰을 보유한 토큰 계정이 생성됩니다. 지갑은 서로 다른 토큰에 대해 수백 개의 토큰 계정을 보유할 수 있습니다.

Token-2022에 대한 자세한 내용은 Helius [블로그 게시물](https://www.helius.dev/blog/what-is-token-2022)을 참조하세요.

## 사용 시기

펀저블 토큰 확장을 사용하여 하나의 DAS 호출로 계정의 자산 — 펀저블 토큰, NFT 및 압축 NFT — 에 대한 **통합 보기**를 원할 때 사용하세요. 메타데이터 및 USD 가격과 함께 포트폴리오 추적기, 지갑 및 토큰 대시보드에 적합합니다.

메타데이터나 가격 없이 원시 체인 값만 필요할 때는 표준 RPC 토큰 메소드를 사용하세요 (`getTokenAccountBalance`, `getTokenAccountsByOwner`, `getTokenSupply`, `getTokenLargestAccounts`). 그런 경우 [Get SPL Tokens 안내서](/docs/ko/das/get-tokens)를 참조하세요.

## 작동 방식

헬리우스의 펀저블 토큰 확장은 소유권 인덱싱을 중심으로 이루어집니다. 다음 메소드는 계정의 자산에 대한 통합 보기를 제공합니다: [getAsset](/docs/ko/api-reference/das/getasset), [getAssetsByOwner](/docs/ko/api-reference/das/getassetsbyowner), 및 [searchAssets](/docs/ko/api-reference/das/searchassets).

확장자는 계정이 소유한 모든 자산에 대해 쿼리할 수 있는 `tokenType`라는 추가 필드를 제공합니다. `tokenType`의 옵션은 다음과 같습니다:

* `fungible`: 모든 펀저블 토큰을 반환합니다.
* `nonFungible`: 모든 NFT(압축 및 일반 NFT)를 반환합니다.
* `regularNft`: 일반 NFT만 반환합니다.
* `compressedNft`: 압축 NFT만 반환합니다.
* `all`: 모든 토큰을 반환합니다.

예제 요청:

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

응답에는 JitoSOL과 같은 펀저블 토큰이 포함됩니다. 각 항목에는 총 계정 잔액, 토큰의 프로그램 주소, 관련 토큰 주소, 유통 중인 총 공급량, 가격 정보가 포함됩니다. 아래의 수정된 항목은 관련 필드들을 보여줍니다:

```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 지원

헬리우스는 Token-2022 토큰을 지원하고 그 확장을 파싱합니다. 응답에는 토큰이 Token-2022 프로그램을 사용하는 경우 `mint_extensions` 필드가 포함됩니다. 아래의 수정된 항목은 BERN에 대한 `mint_extensions` 필드를 보여줍니다:

```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"
        }
    }
    // ...
}
```

## 역호환성

역호환성을 위해 `tokenType`가 생략된 경우 원래 DAS와 동일한 동작을 하며 NFT 및 압축 NFT만 반환됩니다.

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

## 다음 단계

<CardGroup cols={3}>
  <Card title="SPL 토큰 가져오기" icon="coins" href="/docs/ko/das/get-tokens">
    잔액, 공급량, 보유자 및 토큰 계정.
  </Card>

  <Card title="자산 검색" icon="magnifying-glass" href="/docs/ko/das/search">
    tokenType, 소유자, 컬렉션으로 필터링.
  </Card>

  <Card title="searchAssets 참조" icon="code" href="/docs/ko/api-reference/das/searchassets">
    전체 요청 및 응답 스키마.
  </Card>
</CardGroup>
