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

# Tier biaya

> Daftar tarif, bagaimana volume rolling diukur dan digabungkan, kapan tier Anda berubah, dan rebate yang dibayarkan kepada maker berskala besar.

Tarif Anda turun seiring naiknya volume rolling Anda. Daftarnya adalah konfigurasi on-chain, dan tier tempat Anda berada adalah state akun on-chain — keduanya bisa dibaca, keduanya tidak perlu ditebak.

<h2 id="the-schedule">
  Daftar tarif
</h2>

| Tier | Volume tertimbang 14 hari | Taker perp | Maker perp | Taker spot | Maker spot |
| ---: | ------------------------: | ---------: | ---------: | ---------: | ---------: |
|    0 |                         — |     0,045% |     0,015% |      0,07% |      0,04% |
|    1 |                    > \$5M |     0,040% |     0,012% |      0,06% |      0,03% |
|    2 |                   > \$25M |     0,035% |     0,008% |      0,05% |      0,02% |
|    3 |                  > \$100M |     0,030% |     0,004% |      0,04% |      0,01% |
|    4 |                  > \$500M |     0,028% |     0,000% |      0,04% |      0,00% |
|    5 |                    > \$2B |     0,026% |     0,000% |      0,03% |      0,00% |
|    6 |                    > \$7B |     0,024% |     0,000% |      0,03% |      0,00% |

