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

# API взаимозаменяемых токенов Solana: полный доступ к данным токенов

> Запрашивайте данные обо всех токенах Solana через DAS API: токены SPL, расширения Token-2022, цены в USD и балансы с помощью getAsset, getAssetsByOwner и searchAssets.

## Обзор

Изначально DAS API поддерживал только запросы о владении NFT и cNFT Metaplex. Helius расширил DAS API, добавив поддержку **всех токенов**, включая обычные токены SPL (без метаданных) и Token-2022 (вместе с их расширениями).

Вы можете запрашивать балансы токенов **любого** аккаунта по **всем** токенам (SPL, Token-2022, NFT и сжатым NFT), включая цены токенов в USD. Токен Solana определяется его аккаунтом минта. Например, аккаунт минта USDC — [EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v](https://explorer.solana.com/address/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v). Когда вы покупаете USDC на сумму \$40, создается токен-аккаунт, в котором хранятся 40 токенов USDC. Кошелек может содержать сотни токен-аккаунтов для разных токенов.

Подробнее о Token-2022 читайте в [статье блога](https://www.helius.dev/blog/what-is-token-2022) Helius.

## Когда использовать

Используйте расширение взаимозаменяемых токенов, если вам нужно получить **единое представление** активов аккаунта — взаимозаменяемых токенов, NFT и сжатых NFT — одним вызовом DAS вместе с метаданными и ценами в USD. Это подходящий вариант для трекеров портфелей, кошельков и панелей мониторинга токенов.

Используйте стандартные методы RPC для токенов (`getTokenAccountBalance`, `getTokenAccountsByOwner`, `getTokenSupply`, `getTokenLargestAccounts`), если вам нужны только необработанные ончейн-значения — баланс отдельного аккаунта, общее предложение или крупнейшие держатели — без метаданных и цен. Подробнее см. в [руководстве по получению токенов SPL](/docs/ru/das/get-tokens).

## Как это работает

Расширение Helius для взаимозаменяемых токенов основано на индексировании владения. Следующие методы предоставляют единое представление активов аккаунта: [getAsset](/docs/ru/api-reference/das/getasset), [getAssetsByOwner](/docs/ru/api-reference/das/getassetsbyowner) и [searchAssets](/docs/ru/api-reference/das/searchassets).

Расширение добавляет дополнительное поле `tokenType`, которое позволяет запрашивать все принадлежащие аккаунту активы, включая взаимозаменяемые токены и токены Token-2022. Доступные значения `tokenType`:

* `fungible`: Возвращает все взаимозаменяемые токены.
* `nonFungible`: Возвращает все 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

Helius поддерживает токены Token-2022 и обрабатывает их расширения. Если токен использует программу Token-2022, ответ включает поле `mint_extensions`. В сокращенном элементе ниже показано поле `mint_extensions` для 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"
        }
    }
    // ...
}
```

## Обратная совместимость

Для обеспечения обратной совместимости при отсутствии `tokenType` поведение идентично исходному DAS: возвращаются только NFT и сжатые NFT.

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

## Следующие шаги

<CardGroup cols={3}>
  <Card title="Get SPL Tokens" icon="coins" href="/docs/ru/das/get-tokens">
    Балансы, предложение, держатели и токен-аккаунты.
  </Card>

  <Card title="Search Assets" icon="magnifying-glass" href="/docs/ru/das/search">
    Фильтрация по tokenType, владельцу и коллекции.
  </Card>

  <Card title="searchAssets reference" icon="code" href="/docs/ru/api-reference/das/searchassets">
    Полные схемы запроса и ответа.
  </Card>
</CardGroup>


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