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

# Solana DAS API: Akses Terpadu ke Data NFT dan Token

> API Solana terlengkap untuk NFT, NFT terkompresi, dan token. Satu antarmuka terpadu untuk semua aset digital, lengkap dengan metadata, kepemilikan, dan pencarian.

## Apa itu DAS API?

Digital Asset Standard (DAS) API adalah spesifikasi sumber terbuka yang menyediakan satu antarmuka terpadu untuk setiap jenis aset digital di Solana:

* NFT reguler (Token yang Tidak Dapat Dipertukarkan)
* NFT terkompresi (cNFT, menggunakan kompresi status)
* Token yang dapat dipertukarkan (SPL Token dan Token-2022, termasuk ekstensi)

Satu rangkaian metode mencakup metadata, kepemilikan, saldo, koleksi, kreator, pencarian, dan bukti Merkle — sehingga Anda dapat membangun marketplace NFT, dompet, pelacak portofolio, aplikasi dengan akses berbasis token, dan alat analitik menggunakan API yang sama.

Kedua jaringan menggunakan metode yang sama:

* Mainnet: `https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY`
* Devnet: `https://devnet.helius-rpc.com/?api-key=YOUR_API_KEY`

## Mengapa menggunakan Helius untuk DAS API?

<CardGroup cols={2}>
  <Card title="All asset types, one API" icon="gem">
    NFT, NFT terkompresi, dan token yang dapat dipertukarkan (SPL dan Token-2022) melalui satu antarmuka.
  </Card>

  <Card title="Complete metadata" icon="database">
    Data on-chain dan off-chain (Arweave, IPFS) diindeks dan dikembalikan bersama dalam satu panggilan.
  </Card>

  <Card title="Price data included" icon="coins">
    Informasi harga dalam USD untuk token terverifikasi, dikembalikan bersama saldo.
  </Card>

  <Card title="Search and filtering" icon="magnifying-glass">
    Buat kueri berdasarkan pemilik, koleksi, kreator, otoritas, atau filter atribut terperinci.
  </Card>
</CardGroup>

## Metode mana yang sebaiknya digunakan?

Sebagian besar integrasi dimulai dengan salah satu dari tiga metode. Gunakan tabel ini untuk memilih titik masuk yang tepat, lalu gunakan metode khusus di bawah ini.

| Metode                 | Kegunaan                                | Hasil                                                                    |
| ---------------------- | --------------------------------------- | ------------------------------------------------------------------------ |
| **`getAsset`**         | Satu aset yang ID-nya sudah Anda miliki | Metadata lengkap, kepemilikan, dan harga (untuk token) dari satu aset    |
| **`getAssetsByOwner`** | Semua yang dimiliki sebuah dompet       | Semua aset untuk suatu alamat, beserta metadata dan saldo                |
| **`searchAssets`**     | Kueri terfilter di seluruh aset         | Aset yang cocok dengan filter pemilik, koleksi, `tokenType`, dan atribut |

Sebagai pedoman umum:

* Mengetahui ID aset yang tepat? Gunakan `getAsset` (atau `getAssetBatch` untuk banyak aset).
* Ingin menampilkan aset milik sebuah dompet? Gunakan `getAssetsByOwner`.
* Ingin memfilter berdasarkan koleksi, jenis token, atau atribut? Gunakan `searchAssets`.

## Metode utama

### Aset tunggal

<CardGroup cols={2}>
  <Card title="getAsset" icon="gem" href="/docs/id/api-reference/das/getasset">
    Data lengkap untuk satu aset berdasarkan ID-nya.
  </Card>

  <Card title="getAssetBatch" icon="layer-group" href="/docs/id/api-reference/das/getassetbatch">
    Hingga 1.000 aset dalam satu permintaan.
  </Card>
</CardGroup>

### Aset berdasarkan pemilik, koleksi, atau kreator

<CardGroup cols={2}>
  <Card title="getAssetsByOwner" icon="wallet" href="/docs/id/api-reference/das/getassetsbyowner">
    Semua aset yang dimiliki sebuah dompet, beserta metadata dan saldo.
  </Card>

  <Card title="getAssetsByGroup" icon="layer-group" href="/docs/id/api-reference/das/getassetsbygroup">
    Semua aset dalam sebuah koleksi (kunci grup `collection`).
  </Card>

  <Card title="getAssetsByCreator" icon="user" href="/docs/id/api-reference/das/getassetsbycreator">
    Semua aset yang dicetak oleh kreator tertentu.
  </Card>

  <Card title="getAssetsByAuthority" icon="address-card" href="/docs/id/api-reference/das/getassetsbyauthority">
    Semua aset yang dikendalikan oleh otoritas tertentu.
  </Card>
</CardGroup>

### Pencarian

<CardGroup cols={2}>
  <Card title="searchAssets" icon="magnifying-glass" href="/docs/id/api-reference/das/searchassets">
    Pemfilteran fleksibel berdasarkan pemilik, koleksi, `tokenType`, dan atribut.
  </Card>
</CardGroup>

### Aset terkompresi dan bukti