Tarif maker mencapai nol di tier 4. Di atas itu, perbaikan sisi maker selanjutnya datang dari [program rebate](#market-maker-rebates), bukan dari tier volume, karena keduanya memberi imbalan atas hal yang berbeda — lihat di bawah.

<Note>
  Tarif spot dibawa dalam struktur konfigurasi yang sama, dan yang berjalan hari ini adalah pasar perpetual. Kolom spot adalah daftar tarif yang berlaku ketika pasar spot dibuka; saat ini kolom itu tidak dibebankan pada apa pun.
</Note>

<Warning>
  Ini adalah daftar tarif rujukan, bukan oracle. Tabel yang berlaku diterbitkan on-chain dan bisa dibaca langsung. Integrasi mana pun yang meng-hard-code angka ini cepat atau lambat akan menerapkan tarif yang tidak sedang dibebankan jaringan — lihat [Developer](/id/developers/overview).
</Warning>

<h2 id="how-volume-is-measured">
  Bagaimana volume diukur
</h2>

$$
\text{volume tertimbang} = \text{volume perpetual} + 2 \times \text{volume spot}
$$

Volume spot dihitung dua kali lipat. Volume spot lebih sulit dihasilkan dan tidak membawa leverage yang menggelembungkan nilai nosional perpetual, jadi memberinya bobot lebih besarlah yang membuat keduanya sebanding sebagai ukuran aktivitas, bukan sebagai ukuran leverage.

Tiga sifat jendela waktu ini:

**Rolling, bukan kalender.** Empat belas hari, dihitung mundur dari sekarang. Tidak ada reset bulanan yang bisa disiasati dan tidak ada jurang di batas bulan.

**Dihitung ulang harian.** Volume di-snapshot sekali sehari pada 00:00 UTC. Jendelanya adalah selisih antara snapshot kumulatif hari ini dan snapshot dari empat belas periode lalu — dan itulah yang membuatnya jendela *rolling*, bukan total berjalan.

**Digabungkan ke akun induk.** Volume setiap subakun dijumlahkan di bawah alamat induknya, dan tier hasilnya berlaku untuk semuanya. Memecah aktivitas ke beberapa subakun tidak menguntungkan dan juga tidak merugikan; angkanya sama saja.

<h2 id="when-your-tier-changes">
  Kapan tier Anda berubah
</h2>

Tier dihitung ulang sekali sehari dan diterapkan pada blok pertama setelah 00:00 UTC, ke setiap akun yang tarifnya berubah, secara batch.

<div className="dg" data-dg="fee-tier-pass">
  <div className="dg-c" style={{aspectRatio:"720 / 342"}}>
    <svg className="dg-w" viewBox="0 0 720 342" aria-hidden="true">
      <path className="dg-wire" d="M 125.60 78.00 L 139.20 78.00" />

      <path className="dg-head" d="M 145.60 78.00 L 139.20 82.40 L 139.20 73.60 Z" />

      <path className="dg-wire" d="M 275.20 78.00 L 288.80 78.00" />

      <path className="dg-head" d="M 295.20 78.00 L 288.80 82.40 L 288.80 73.60 Z" />

      <path className="dg-wire" d="M 424.80 78.00 L 438.40 78.00" />

      <path className="dg-head" d="M 444.80 78.00 L 438.40 82.40 L 438.40 73.60 Z" />

      <path className="dg-wire" d="M 574.40 78.00 L 588.00 78.00" />

      <path className="dg-head" d="M 594.40 78.00 L 588.00 82.40 L 588.00 73.60 Z" />
    </svg>

    <div className="dg-b dg--sky" style={{left:"0.0000%",top:"7.6023%",width:"16.8889%",height:"30.4094%"}}><span className="dg-t">00:00 UTC</span><span className="dg-s">snapshot volume kumulatif</span></div>
    <div className="dg-b dg--sky" style={{left:"20.7778%",top:"7.6023%",width:"16.8889%",height:"30.4094%"}}><span className="dg-t">Volume jendela</span><span className="dg-s">snapshot hari ini dikurangi 14 periode lalu</span></div>
    <div className="dg-b dg--sky" style={{left:"41.5556%",top:"7.6023%",width:"16.8889%",height:"30.4094%"}}><span className="dg-t">Tabel tier</span><span className="dg-s">dibaca langsung dari chain</span></div>
    <div className="dg-b dg--blue" style={{left:"62.3333%",top:"7.6023%",width:"16.8889%",height:"30.4094%"}}><span className="dg-t">Hanya tarif berubah</span><span className="dg-s">digabung ke satu transaksi protokol</span></div>
    <div className="dg-b dg--green" style={{left:"83.1111%",top:"7.6023%",width:"16.8889%",height:"30.4094%"}}><span className="dg-t">Chain menetapkan tarifnya</span><span className="dg-s">dari indeks tier</span></div>
    <div className="dg-b dg-dashed dg-left" style={{left:"0.0000%",top:"45.0292%",width:"48.8889%",height:"23.9766%"}}><span className="dg-t">Tabel tier dibaca tiap putaran, tak disimpan</span><span className="dg-s">Layanan yang membawa salinannya sendiri terus menerapkan tarif kemarin setelah jaringan mengubahnya, dan tak ada yang tampak salah sampai ada yang merekonsiliasi biaya.</span></div>
    <div className="dg-b dg-dashed dg-left" style={{left:"51.1111%",top:"45.0292%",width:"48.8889%",height:"23.9766%"}}><span className="dg-t">Perubahan dideteksi pada tarif, bukan nomor tier</span><span className="dg-s">Ambang batas yang bergeser, atau tier yang diberi harga baru, mengubah apa yang Anda bayar tanpa mengubah nomor tier.</span></div>
    <div className="dg-b dg-dashed dg-left" style={{left:"0.0000%",top:"71.9298%",width:"48.8889%",height:"23.9766%"}}><span className="dg-t">Chain menetapkan tarif finalnya</span><span className="dg-s">Transaksinya membawa indeks tier; indeks di luar rentang yang sah menggagalkan seluruh batch alih-alih menerapkannya sebagian.</span></div>
    <div className="dg-b dg-dashed dg-left" style={{left:"51.1111%",top:"71.9298%",width:"48.8889%",height:"23.9766%"}}><span className="dg-t">Satu hari terhitung diterapkan bila semua batch komit</span><span className="dg-s">Interupsi di tengah putaran mengulang hari itu dari awal, dan itu aman karena jendela yang sama selalu memberi jawaban yang sama.</span></div>
  </div>
</div>

Ada empat hal dalam siklus itu yang layak dinyatakan, karena di situlah letak beda antara daftar tarif yang benar dan daftar tarif yang sekadar biasanya benar.

**Tabel tier dibaca dari chain di setiap putaran, tidak pernah disimpan.** Layanan yang membawa salinannya sendiri akan terus menerapkan daftar tarif kemarin setelah jaringan mengubahnya, dan tidak akan ada yang tampak salah sampai ada orang merekonsiliasi biaya.

**Perubahan dideteksi pada tarif, bukan pada nomor tier.** Membandingkan *posisi* tier melewatkan dua kasus nyata: ambang batas yang bergeser sehingga akun yang tidak berubah jatuh ke tier lain, dan tier yang diberi harga baru sementara nomornya tetap. Keduanya mengubah apa yang Anda bayar. Tidak satu pun mengubah nomor tier Anda.

**Transaksinya membawa indeks tier; chain yang menetapkan tarifnya.** Pemetaan otoritatif dari tier ke tarif diterapkan saat eksekusi, terhadap konfigurasi yang berlaku di blok itu. Indeks di luar rentang yang sah menggagalkan seluruh batch alih-alih menerapkannya sebagian.

**Satu hari baru dihitung sebagai sudah diterapkan setelah semua batch-nya terkomit.** Interupsi di tengah putaran mengulang hari itu dari awal, dan itu aman karena perhitungannya idempoten — jendela yang sama menghasilkan jawaban yang sama.

Seluruh siklus ini berjalan di luar eksekusi blok dan menulis hasilnya kembali ke chain. Lihat [Layanan program](/id/protocol/architecture/programs) untuk alasan bentuknya seperti itu, alih-alih menghitung volume di dalam blok.

<h2 id="market-maker-rebates">
  Rebate market maker
</h2>

Maker yang memasok porsi yang berarti dari likuiditas venue ini **dibayar**, bukan dibebani biaya.

| Porsi volume maker 14 hari | Tarif maker |
| -------------------------: | ----------: |
|                     > 0,5% |     −0,001% |
|                     > 1,5% |     −0,002% |
|                     > 3,0% |     −0,003% |

Tarif negatif adalah rebate, diterima pada setiap eksekusi maker.

Dasar perhitungannya berbeda dari tier volume, dan perbedaan itulah intinya. Kelayakan tier diukur terhadap **volume absolut Anda**. Kelayakan rebate diukur sebagai **porsi dari seluruh volume maker venue** — jadi yang diberi imbalan adalah menjadi bagian signifikan dari order book, dan itu bukan hal yang sama dengan bertransaksi banyak. Ada akun yang besar dalam angka absolut tetapi tidak berarti bagi kedalaman order book; rebate ini ditujukan pada akun yang kepergiannya akan terasa.

Rebate dibatasi on-chain: tarif maker tidak bisa turun di bawah −0,1% terlepas dari konfigurasinya. Lihat [Biaya trading](/id/programs/fees#what-the-rate-can-be).

<h2 id="negotiated-rates">
  Tarif hasil negosiasi
</h2>

Tarif bisa ditetapkan langsung pada akun tertentu, di luar daftar tier.

Akun yang membawa tarif hasil negosiasi **sengaja dilewati oleh putaran tier harian**. Tanpa pengecualian itu, perhitungan ulang harian akan menimpa kesepakatan begitu volume bergerak, dan akan terus melakukannya setiap malam — jenis kegagalan yang tak terlihat sampai ada orang merekonsiliasi eksekusi selama sebulan.

<h2 id="reading-your-tier">
  Membaca tier Anda
</h2>

Kedua bagiannya adalah state chain dan keduanya bisa di-query: **daftar tarif** lewat konfigurasi biaya, dan **tier serta tarif yang ditetapkan untuk akun Anda** lewat state akun.

Kebiasaan yang layak ditanamkan dalam setiap integrasi adalah membaca keduanya secara langsung dan menghitung biaya yang diperkirakan dari situ, alih-alih menyimpan tarif saat onboarding. Itu juga satu-satunya cara mendeteksi kasus ketika tarif Anda berubah karena sebab lain di luar volume Anda sendiri — revisi daftar tarif, pergeseran ambang batas, atau tarif hasil negosiasi yang diterapkan.

<h2 id="where-to-go-next">
  Langkah berikutnya
</h2>

<CardGroup cols={2}>
  <Card title="Biaya trading" href="/id/programs/fees">
    Bagaimana biaya dihitung dan tarif mana yang berlaku.
  </Card>

  <Card title="Market making" href="/id/trading/market-making">
    Apa yang diminta venue dari maker, dan apa yang disediakannya.
  </Card>

  <Card title="Layanan program" href="/id/protocol/architecture/programs">
    Bagaimana tier dihitung off-chain dan dikomit kembali.
  </Card>

  <Card title="Biaya non-trading" href="/id/programs/other-fees">
    Biaya bridge, akun, vault, dan likuidasi.
  </Card>
</CardGroup>
