# searchAssets_v2

> For the complete documentation index, see [llms.txt](/docs/llms.txt).

POST https://solana-mainnet.g.alchemy.com/v2/{apiKey}

Search and filter Solana NFTs, compressed NFTs, and tokens using flexible criteria including ownership, creators, collections, and custom attributes. Both `ownerAddress` and `tokenType` are required. The `tree` parameter is Helius-specific and not part of the official DAS specification.


Reference: https://www.alchemy.com/docs/reference/alchemy-das-apis-for-solana-v2/solana-das-api-v2-endpoints/search-assets-v-2

## Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| ownerAddress | string | Yes | The base-58 wallet address to filter search results by owner. |
| tokenType | enum | Yes | Filter for specific token types. |
| page | integer | No | The page of results to return (1-based). |
| limit | integer | No | The maximum number of assets to return per page. |
| authorityAddress | string | No | Filter by program authority for assets controlled by a specific protocol or update authority. |
| creatorAddress | string | No | Filter by the creator wallet address. |
| creatorVerified | boolean | No | Filter by whether the creator is verified. |
| grouping | string[] | No | Collection grouping tuple `[groupKey, groupValue]` for filtering by collection membership. For example: `["collection", "<collectionKey>"]`.  |
| sortBy | object | No | Sorting configuration for ordering the returned assets. |
| compressed | boolean | No | Filter for compressed NFTs (cNFTs) that use state compression. |
| compressible | boolean | No | Filter for assets that are eligible for compression but have not yet been compressed. |
| delegate | integer | No | Delegate criteria for the asset search. |
| tree | string | No | Filter compressed NFTs by their merkle tree address. This parameter is Helius-specific and not part of the official DAS specification.  |
| supply | integer | No | Supply criteria for the asset search. |
| supplyMint | string | No | Supply mint criteria for the asset search. |
| frozen | boolean | No | Filter by whether an asset is frozen. |
| burnt | boolean | No | Filter by whether an asset is burnt. |
| isAgent | boolean | No | Filter for assets that have an Agent Identity (MPL Core `AgentIdentity` external plugin). |
| agentToken | string | No | Filter by base58 agent token mint address from the Agent Registry program. |
| assetSigner | string | No | Filter by base58 asset-signer PDA (MPL Core). |
| interface | enum | No | Filter by the token standard interface type. |
| royaltyTargetType | string | No | Royalty target type criteria. |
| royaltyTarget | integer | No | Royalty target criteria. |
| royaltyAmount | integer | No | Royalty amount criteria (basis points). |
| ownerType | integer | No | Ownership model criteria. |
| before | string | No | Cursor for paginating backwards through results. |
| after | string | No | Cursor for paginating forwards through results. |
| options | object | No | Advanced display options for the response. |

## Result

**searchAssets result** (object): The search result envelope containing matching assets and (optionally) native balance.

## Example

### Request

```json
{
  "jsonrpc": "2.0",
  "method": "searchAssets_v2",
  "params": [
    "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY",
    "all",
    10,
    1,
    {
      "showUnverifiedCollections": false,
      "showCollectionMetadata": false,
      "showGrandTotal": false,
      "showNativeBalance": false,
      "showZeroBalance": false
    }
  ],
  "id": 1
}
```

### Response

```json
{
  "jsonrpc": "2.0",
  "result": {
    "assets": {
      "last_indexed_slot": 365750752,
      "total": 80,
      "limit": 10,
      "page": 1,
      "items": [
        {
          "interface": "V1_NFT",
          "id": "JCfTS6dmJZY4NXhjMwHqayGGHUwxp59pzcYhZrYqMBce",
          "ownership": {
            "frozen": false,
            "delegated": true,
            "delegate": "GVKwqsEC5YQZX4hG7Fdy6m7cJUi4DA3ezYx1CC9wkj34",
            "ownership_model": "single",
            "owner": "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY"
          },
          "content": {
            "$schema": "https://schema.metaplex.com/nft1.0.json",
            "json_uri": "https://www.hi-hi.vip/json/5000wif.json",
            "metadata": {
              "name": "Sample NFT",
              "symbol": "NFT"
            }
          }
        }
      ]
    }
  },
  "id": 1
}
```