<CardGroup cols={2}>
  <Card title="getAssetProof" icon="shield-check" href="/docs/id/api-reference/das/getassetproof">
    Bukti Merkle untuk aset terkompresi, yang diperlukan untuk operasi on-chain.
  </Card>

  <Card title="getAssetProofBatch" icon="shield-check" href="/docs/id/api-reference/das/getassetproofbatch">
    Bukti Merkle untuk beberapa aset terkompresi sekaligus.
  </Card>

  <Card title="getSignaturesForAsset" icon="clock-rotate-left" href="/docs/id/api-reference/das/getsignaturesforasset">
    Riwayat tanda tangan transaksi untuk suatu aset.
  </Card>

  <Card title="getNftEditions" icon="image" href="/docs/id/api-reference/das/getnfteditions">
    Semua edisi yang dicetak dari NFT master.
  </Card>
</CardGroup>

### Akun token

<CardGroup cols={2}>
  <Card title="getTokenAccounts" icon="coins" href="/docs/id/api-reference/das/gettokenaccounts">
    Akun token berdasarkan mint atau pemilik, beserta saldo.
  </Card>
</CardGroup>

## Mulai

<CardGroup cols={2}>
  <Card title="Get Assets (NFTs)" icon="image" href="/docs/id/das/get-nfts">
    Ambil NFT dan barang koleksi digital: aset tunggal, berdasarkan pemilik, koleksi, bukti, dan edisi.
  </Card>

  <Card title="Get SPL Tokens" icon="coins" href="/docs/id/das/get-tokens">
    Buat kueri untuk token yang dapat dipertukarkan: saldo, suplai, pemegang, dan akun token.
  </Card>

  <Card title="Search Assets" icon="magnifying-glass" href="/docs/id/das/search">
    Filter aset berdasarkan pemilik, koleksi, jenis token, dan atribut.
  </Card>

  <Card title="Pagination" icon="list" href="/docs/id/das/pagination">
    Paginasi berbasis halaman dan keyset untuk kumpulan hasil berukuran besar.
  </Card>
</CardGroup>

## Menggunakan jenis aset khusus

### Token yang dapat dipertukarkan

Helius memperluas DAS API agar mencakup **semua token**, termasuk token SPL biasa (tanpa metadata) dan Token-2022 (beserta ekstensinya). Dukungan token yang dapat dipertukarkan tersedia melalui `getAsset`, `getAssetsByOwner`, dan `searchAssets` menggunakan parameter `tokenType`, sedangkan harga token terverifikasi dikembalikan dalam `token_info.price_info`.

Untuk kueri saldo, suplai, pemegang, dan akun token, lihat [panduan Mendapatkan Token SPL](/docs/id/das/get-tokens) dan [ekstensi token yang dapat dipertukarkan](/docs/id/das/fungible-token-extension).

### NFT terkompresi

NFT dengan kompresi status (cNFT) menggunakan metode yang sama seperti NFT reguler untuk operasi baca (`getAsset`, `getAssetsByOwner`, `searchAssets`), ditambah dua metode khusus kompresi:

* `getAssetProof` mengembalikan bukti Merkle yang diperlukan untuk memverifikasi dan menjalankan operasi on-chain seperti transfer dan pembakaran.
* `getSignaturesForAsset` mengembalikan riwayat transaksi untuk aset terkompresi.

Lihat [panduan Mendapatkan Aset](/docs/id/das/get-nfts) untuk contoh lengkap NFT terkompresi.

### Data off-chain

Sebagian besar koleksi NFT menyimpan metadata tambahan (atribut, gambar) secara off-chain di Arweave atau IPFS. DAS API mengindeks data off-chain ini dan mengembalikannya bersama data on-chain dalam satu panggilan.

<Note>
  Helius tidak dapat mendeteksi perubahan data off-chain. Data off-chain hanya diperbarui setelah aset terlihat lagi secara on-chain (misalnya, ketika aset diubah). Untuk meminta pengindeksan ulang, hubungi dukungan Helius.
</Note>

## Praktik terbaik

<CardGroup cols={2}>
  <Card title="Pagination" icon="list">
    Mulai dari halaman 1 (bukan 0). Gunakan batas 100–1.000 dan terapkan paginasi untuk kumpulan data berukuran besar.
  </Card>

  <Card title="Error handling" icon="shield-check">
    Periksa kesalahan pada setiap respons dan coba lagi dengan backoff eksponensial.
  </Card>

  <Card title="Performance" icon="bolt">
    Gunakan metode batch jika memungkinkan, simpan respons dalam cache, dan hindari merangkai beberapa panggilan jika satu panggilan sudah cukup.
  </Card>

  <Card title="Security" icon="lock">
    Jangan pernah mengekspos kunci API Anda dalam kode sisi klien. Proksikan permintaan melalui server dan tetapkan kebijakan CORS.
  </Card>
</CardGroup>

## Langkah berikutnya

<CardGroup cols={3}>
  <Card title="Get Assets (NFTs)" icon="image" href="/docs/id/das/get-nfts">
    Ambil dan buat kueri untuk NFT serta barang koleksi digital.
  </Card>

  <Card title="DAS API reference" icon="code" href="/docs/id/api-reference/das">
    Skema permintaan dan respons lengkap untuk setiap metode DAS.
  </Card>

  <Card title="DAS API FAQ" icon="book" href="/docs/id/faqs/das-api">
    Pertanyaan umum tentang aset, data harga, dan penggunaan.
  </Card>
</CardGroup>
