The DAS API
A Digital Asset Standard (DAS) API expõe metadados ricos de ativos para tokens, NFTs e cNFTs comprimidos via endpoints RPC com DAS habilitado.
Busque em todas as páginas da documentação
A Digital Asset Standard (DAS) API expõe metadados ricos de ativos para tokens, NFTs e cNFTs comprimidos via endpoints RPC com DAS habilitado.
Cartão de receita para referência rápida - pronto para copiar e colar.
// DAS methods use JSON-RPC on DAS-enabled provider URLs
const DAS_RPC = "https://mainnet.helius-rpc.com/?api-key=YOUR_KEY";
const body = {
jsonrpc: "2.0",
id: 1,
method: "getAsset",
params: { id: "ASSET_ID_OR_MINT" },
};
const res = await fetch(DAS_RPC, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(body),
});
const { result } = await res.json();
console.log(result?.content?.metadata?.name);Quando usar:
getTokenAccountsByOwner bruto.const DAS_RPC = process.env.DAS_RPC_URL!;
async function dasRpc<T>(method: string, params: unknown): Promise<T> {
const res = await fetch(DAS_RPC, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ jsonrpc: "2.0", id: 1, method, params }),
});
const json = await res.json();
if (json.error) throw new Error(json.error.message);
return json.result as T;
}
// Assets owned by wallet
const assets = await dasRpc<{ items: unknown[] }>("getAssetsByOwner", {
ownerAddress: "WALLET_PUBKEY",
page: 1,
limit: 50,
});
console.log("count:", assets.items?.length);
// Single asset detail
const asset = await dasRpc<unknown>("getAsset", { id: "ASSET_ID" });
console.log(asset);O que isso demonstra:
getAsset, getAssetsByOwner.getAsset retorna JSON unificado para ativos padrão, comprimidos e fungíveis onde suportado.@solana/kit trata RPC padrão; DAS frequentemente usa fetch ou SDK do provedor até unificação no kit.| Método | Propósito |
|---|---|
getAsset | Ativo único por id |
getAssetsByOwner | Portfólio de carteira |
getAssetsByGroup | Consultas de coleção |
searchAssets | Descoberta filtrada |
// Pair DAS reads with kit sends
import { createSolanaRpc } from "@solana/kit";
const txRpc = createSolanaRpc(process.env.RPC_URL!);
// DAS_RPC separate URL on same provider dashboard| Alternativa | Use quando | Não use quando |
|---|---|---|
getTokenAccountsByOwner | Só saldos SPL simples | Riqueza de metadados NFT |
| Indexer customizado | Controle total do schema | Galeria MVP rápida |
| Leituras Metaplex SDK | Metadata PDA low-level | Ergonomia de ativo comprimido |
| APIs de explorer | Analytics ad-hoc | Dependência de app em produção |
Helius, Triton e outros anunciam DAS - verifique flag de feature no dashboard da API key.
Sim - valor principal são leituras unificadas para cNFTs Bubblegum sem decodificação manual de prova.
Depende do provedor - muitas features DAS visam mainnet; verifique matriz de suporte devnet.
RPC padrão do kit cobre métodos de validador; DAS tipicamente usa JSON-RPC do provedor via fetch ou SDK do vendor.
getAssetsByGroup com chave/valor de grupo (ex.: endereço de coleção verificada) conforme schema do provedor.
Identificador computado pelo provedor - não assuma igual ao endereço leaf sem verificar resposta getAsset.
Separado das cotas RPC padrão - monitore 429 em endpoints de portfólio.
Para carteiras read-heavy sim; analytics ainda precisam indexers customizados para eventos arbitrários de programa.
Sub-slot a segundos atrás da chain dependendo do indexer - não idêntico a leituras processed.
Veja Reading Compressed Assets DAS para padrões específicos de cNFT.
Versões da stack: Esta página foi escrita para Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1, anchor-lang 0.32.1, Rust 1.91.1, @solana/kit 7.0.0, Surfpool 0.12.0 e LiteSVM 0.6.x.
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026