Understand the Solana Digital Asset Standard API

Choose asset, proof, owner and search queries without confusing DAS with standard Solana RPC.

A separate indexed API

The Digital Asset Standard API presents an indexed view of Solana assets, including compressed assets. Its method names are not standard Solana validator RPC methods. A provider must implement the corresponding asset index. Learning the interface here does not establish that a Supanode endpoint offers DAS; verify the actual product before writing client code.

Look up one asset

getAsset reads the indexed description of one asset identifier. It is useful when an application already knows the mint or asset ID and needs ownership, grouping and metadata fields. Treat external metadata URLs as untrusted content and tolerate missing or delayed off-chain metadata.

{"jsonrpc":"2.0","id":1,"method":"getAsset","params":{"id":"ASSET_ID"}}

Fetch a compressed-asset proof

getAssetProof supplies proof material for a compressed asset. The proof is tied to a Merkle-tree state and must be used with the correct asset and tree. A proof obtained long before a state-changing operation may no longer be suitable. Follow the compressed-asset program's requirements rather than treating the proof as a permanent ownership certificate.

{"jsonrpc":"2.0","id":2,"method":"getAssetProof","params":{"id":"COMPRESSED_ASSET_ID"}}

List by owner or grouping

getAssetsByOwner asks for assets held by an owner. getAssetsByGroup selects an indexed grouping such as a collection. The grouping describes indexed asset metadata; it does not replace verification of the collection semantics required by your application.

{"jsonrpc":"2.0","id":3,"method":"getAssetsByOwner","params":{"ownerAddress":"WALLET","page":1,"limit":100}}
{"jsonrpc":"2.0","id":4,"method":"getAssetsByGroup","params":{"groupKey":"collection","groupValue":"COLLECTION_ID","page":1,"limit":100}}

Inspect token accounts and search criteria

getTokenAccounts exposes indexed token-account records for supported queries. It differs from Solana's similarly named getTokenAccountsByOwner. searchAssets combines supported criteria such as ownership and grouping; its exact filter set belongs to the DAS implementation.

{"jsonrpc":"2.0","id":5,"method":"getTokenAccounts","params":{"owner":"WALLET","page":1,"limit":100}}
{"jsonrpc":"2.0","id":6,"method":"searchAssets","params":{"ownerAddress":"WALLET","page":1,"limit":100}}

Page and reconcile an asset inventory

  1. Check the provider's documented pagination scheme and limits. A page number is not a universal stable snapshot cursor.
  2. Persist asset IDs and deduplicate repeated pages. Ownership may change while the scan runs.
  3. For a settlement decision, corroborate the required on-chain state and commitment rather than trusting UI metadata.
  4. Budget indexing lag, external metadata failures and per-method usage weights in the application.

Keep API and service scope separate

The examples are request-shape templates requiring a DAS-capable endpoint and real identifiers. They do not contain a live Supanode DAS endpoint. Standard Solana RPC remains appropriate for direct account state and token-account queries. Supanode's documented historical DEX SQL datasets answer another class of question and should not be presented as interchangeable with an NFT asset index.

Sources

Continue reading