## Code Examples

### cURL

```bash
curl --request POST \
  --url https://solana-mainnet.g.alchemy.com/v2/docs-demo \
  --header 'Content-Type: application/json' \
  --data '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "searchAssets_v2",
  "params": [
    "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY",
    "all",
    10,
    1,
    "string",
    "string",
    false,
    [
      "string"
    ],
    {
      "sortBy": "created",
      "sortDirection": "asc"
    },
    false,
    false,
    1,
    "string",
    1,
    "string",
    false,
    false,
    false,
    "string",
    "string",
    "V1_NFT",
    "string",
    1,
    1,
    1,
    "string",
    "string",
    {
      "showUnverifiedCollections": false,
      "showCollectionMetadata": false,
      "showGrandTotal": false,
      "showNativeBalance": false,
      "showZeroBalance": false
    }
  ]
}'
```

### JavaScript

```javascript
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: JSON.stringify({
    jsonrpc: '2.0',
    id: 1,
    method: 'searchAssets_v2',
    params: [
      '86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY',
      'all',
      10,
      1,
      'string',
      'string',
      false,
      ['string'],
      {sortBy: 'created', sortDirection: 'asc'},
      false,
      false,
      1,
      'string',
      1,
      'string',
      false,
      false,
      false,
      'string',
      'string',
      'V1_NFT',
      'string',
      1,
      1,
      1,
      'string',
      'string',
      {
        showUnverifiedCollections: false,
        showCollectionMetadata: false,
        showGrandTotal: false,
        showNativeBalance: false,
        showZeroBalance: false
      }
    ]
  })
};

fetch('https://solana-mainnet.g.alchemy.com/v2/docs-demo', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
```

### Python

```python
import requests

url = "https://solana-mainnet.g.alchemy.com/v2/docs-demo"

payload = {
    "jsonrpc": "2.0",
    "id": 1,
    "method": "searchAssets_v2",
    "params": [
        "86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY",
        "all",
        10,
        1,
        "string",
        "string",
        False,
        ["string"],
        {
            "sortBy": "created",
            "sortDirection": "asc"
        },
        False,
        False,
        1,
        "string",
        1,
        "string",
        False,
        False,
        False,
        "string",
        "string",
        "V1_NFT",
        "string",
        1,
        1,
        1,
        "string",
        "string",
        {
            "showUnverifiedCollections": False,
            "showCollectionMetadata": False,
            "showGrandTotal": False,
            "showNativeBalance": False,
            "showZeroBalance": False
        }
    ]
}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
```

### Go

```go
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://solana-mainnet.g.alchemy.com/v2/docs-demo"

	payload := strings.NewReader("{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"searchAssets_v2\",\n  \"params\": [\n    \"86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY\",\n    \"all\",\n    10,\n    1,\n    \"string\",\n    \"string\",\n    false,\n    [\n      \"string\"\n    ],\n    {\n      \"sortBy\": \"created\",\n      \"sortDirection\": \"asc\"\n    },\n    false,\n    false,\n    1,\n    \"string\",\n    1,\n    \"string\",\n    false,\n    false,\n    false,\n    \"string\",\n    \"string\",\n    \"V1_NFT\",\n    \"string\",\n    1,\n    1,\n    1,\n    \"string\",\n    \"string\",\n    {\n      \"showUnverifiedCollections\": false,\n      \"showCollectionMetadata\": false,\n      \"showGrandTotal\": false,\n      \"showNativeBalance\": false,\n      \"showZeroBalance\": false\n    }\n  ]\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
```

### Java

```java
HttpResponse<String> response = Unirest.post("https://solana-mainnet.g.alchemy.com/v2/docs-demo")
  .header("Content-Type", "application/json")
  .body("{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"searchAssets_v2\",\n  \"params\": [\n    \"86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY\",\n    \"all\",\n    10,\n    1,\n    \"string\",\n    \"string\",\n    false,\n    [\n      \"string\"\n    ],\n    {\n      \"sortBy\": \"created\",\n      \"sortDirection\": \"asc\"\n    },\n    false,\n    false,\n    1,\n    \"string\",\n    1,\n    \"string\",\n    false,\n    false,\n    false,\n    \"string\",\n    \"string\",\n    \"V1_NFT\",\n    \"string\",\n    1,\n    1,\n    1,\n    \"string\",\n    \"string\",\n    {\n      \"showUnverifiedCollections\": false,\n      \"showCollectionMetadata\": false,\n      \"showGrandTotal\": false,\n      \"showNativeBalance\": false,\n      \"showZeroBalance\": false\n    }\n  ]\n}")
  .asString();
```

