> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orbitflare.com/llms.txt
> Use this file to discover all available pages before exploring further.

# DAS API

> Query Solana NFTs, compressed NFTs, MPL Core assets and SPL tokens through one Digital Asset Standard (DAS) JSON-RPC interface on OrbitFlare.

## Overview

The Digital Asset Standard (DAS) API is a unified interface for reading Solana assets. One set of JSON-RPC methods covers every asset type, so you do not need to decode Token Metadata accounts, replay Bubblegum transactions or merge token accounts yourself.

The DAS API indexes:

* **NFTs and programmable NFTs** (Metaplex Token Metadata)
* **Compressed NFTs** (Bubblegum v1 and v2), including Merkle proofs
* **MPL Core** assets and collections
* **Fungible tokens** (SPL Token and Token-2022), with USD prices where available
* **Printable editions** of master edition NFTs
* **Token-2022 extensions** and token inscriptions

## Endpoint

DAS methods are served on the same endpoint as standard Solana RPC. Send them to your OrbitFlare RPC URL with your API key:

```bash theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
curl https://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY -X POST -H "Content-Type: application/json" -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getAsset",
  "params": {
    "id": "F9Lw3ki3hJ7PF9HQXsBzoY8GyE6sPoEZZdXJBsTTD2rk"
  }
}'
```

DAS methods take their parameters as a named object (`"params": { ... }`), not as a positional array.

<Note>
  See [Authentication](/authentication) for how to create an API key and pass it in requests.
</Note>

## Methods

### Assets

<CardGroup cols={2}>
  <Card title="getAsset" icon="image" href="/das-api/methods/getAsset">
    Get one asset by its ID.
  </Card>

  <Card title="getAssetBatch" icon="images" href="/das-api/methods/getAssetBatch">
    Get up to 1,000 assets by their IDs in one call.
  </Card>

  <Card title="getAssetsByOwner" icon="wallet" href="/das-api/methods/getAssetsByOwner">
    List the assets a wallet owns.
  </Card>

  <Card title="getAssetsByGroup" icon="layer-group" href="/das-api/methods/getAssetsByGroup">
    List the assets in a collection.
  </Card>

  <Card title="getAssetsByCreator" icon="paintbrush" href="/das-api/methods/getAssetsByCreator">
    List the assets created by an address.
  </Card>

  <Card title="getAssetsByAuthority" icon="key" href="/das-api/methods/getAssetsByAuthority">
    List the assets controlled by an update authority.
  </Card>

  <Card title="searchAssets" icon="magnifying-glass" href="/das-api/methods/searchAssets">
    Search assets by owner, creator, collection, interface and more.
  </Card>
</CardGroup>

### Compressed NFTs

<CardGroup cols={2}>
  <Card title="getAssetProof" icon="tree" href="/das-api/methods/getAssetProof">
    Get the Merkle proof for a compressed asset.
  </Card>

  <Card title="getAssetProofBatch" icon="sitemap" href="/das-api/methods/getAssetProofBatch">
    Get Merkle proofs for many compressed assets.
  </Card>

  <Card title="getAssetWithProof" icon="link" href="/das-api/methods/getAssetWithProof">
    Get a compressed asset and its proof in one call.
  </Card>

  <Card title="getSignaturesForAsset" icon="signature" href="/das-api/methods/getSignaturesForAsset">
    List the transactions that touched a compressed asset.
  </Card>
</CardGroup>

### Tokens and editions

<CardGroup cols={2}>
  <Card title="getTokenAccounts" icon="coins" href="/das-api/methods/getTokenAccounts">
    List token accounts by owner or by mint.
  </Card>

  <Card title="getNftEditions" icon="clone" href="/das-api/methods/getNftEditions">
    List the printed editions of a master edition NFT.
  </Card>
</CardGroup>

## Compatibility

The DAS API uses the standard DAS method names, parameters and response shapes. If you already use a DAS API from another provider, point your client at your OrbitFlare endpoint and keep the rest of your code.

* Batch methods answer to both names: `getAssetBatch` and `getAssets`, `getAssetProofBatch` and `getAssetProofs`.
* `getSignaturesForAsset` is also available as `getAssetSignatures`.
* Most methods also accept a snake\_case name, such as `get_asset` or `get_assets_by_owner`. The exceptions are `getAssetsByAuthority` and `getSignaturesForAsset`.
* `getTokenAccounts` and `getNftEditions` accept `owner` and `mint` as well as `ownerAddress` and `mintAddress`.
* Display options can be sent as `options` or `displayOptions`.

<Info>
  `requireFullIndex: true` is not supported yet. Requests that set it are rejected with `-32602` rather than answered without the guarantee. See [Display options](/das-api/display-options).
</Info>

## Responses

* Single-asset methods return an [asset object](/das-api/asset-object).
* List methods return a page of asset objects with `total`, `limit`, a page or cursor marker, and `last_indexed_slot`. See [Pagination](/das-api/pagination).
* `last_indexed_slot` is the most recent slot the index has processed. Use it to judge how fresh a response is.

## Errors

| Code | Meaning | Example message |
| - | - | - |
| -32602 | Invalid parameters | `Pubkey Validation Err: notakey is invalid` |
| -32602 | Limit or batch too large | `Pagination Error. Limit should not be greater than 1000.` |
| -32602 | Conflicting pagination | `Pagination Error. Only one pagination parameter supported per query.` |
| -32602 | Unknown parameter | ``unknown field `foo` `` |
| -32601 | Unknown method | `Method not found` |
| -32000 | Asset does not exist | `Database Error: RecordNotFound Error: Asset Not Found` |
| -32000 | Server error | Retry with exponential backoff |

## Next steps

<CardGroup cols={2}>
  <Card title="Asset object" icon="cube" href="/das-api/asset-object">
    Every field an asset response can contain.
  </Card>

  <Card title="Pagination" icon="arrow-right-arrow-left" href="/das-api/pagination">
    Page through large result sets with pages, cursors or ranges.
  </Card>
</CardGroup>


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