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

# Permukaan REST API

> Ringkasan tingkat tinggi dari sebelas layanan HTTP publik Raydium — apa yang setiap layanan lakukan, konvensi yang mereka bagikan (envelope respons, autentikasi, batas laju, cache), dan cara memilih layanan yang tepat untuk integrasi.

<Info>
  **Halaman ini diterjemahkan secara otomatis oleh AI. Versi bahasa Inggris adalah acuan resmi.**

  [Lihat versi bahasa Inggris →](/sdk-api/rest-api)
</Info>

<Info>
  **Dokumentasi tingkat endpoint tersedia di tab [API Reference](/id/api-reference).** Setiap endpoint di sana memiliki panel interaktif **Try it** yang didukung oleh OpenAPI playground Mintlify — isi parameter di browser dan langsung akses mainnet live (atau devnet, jika tersedia). Halaman ini adalah **pendamping naratif**: layanan apa yang ada, kapan menggunakan mana, dan konvensi yang mencakup semuanya. Jika Anda mencari "apa yang diterima `GET /pools/info/ids`", klik ke API Reference; jika Anda mencari "layanan mana yang harus saya integrasikan", lanjutkan membaca.
</Info>

## Sebelas layanan sekilas

Raydium menjalankan sebelas layanan HTTP publik. Masing-masing didokumentasikan sebagai grup tersendiri di tab [API Reference](/id/api-reference) dan memiliki spesifikasi OpenAPI yang mendukung playground interaktif.

| Layanan                                                               | Host Mainnet                   | Host Devnet                           | Apa yang dilayani                                                                                               |
| --------------------------------------------------------------------- | ------------------------------ | ------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| [API v3](/id/api-reference/api-v3/overview)                           | `api-v3.raydium.io`            | `api-v3-devnet.raydium.io`            | API baca pool / mint / config / chain-info kanonik. Pintu depan default untuk UI dan sebagian besar integrator. |
| [Transaction API](/id/api-reference/route-api-v2/overview)            | `transaction-v1.raydium.io`    | `transaction-v1-devnet.raydium.io`    | Konstruksi transaksi swap sisi server.                                                                          |
| [Perps API](/id/api-reference/perp-api-v1/overview)                   | `api-perp-v1.raydium.io`       | —                                     | Pengaturan, metadata aset, pemilihan RPC untuk frontend Raydium Perps.                                          |
| [LaunchLab Mint API](/id/api-reference/launch-mint-v1/overview)       | `launch-mint-v1.raydium.io`    | `launch-mint-v1-devnet.raydium.io`    | Pencarian token, indeks, papan peringkat, metadata per-mint.                                                    |
| [LaunchLab History API](/id/api-reference/launch-history-v1/overview) | `launch-history-v1.raydium.io` | `launch-history-v1-devnet.raydium.io` | Riwayat perdagangan dan agregat k-line OHLC untuk pool LaunchLab.                                               |
| [LaunchLab Forum API](/id/api-reference/launch-forum-v1/overview)     | `launch-forum-v1.raydium.io`   | `launch-forum-v1-devnet.raydium.io`   | Utas komentar dan unggahan IPFS pada peluncuran LaunchLab. **Ditandatangani dompet.**                           |
| [LaunchLab Auth API](/id/api-reference/launch-auth-v1/overview)       | `launch-auth-v1.raydium.io`    | `launch-auth-v1-devnet.raydium.io`    | Mencetak JWT `ray-token` berumur pendek dari pesan bertanda tangan dompet. Diperlukan oleh Forum.               |
| [Dynamic IPFS API](/id/api-reference/dynamic-ipfs-v1/overview)        | `dynamic-ipfs.raydium.io`      | `dynamic-ipfs-devnet.raydium.io`      | Regenerasi gambar / metadata untuk NFT dinamis (posisi CLMM, dll).                                              |
| [Owner API](/id/api-reference/owner-api-v1/overview)                  | `owner-v1.raydium.io`          | `owner-v1-devnet.raydium.io`          | Posisi per-dompet, saldo, hadiah yang dapat diklaim.                                                            |
| [API v1 (legacy)](/id/api-reference/api-v1/overview)                  | `api.raydium.io`               | —                                     | Path `/v1` dan `/v2` legacy tetap aktif untuk klien yang belum bermigrasi ke API v3.                            |
| [Temp API](/id/api-reference/temp-api-v1/overview)                    | `temp-api-v1.raydium.io`       | `temp-api-v1-devnet.raydium.io`       | Area penampungan untuk endpoint khusus berumur pendek. **Permukaan dapat berubah tanpa pemberitahuan.**         |

