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

# API Biaya Prioritas Solana: Estimasi Biaya Transaksi Cerdas

> Perkirakan biaya prioritas optimal untuk transaksi Solana. Analisis biaya secara real-time dengan enam tingkat prioritas untuk memastikan konfirmasi cepat dan efisiensi biaya.

<Info>
  **Hemat biaya, tingkatkan performa**: Dapatkan estimasi biaya prioritas yang akurat berdasarkan kondisi jaringan secara real-time. Bayar hanya sesuai kebutuhan untuk kecepatan yang Anda inginkan.
</Info>

## Apa Itu Biaya Prioritas?

Di Solana, biaya prioritas memungkinkan transaksi Anda melaju lebih dahulu dalam antrean validator saat jaringan padat. Anggap saja sebagai jalur ekspres untuk transaksi Anda.

<CardGroup cols={2}>
  <Card title="Base Fees vs Priority Fees" icon="coins">
    **Biaya dasar** adalah biaya tetap untuk pemrosesan transaksi

    **Biaya prioritas** adalah pembayaran opsional untuk pemrosesan yang lebih cepat
  </Card>

  <Card title="How They Work" icon="rocket">
    Anda menetapkan harga per unit komputasi—harga yang lebih tinggi akan diproses lebih dahulu saat jaringan padat
  </Card>
</CardGroup>

## Mengapa Menggunakan Biaya Prioritas

Biaya prioritas kini menjadi bagian standar dari transaksi Solana yang membantu memastikan waktu konfirmasi yang andal dan performa jaringan yang optimal.

<CardGroup cols={2}>
  <Card title="Reliable Confirmation" icon="circle-check">
    Pastikan transaksi Anda dikonfirmasi dengan cepat dan andal, bahkan dalam kondisi jaringan yang berubah-ubah
  </Card>

  <Card title="Competitive Edge" icon="trophy">
    Tetap kompetitif dalam operasi yang sensitif terhadap waktu, seperti perdagangan, pencetakan, dan interaksi DeFi
  </Card>

  <Card title="User Experience" icon="heart">
    Berikan pemrosesan transaksi yang konsisten dan cepat untuk pengalaman pengguna yang lebih baik
  </Card>

  <Card title="Network Efficiency" icon="gauge">
    Bantu mengoptimalkan alokasi sumber daya jaringan dan performa secara keseluruhan
  </Card>
</CardGroup>

## Penjelasan Tingkat Prioritas

API kami menyediakan enam tingkat prioritas berdasarkan aktivitas jaringan terbaru:

<AccordionGroup>
  <Accordion title="Min">
    **Biaya terendah yang diamati** - Berdasarkan biaya minimum yang terlihat di slot terbaru

    **Paling sesuai untuk**: Transaksi yang tidak mendesak ketika pengoptimalan biaya menjadi prioritas

    **Catatan**: Dapat menyebabkan waktu konfirmasi yang lebih lambat
  </Accordion>

  <Accordion title="Low">
    **Persentil ke-25** - Opsi hemat biaya dengan waktu konfirmasi yang wajar

    **Paling sesuai untuk**: Operasi standar yang tidak mengutamakan kecepatan

    **Catatan**: Keseimbangan yang baik antara biaya dan keandalan
  </Accordion>

  <Accordion title="Medium (Recommended)">
    **Persentil ke-50** - Biaya median yang memberikan waktu konfirmasi andal

    **Paling sesuai untuk**: Sebagian besar aplikasi dan kasus penggunaan umum

    **Catatan**: Titik awal yang disarankan bagi sebagian besar developer
  </Accordion>

  <Accordion title="High">
    **Persentil ke-75** - Biaya lebih tinggi untuk pemrosesan yang lebih cepat

    **Paling sesuai untuk**: Operasi yang sensitif terhadap waktu dan situasi kompetitif

    **Catatan**: Pemrosesan diprioritaskan saat aktivitas jaringan meningkat
  </Accordion>

  <Accordion title="VeryHigh">
    **Persentil ke-95** - Biaya premium untuk kecepatan maksimum

    **Paling sesuai untuk**: Operasi penting, strategi MEV, dan transaksi mendesak

    **Catatan**: Konfirmasi cepat bahkan saat aktivitas jaringan tinggi
  </Accordion>

  <Accordion title="UnsafeMax">
    **Maksimum yang diamati** - Biaya tertinggi yang terlihat di slot terbaru

    **Paling sesuai untuk**: Hanya situasi darurat

    **Peringatan**: Sering kali terlalu tinggi dan tidak diperlukan—gunakan dengan hati-hati
  </Accordion>
</AccordionGroup>

<Warning>
  **Perhitungan Biaya**: Total biaya prioritas = Harga per unit komputasi × Unit komputasi yang digunakan

  Transaksi biasa menggunakan 200.000–400.000 unit komputasi. Pada tingkat Medium saat ini (\~40.000 microlamport per unit), biaya prioritasnya adalah 0,000008–0,000016 SOL. Selalu periksa kondisi jaringan terkini untuk mendapatkan estimasi yang akurat.
</Warning>

## Metode Implementasi