### C#

```csharp
using RestSharp;


var options = new RestClientOptions("https://solana-mainnet.g.alchemy.com/v2/docs-demo");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddJsonBody("{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"method\": \"searchAssets_v2\",\n  \"params\": [\n    \"86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY\",\n    \"all\",\n    10,\n    1,\n    \"string\",\n    \"string\",\n    false,\n    [\n      \"string\"\n    ],\n    {\n      \"sortBy\": \"created\",\n      \"sortDirection\": \"asc\"\n    },\n    false,\n    false,\n    1,\n    \"string\",\n    1,\n    \"string\",\n    false,\n    false,\n    false,\n    \"string\",\n    \"string\",\n    \"V1_NFT\",\n    \"string\",\n    1,\n    1,\n    1,\n    \"string\",\n    \"string\",\n    {\n      \"showUnverifiedCollections\": false,\n      \"showCollectionMetadata\": false,\n      \"showGrandTotal\": false,\n      \"showNativeBalance\": false,\n      \"showZeroBalance\": false\n    }\n  ]\n}", false);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);

```


## OpenRPC Method Specification

```yaml
name: searchAssets_v2
description: |
  Search and filter Solana NFTs, compressed NFTs, and tokens using flexible criteria including ownership, creators, collections, and custom attributes. Both `ownerAddress` and `tokenType` are required. The `tree` parameter is Helius-specific and not part of the official DAS specification.
x-compute-units: 480
x-rate-limit-cus: 200
paramStructure: by-name
params:
  - name: ownerAddress
    required: true
    description: The base-58 wallet address to filter search results by owner.
    schema:
      type: string
  - name: tokenType
    required: true
    description: Filter for specific token types.
    schema:
      type: string
      enum:
        - fungible
        - nonFungible
        - regularNft
        - compressedNft
        - all
  - name: page
    required: false
    description: The page of results to return (1-based).
    schema:
      type: integer
  - name: limit
    required: false
    description: The maximum number of assets to return per page.
    schema:
      type: integer
  - name: authorityAddress
    required: false
    description: Filter by program authority for assets controlled by a specific protocol or update authority.
    schema:
      type: string
  - name: creatorAddress
    required: false
    description: Filter by the creator wallet address.
    schema:
      type: string
  - name: creatorVerified
    required: false
    description: Filter by whether the creator is verified.
    schema:
      type: boolean
  - name: grouping
    required: false
    description: |
      Collection grouping tuple `[groupKey, groupValue]` for filtering by collection membership. For example: `["collection", "<collectionKey>"]`.
    schema:
      type: array
      items:
        type: string
  - name: sortBy
    required: false
    description: Sorting configuration for ordering the returned assets.
    schema:
      title: Sort criteria
      type: object
      description: Sorting configuration for ordering the returned assets.
      properties:
        sortBy:
          type: string
          description: The criteria by which the retrieved assets will be sorted.
          enum:
            - created
            - recent_action
            - updated
            - none
        sortDirection:
          type: string
          description: The direction by which the retrieved assets will be sorted.
          enum:
            - asc
            - desc
  - name: compressed
    required: false
    description: Filter for compressed NFTs (cNFTs) that use state compression.
    schema:
      type: boolean
  - name: compressible
    required: false
    description: Filter for assets that are eligible for compression but have not yet been compressed.
    schema:
      type: boolean
  - name: delegate
    required: false
    description: Delegate criteria for the asset search.
    schema:
      type: integer
  - name: tree
    required: false
    description: |
      Filter compressed NFTs by their merkle tree address. This parameter is Helius-specific and not part of the official DAS specification.
    schema:
      type: string
  - name: supply
    required: false
    description: Supply criteria for the asset search.
    schema:
      type: integer
  - name: supplyMint
    required: false
    description: Supply mint criteria for the asset search.
    schema:
      type: string
  - name: frozen
    required: false
    description: Filter by whether an asset is frozen.
    schema:
      type: boolean
  - name: burnt
    required: false
    description: Filter by whether an asset is burnt.
    schema:
      type: boolean
  - name: isAgent
    required: false
    description: Filter for assets that have an Agent Identity (MPL Core `AgentIdentity` external plugin).
    schema:
      type: boolean
  - name: agentToken
    required: false
    description: Filter by base58 agent token mint address from the Agent Registry program.
    schema:
      type: string
  - name: assetSigner
    required: false
    description: Filter by base58 asset-signer PDA (MPL Core).
    schema:
      type: string
  - name: interface
    required: false
    description: Filter by the token standard interface type.
    schema:
      title: Asset interface
      type: string
      description: |
        The interface type of the Solana digital asset, indicating its token standard and implementation. v2 adds MPL Core interfaces (`MplCoreAsset`, `MplCoreCollection`, `MplCoreGroup`) and `MplBubblegumV2` for the newer Bubblegum V2 compressed-NFT program.
      enum:
        - V1_NFT
        - V1_PRINT
        - LEGACY_NFT
        - V2_NFT
        - FungibleAsset
        - FungibleToken
        - Custom
        - Identity
        - Executable
        - ProgrammableNFT
        - MplCoreAsset
        - MplBubblegumV2
        - MplCoreCollection
        - MplCoreGroup
  - name: royaltyTargetType
    required: false
    description: Royalty target type criteria.
    schema:
      type: string
  - name: royaltyTarget
    required: false
    description: Royalty target criteria.
    schema:
      type: integer
  - name: royaltyAmount
    required: false
    description: Royalty amount criteria (basis points).
    schema:
      type: integer
  - name: ownerType
    required: false
    description: Ownership model criteria.
    schema:
      type: integer
  - name: before
    required: false
    description: Cursor for paginating backwards through results.
    schema:
      type: string
  - name: after
    required: false
    description: Cursor for paginating forwards through results.
    schema:
      type: string
  - name: options
    required: false
    description: Advanced display options for the response.
    schema:
      title: searchAssets options
      type: object
      description: Advanced display options for the `searchAssets` response.
      properties:
        showUnverifiedCollections:
          type: boolean
          description: Show unverified collections instead of skipping them.
          default: false
        showCollectionMetadata:
          type: boolean
          description: Show metadata for the collection.
          default: false
        showGrandTotal:
          type: boolean
          description: Show total number of matching assets (slower request).
          default: false
        showNativeBalance:
          type: boolean
          description: Show the native SOL balance of the owner.
          default: false
        showZeroBalance:
          type: boolean
          description: Display assets with zero balance.
          default: false
examples:
  - name: searchAssets_v2 example
    params:
      - name: ownerAddress
        value: 86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY
      - name: tokenType
        value: all
      - name: limit
        value: 10
      - name: page
        value: 1
      - name: options
        value:
          showUnverifiedCollections: false
          showCollectionMetadata: false
          showGrandTotal: false
          showNativeBalance: false
          showZeroBalance: false
    result:
      name: searchAssets result
      value:
        assets:
          last_indexed_slot: 365750752
          total: 80
          limit: 10
          page: 1
          items:
            - interface: V1_NFT
              id: JCfTS6dmJZY4NXhjMwHqayGGHUwxp59pzcYhZrYqMBce
              ownership:
                frozen: false
                delegated: true
                delegate: GVKwqsEC5YQZX4hG7Fdy6m7cJUi4DA3ezYx1CC9wkj34
                ownership_model: single
                owner: 86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY
              content:
                $schema: https://schema.metaplex.com/nft1.0.json
                json_uri: https://www.hi-hi.vip/json/5000wif.json
                metadata:
                  name: Sample NFT
                  symbol: NFT
result:
  name: searchAssets result
  description: The search result envelope containing matching assets and (optionally) native balance.
  schema:
    title: searchAssets result
    type: object
    description: |
      The result envelope for `searchAssets`. The `assets` field holds a paginated page of matching assets; `nativeBalance` is present only when `options.showNativeBalance` was set.
    properties:
      assets:
        title: Asset page
        type: object
        description: |
          A paginated page of assets. Returned by list-style methods: `getAssetsByAuthority`, `getAssetsByCreator`, `getAssetsByGroup`, `getAssetsByOwner`.
        properties:
          last_indexed_slot:
            type: integer
            description: All on-chain data up to and including this slot is guaranteed to have been indexed.
          total:
            type: integer
            description: The total number of assets found.
          limit:
            type: integer
            description: The maximum number of assets requested.
          page:
            type: integer
            description: The current page of results.
          items:
            type: array
            items:
              title: Asset
              type: object
              description: A DAS v2 digital asset entry.
              properties:
                last_indexed_slot:
                  type: integer
                  description: All on-chain data up to and including this slot is guaranteed to have been indexed.
                interface:
                  title: Asset interface
                  type: string
                  description: |
                    The interface type of the Solana digital asset, indicating its token standard and implementation. v2 adds MPL Core interfaces (`MplCoreAsset`, `MplCoreCollection`, `MplCoreGroup`) and `MplBubblegumV2` for the newer Bubblegum V2 compressed-NFT program.
                  enum:
                    - V1_NFT
                    - V1_PRINT
                    - LEGACY_NFT
                    - V2_NFT
                    - FungibleAsset
                    - FungibleToken
                    - Custom
                    - Identity
                    - Executable
                    - ProgrammableNFT
                    - MplCoreAsset
                    - MplBubblegumV2
                    - MplCoreCollection
                    - MplCoreGroup
                is_agent:
                  type: boolean
                  description: |
                    Whether this asset has an Agent Identity. Only true for MPL Core assets that use the AgentIdentity external plugin adapter. Defaults to false and is omitted from the response when false.
                agent_token:
                  type: string
                  description: Base58-encoded mint address of the agent token from the Agent Registry program. Omitted when the asset has no corresponding registry entry.
                asset_signer:
                  type: string
                  description: Base58-encoded PDA used for signing on behalf of the asset. Omitted when not applicable.
                id:
                  type: string
                  description: The unique identifier of the asset.
                content:
                  title: Asset content
                  type: object
                  description: Content and off-chain metadata for the asset.
                  properties:
                    $schema:
                      type: string
                      description: The schema URL for the asset metadata.
                    json_uri:
                      type: string
                      description: URI pointing to the JSON metadata, typically hosted on Arweave or other decentralized storage.
                    files:
                      type: array
                      description: Files associated with the asset (images, videos, etc.).
                      items:
                        type: object
                        properties:
                          uri:
                            type: string
                          cdn_uri:
                            type: string
                          mime:
                            type: string
                    metadata:
                      type: object
                      description: Complete metadata for the asset.
                      properties:
                        name:
                          type: string
                        symbol:
                          type: string
                        description:
                          type: string
                        token_standard:
                          type: string
                        attributes:
                          type: array
                          items:
                            type: object
                            properties:
                              trait_type:
                                type: string
                              value:
                                type: string
                    links:
                      type: object
                      description: External links related to the asset.
                authorities:
                  type: array
                  items:
                    title: Asset authority
                    type: object
                    description: An update-authority entry for the asset.
                    properties:
                      address:
                        type: string
                        description: The authority's address.
                      scopes:
                        type: array
                        description: The scopes of authority.
                        items:
                          type: string
                compression:
                  title: Asset compression
                  type: object
                  description: State-compression details for the asset.
                  properties:
                    eligible:
                      type: boolean
                      description: Whether the asset is eligible for compression.
                    compressed:
                      type: boolean
                      description: Whether the asset is currently compressed using Solana's state compression.
                    data_hash:
                      type: string
                      description: Hash of the asset data.
                    creator_hash:
                      type: string
                      description: Hash of the creator data.
                    asset_hash:
                      type: string
                      description: Hash of the entire asset.
                    tree:
                      type: string
                      description: Merkle tree address.
                    seq:
                      type: integer
                      description: Sequence number.
                    leaf_id:
                      type: integer
                      description: Leaf identifier in the merkle tree.
                grouping:
                  type: array
                  items:
                    title: Asset grouping
                    type: object
                    description: A grouping entry (for example, a collection membership).
                    properties:
                      group_key:
                        type: string
                        description: The key identifying the group (e.g., `collection`).
                      group_value:
                        type: string
                        description: The value associated with the group.
                royalty:
                  title: Asset royalty
                  type: object
                  description: Royalty configuration for marketplace sales.
                  properties:
                    royalty_model:
                      type: string
                      description: The model used for royalties.
                    target:
                      oneOf:
                        - type: string
                        - type: 'null'
                      description: The target address for royalties (nullable).
                    percent:
                      type: number
                      description: Royalty percentage.
                    basis_points:
                      type: integer
                      description: Royalty basis points.
                    primary_sale_happened:
                      type: boolean
                      description: Whether the primary sale has occurred.
                    locked:
                      type: boolean
                      description: Whether the royalty is locked.
                creators:
                  type: array
                  items:
                    title: Asset creator
                    type: object
                    description: A creator entry for the asset.
                    properties:
                      address:
                        type: string
                        description: The creator's address.
                      share:
                        type: integer
                        description: The creator's share percentage.
                      verified:
                        type: boolean
                        description: Whether the creator is verified.
                ownership:
                  title: Asset ownership
                  type: object
                  description: Current ownership details for the asset.
                  required:
                    - frozen
                    - delegated
                    - ownership_model
                    - owner
                  properties:
                    frozen:
                      type: boolean
                      description: Whether the asset is frozen.
                    delegated:
                      type: boolean
                      description: Whether the asset is delegated.
                    delegate:
                      oneOf:
                        - type: string
                        - type: 'null'
                      description: The delegate's address if delegated (nullable).
                    ownership_model:
                      type: string
                      description: The model of ownership.
                    owner:
                      type: string
                      description: The owner's address.
                supply:
                  oneOf:
                    - title: Asset supply
                      type: object
                      description: Supply information for editioned assets.
                      properties:
                        print_max_supply:
                          type: integer
                          description: Maximum supply that can be printed.
                        print_current_supply:
                          type: integer
                          description: Current printed supply.
                        edition_nonce:
                          type: integer
                          description: Edition nonce.
                    - type: 'null'
                mutable:
                  type: boolean
                  description: Whether the asset is mutable.
                burnt:
                  type: boolean
                  description: Whether the asset has been burnt.
                token_info:
                  title: Token info
                  type: object
                  description: Token-specific information, including cached price data for the top 10k tokens by 24h volume.
                  properties:
                    supply:
                      type: integer
                      description: Total token supply.
                    decimals:
                      type: integer
                      description: Number of decimals.
                    token_program:
                      type: string
                      description: Token program ID.
                    mint_authority:
                      type: string
                      description: Mint authority address.
                    freeze_authority:
                      type: string
                      description: Freeze authority address.
                    symbol:
                      type: string
                      description: The symbol of the token.
                    price_info:
                      type: object
                      description: Cached price information for the token (up to 600 seconds old).
                      properties:
                        price_per_token:
                          type: number
                          description: The price per individual token.
                        currency:
                          type: string
                          description: The currency in which the token's price is denoted.
                plugins:
                  title: MPL Core plugins
                  type: object
                  description: MPL Core plugin payload. May include a `groups` plugin (MIP-11) on assets and collections.
                  additionalProperties: true
                  properties:
                    groups:
                      type: object
                      description: MIP-11 Groups plugin with membership metadata.
                      properties:
                        authority:
                          type: object
                          description: Plugin authority (for example, `UpdateAuthority`).
                          additionalProperties: true
                        data:
                          type: object
                          properties:
                            groups:
                              type: array
                              description: Group memberships for this asset or collection.
                              items:
                                type: object
                                properties:
                                  group_address:
                                    type: string
                                    description: Base58 address of the MPL Core group account.
                                  member_number:
                                    type: integer
                                    description: Member number within the group.
      nativeBalance:
        type: object
        description: The native SOL balance of the queried wallet in lamports and USD value.
        properties:
          lamports:
            type: integer
            description: The number of lamports in the account.
          price_per_sol:
            type: number
            description: The current price of SOL.
          total_price:
            type: number
            description: The total SOL value in this account.
```