Versioning ada di **hostname** untuk layanan v3 / v1 — tidak ada versioning tingkat path lebih lanjut. Perubahan breaking dikirim sebagai host baru dengan tumpang tindih; tim telah berkomitmen secara publik untuk setidaknya 6 bulan tumpang tindih pada migrasi v3 → v4 apa pun.

## Pilih layanan

| Jika Anda ingin…                                                         | Gunakan                                                        |
| ------------------------------------------------------------------------ | -------------------------------------------------------------- |
| Baca metadata pool, harga, APR, konfigurasi biaya                        | **API v3**                                                     |
| Baca metadata mint (nama, simbol, logo, desimal, tag risiko)             | **API v3** `/mint/list`, `/mint/price`                         |
| Bangun transaksi swap / tambah-likuiditas / hapus-likuiditas sisi server | **Transaction API**                                            |
| Tunjukkan posisi dompet (token LP, posisi CLMM, taruhan farm)            | **Owner API**                                                  |
| Cari token LaunchLab, jelajahi papan peringkat, ambil metadata per-mint  | **LaunchLab Mint API**                                         |
| Render bagan k-line / candlestick untuk pool LaunchLab                   | **LaunchLab History API**                                      |
| Posting atau baca komentar pada peluncuran LaunchLab                     | **LaunchLab Auth API** → `ray-token` → **LaunchLab Forum API** |
| Render gambar NFT posisi CLMM                                            | **Dynamic IPFS API**                                           |
| Tunjukkan pengaturan pasar futures atau daftar aset untuk UI Perps       | **Perps API**                                                  |
| Pertahankan kompatibilitas dengan klien path-prefixed v1/v2              | **API v1 (legacy)**                                            |

## Konvensi lintas layanan

### Envelope respons

Setiap layanan kecuali IPFS mengembalikan envelope JSON yang sama:

```json theme={null}
{
  "id":      "uuid-v4-per-request",
  "success": true,
  "data":    { ... }
}
```

Pada kegagalan:

```json theme={null}
{
  "id":      "uuid-v4-per-request",
  "success": false,
  "msg":     "human-readable error string",
  "data":    null
}
```

Beberapa layanan juga menyertakan integer `error.code` (API v3 menggunakannya untuk pengidentifikasi kesalahan stabil di seluruh versi minor). Lihat halaman ringkasan setiap layanan untuk bentuk pastinya.

### Autentikasi

Dua pola muncul:

* **Tanpa auth** — setiap layanan kecuali Forum. Akses secara anonim melalui HTTPS.
* **Handshake tertanda dompet** — diperlukan oleh **LaunchLab Forum API**. Tandatangani pesan Solana ed25519 dalam bentuk `time:<unix-seconds>` dengan dompet Anda, kirim tanda tangan + alamat dompet ke **LaunchLab Auth API** `/request-token`, terima JWT kembali, dan teruskan sebagai header permintaan `ray-token` pada panggilan forum berikutnya.

Playground Mintlify menerima `ray-token` di panel auth sebelum mengirim permintaan forum; nilainya hanya disimpan di browser Anda.

### Batas laju

Semua host duduk di belakang Cloudflare dengan pembatasan laju progresif per IP sumber. Panduan yang dipublikasikan untuk integrator:

Ledakan di atas batas yang dipublikasikan mengembalikan `HTTP 429` dengan header `Retry-After`. Agregatior atau bot yang membutuhkan batas lebih tinggi harus menghubungi tim Raydium daripada menghantam host publik — menjalankan indexer Anda sendiri terhadap ID program on-chain juga merupakan pilihan untuk beban kerja berat baca.

### Caching dan konsistensi

* Sebagian besar endpoint baca API v3 di-cache di edge selama 5–60 detik; TTL spesifik dicatat pada halaman API Reference setiap endpoint.
* Cache dibatalkan oleh indexer pada peristiwa sentuh-program yang diamatinya.
* Selama reorg besar atau kemacetan, dapat ada perbedaan slot 1–2 antara pandangan API dan state on-chain. **SDK dan pembacaan RPC langsung selalu lebih terkini** — jika klien akan menandatangani transaksi, ambil ulang akun yang relevan melalui RPC, jangan pernah mempercayai nilai API secara buta.