<CardGroup cols={2}>
  <Card title="Serialized Transaction (Recommended)" icon="file-code" href="/docs/id/priority-fee/estimating-fees-using-serialized-transaction">
    **Metode Utama** - Menganalisis transaksi Anda secara persis untuk memperoleh akurasi maksimum

    **Paling sesuai untuk**: Sebagian besar aplikasi dan kasus penggunaan produksi

    **Manfaat**:

    * Analisis khusus instruksi
    * Akurasi tertinggi
    * Siap digunakan dalam produksi
    * Mempertimbangkan kompleksitas transaksi
  </Card>

  <Card title="Account Keys (Advanced)" icon="key" href="/docs/id/priority-fee/estimating-fees-using-account-keys">
    **Kasus Penggunaan Khusus** - Memperkirakan biaya berdasarkan pola akun

    **Paling sesuai untuk**: Analisis pratransaksi, operasi batch, dan arsitektur khusus

    **Manfaat**:

    * Analisis pola tingkat akun
    * Berguna untuk perencanaan dan riset
    * Analisis akun secara batch
  </Card>
</CardGroup>

## Contoh Memulai Cepat

<CodeGroup>
  ```javascript JavaScript theme={"system"}
  import { Transaction, SystemProgram, ComputeBudgetProgram } from "@solana/web3.js";
  import bs58 from "bs58";

  // 1. Build your transaction (without priority fee)
  const transaction = new Transaction();
  const transferIx = SystemProgram.transfer({
    fromPubkey: senderKeypair.publicKey,
    toPubkey: recipientPublicKey,
    lamports: 1000000, // 0.001 SOL
  });
  transaction.add(transferIx);

  // 2. Set required fields and serialize
  transaction.recentBlockhash = (await connection.getLatestBlockhash()).blockhash;
  transaction.feePayer = senderKeypair.publicKey;
  const serializedTx = bs58.encode(transaction.serialize());

  // 3. Get priority fee estimate
  const response = await fetch("https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      jsonrpc: "2.0",
      id: "1",
      method: "getPriorityFeeEstimate",
      params: [{
        transaction: serializedTx,
        options: { 
          priorityLevel: "Medium",
          recommended: true 
        }
      }]
    })
  });

  const result = await response.json();
  const priorityFee = result.result.priorityFeeEstimate;

  // 4. Add priority fee and send
  transaction.instructions = []; // Reset
  transaction.add(ComputeBudgetProgram.setComputeUnitPrice({ microLamports: priorityFee }));
  transaction.add(transferIx);
  transaction.recentBlockhash = (await connection.getLatestBlockhash()).blockhash;
  transaction.sign(senderKeypair);
  ```

  ```python Python theme={"system"}
  import requests
  import base58
  from solana.transaction import Transaction
  from solana.system_program import transfer, TransferParams

  # 1. Build and serialize your transaction
  # (transaction building code here)
  serialized_tx = base58.b58encode(transaction.serialize()).decode('utf-8')

  # 2. Get priority fee estimate
  response = requests.post(
      "https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY",
      json={
          "jsonrpc": "2.0",
          "id": "1",
          "method": "getPriorityFeeEstimate",
          "params": [{
              "transaction": serialized_tx,
              "options": {
                  "priorityLevel": "Medium",
                  "recommended": True
              }
          }]
      }
  )

  result = response.json()
  priority_fee = result["result"]["priorityFeeEstimate"]
  print(f"Recommended priority fee: {priority_fee} micro-lamports")

  # 3. Rebuild transaction with priority fee and send
  ```

  ```curl cURL theme={"system"}
  curl -X POST "https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "jsonrpc": "2.0",
      "id": "1",
      "method": "getPriorityFeeEstimate",
      "params": [{
        "transaction": "SERIALIZED_TRANSACTION_BASE58",
        "options": {
          "priorityLevel": "Medium",
          "recommended": true
        }
      }]
    }'
  ```
</CodeGroup>

## Referensi API

<Card title="getPriorityFeeEstimate" icon="code" href="/docs/id/api-reference/priority-fee/getpriorityfeeestimate">
  Dokumentasi API lengkap dengan semua parameter dan format respons
</Card>

## Pemantauan Jaringan secara Real-Time

<Tip>
  **Kiat profesional**: Pantau kondisi jaringan untuk mengoptimalkan strategi biaya prioritas Anda. Dalam kondisi normal, gunakan tingkat prioritas yang lebih rendah. Saat jaringan padat, pertimbangkan tingkat yang lebih tinggi untuk operasi yang sensitif terhadap waktu.

  Anda dapat memeriksa kondisi jaringan saat ini menggunakan penjelajah Solana atau metode RPC `getRecentPerformanceSamples`.
</Tip>

## Dukungan & Sumber Daya

<CardGroup cols={2}>
  <Card title="Discord Community" icon="discord" href="https://discord.com/invite/6GXdee3gBj">
    Dapatkan bantuan dari komunitas dan tim Helius
  </Card>

  <Card title="Direct Support" icon="headset" href="/docs/id/support">
    Bantuan untuk pertanyaan dan pengoptimalan biaya prioritas
  </Card>
</CardGroup>