### Format kesalahan

Kesalahan kembali sebagai HTTP 4xx/5xx dengan envelope yang sama (`success: false`, `msg` terisi). API v3 juga menyertakan `error.code` stabil:

```json theme={null}
{
  "id":      "uuid-v4-per-request",
  "success": false,
  "msg":     "Pool not found",
  "error":   { "code": 40401, "message": "Pool not found" }
}
```

`error.code` stabil di seluruh versi minor API; perlakukan sebagai sinyal utama dalam logika klien dan `msg` sebagai permukaan yang dapat dibaca manusia.

### Konvensi argumen pasangan mint

Banyak endpoint API v3 menerima `mint1=…&mint2=…` dan memerlukan `mint1 < mint2` (urutan byte pubkey ascending). Ini agar API dapat mengembalikan pool kanonik yang sama terlepas dari urutan argumen pilihan pemanggil. Urutkan dua mint sisi klien sebelum membangun URL — dokumentasi tingkat endpoint di [API Reference](/id/api-reference) mengulangi batasan ini di mana berlaku.

## Pola klien yang direkomendasikan

1. **Hidrat sekali, segarkan dengan malas.** Tarik `GET /main/info` dan `GET /mint/list` (keduanya di API v3) saat pemuatan aplikasi dan cache secara lokal dengan TTL 1 jam. Keduanya di-cache edge dengan berat dan jarang berubah.
2. **Massal di mana endpoint memungkinkannya.** `GET /pools/info/ids?ids=…` menerima daftar terpisah koma — ambil sepuluh pool dalam satu permintaan, bukan sepuluh permintaan.
3. **Hindari pengambilan harga jalur panas.** `GET /mint/price` baik untuk rendering UI; jangan pernah loop dalam bot. Untuk bot perdagangan, jalankan indexer atau berlangganan peristiwa `programSubscribe` RPC secara langsung.
4. **Cerminkan atau proxy untuk throughput tinggi.** Apa pun di atas batas batas laju yang dipublikasikan harus dilayani dari lapisan cache Anda sendiri, bukan langsung dari host publik. Agregatior dengan `>120 req/min` berkelanjutan terhadap `transaction-v1` harus menjalankan mesin quote / rute mereka sendiri.
5. **Ambil ulang tepat sebelum menandatangani.** Respons API dapat tertinggal 5–60 detik. Untuk snapshot pool yang benar-benar akurat pada waktu tanda tangan, baca ulang akun yang relevan melalui SDK atau panggilan RPC `getMultipleAccounts` langsung. Perlakukan nilai API sebagai petunjuk pencarian, bukan sumber penyelesaian.
6. **Gunakan Transaction API untuk integrasi tanpa hambatan.** Jika Anda tidak ingin menggabungkan SDK dalam klien Anda (native mobile, bot di lingkungan terbatas), Transaction API akan mengembalikan transaksi terversikan yang dikodekan base64 untuk pengguna tandatangani. `swapResponse` yang dikembalikannya menyematkan kutipan — perlakukan sebagai valid selama \~30 detik.

## Ke mana selanjutnya

* **Referensi endpoint (interaktif)** — [API Reference](/id/api-reference). Setiap layanan memiliki grup sendiri; klik endpoint apa pun untuk parameter, bentuk respons, sampel kode, dan panel Try-it.
* **TypeScript SDK** — [`sdk-api/typescript-sdk`](/id/sdk-api/typescript-sdk). SDK menggunakan API v3 secara internal untuk beberapa jalur; untuk pembuatan transaksi selalu mengambil ulang state dari RPC, tidak pernah mempercayai API secara buta.
* **Integrasi Trade API** — [`integration-guides/aggregator`](/id/integration-guides/aggregator). Pola untuk memasang likuiditas Raydium ke dalam agregatior multi-DEX.
* **Dokumen ramah AI** — [`sdk-api/ai-integration`](/id/sdk-api/ai-integration). Penunjuk untuk agen pengodean AI yang perlu memanggil API ini.
