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

# 手数料ティア

> 料率表、ローリング出来高の測定と集計の方法、ティアが変わるタイミング、主要なメイカーに支払われるリベートです。

ローリング出来高が増えるほど料率は下がります。料率表はオンチェーンの設定であり、どのティアに属するかはオンチェーンのアカウント状態です。いずれも読み取れる値で、推測する必要はありません。

<h2 id="the-schedule">
  料率表
</h2>

| ティア | 14日間の加重出来高 | 無期限先物テイカー | 無期限先物メイカー | スポットテイカー | スポットメイカー |
| --: | ---------: | --------: | --------: | -------: | -------: |
|   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% |

メイカー料率はティア4でゼロになります。それより先のメイカー側の改善は、出来高ティアではなく[リベートプログラム](#market-maker-rebates)から得られます。報いている対象がそもそも別のものだからです。以下で説明します。

<Note>
  スポットの料率も同じ設定構造に含まれていますが、現在稼働しているのは無期限先物マーケットです。スポットの列はスポットマーケットが開いたときに適用される料率であり、現時点では何に対しても課されていません。
</Note>

<Warning>
  これは参照用の料率表であって、オラクルではありません。実際の表はオンチェーンで公開されており、直接読み取れます。この数値をハードコードした統合は、いずれネットワークが課していない料率を適用することになります。[開発者](/ja/developers/overview)を参照してください。
</Warning>

<h2 id="how-volume-is-measured">
  出来高の測定方法
</h2>

$$
\text{加重出来高} = \text{無期限先物の出来高} + 2 \times \text{スポットの出来高}
$$

スポットは2倍で数えます。スポットの出来高は積み上げるのが難しく、無期限先物の想定元本を膨らませるレバレッジが一切乗らないため、重みを大きくすることで、両者をレバレッジの尺度ではなく活動量の尺度として比較できるようになります。

集計ウィンドウには3つの性質があります。

**暦ではなくローリング**。現在から遡って14日間です。狙って取引するような月次リセットはなく、月末の断崖もありません。

**毎日再計算**。出来高は毎日00:00 UTCに1回スナップショットを取ります。ウィンドウは今日の累計スナップショットと14期前のスナップショットの差であり、これが単なる累計ではなく*ローリング*ウィンドウである理由です。

**親アカウントに集約**。すべてのサブアカウントの出来高は親アドレスの下で合算され、算出されたティアがそのすべてに適用されます。サブアカウントに活動を分散しても有利にも不利にもならず、どちらでも同じ数字になります。

<h2 id="when-your-tier-changes">
  ティアが変わるタイミング
</h2>

ティアは1日1回再計算され、00:00 UTC以降の最初のブロックで、料率が変わったすべてのアカウントにバッチで適用されます。

<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">累計出来高をスナップショット</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">ウィンドウ出来高</span><span className="dg-s">今日のスナップショットから14期前を引く</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">ティア表</span><span className="dg-s">チェーンからライブで読む</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">料率が変わった分だけ</span><span className="dg-s">プロトコルトランザクションにバッチ化</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">チェーンが料率を解決</span><span className="dg-s">ティア番号から</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">ティア表は毎回チェーンから読み、保持しない</span><span className="dg-s">自前のコピーを持つサービスは、ネットワークが表を変えたあとも昨日の料率表を適用し続けます。誰かが手数料を照合するまで、異常には見えません。</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">変化はティア番号ではなく料率で検出する</span><span className="dg-s">しきい値が動いても、ティアの料率が変わっても、ティア番号は変わらないまま支払額が変わります。</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">最終的な料率を解決するのはチェーン</span><span className="dg-s">トランザクションが運ぶのはティア番号です。有効範囲外の番号は、部分的に適用されるのではなくバッチ全体を失敗させます。</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">その日の適用が完了するのは、全バッチのコミット後</span><span className="dg-s">途中で中断すればその日の分をまるごとやり直しますが、同じウィンドウからは同じ答えが出るため安全です。</span></div>
  </div>
</div>

このループについて述べておくべきことが4つあります。正しい料率表と、たいていは正しい料率表を分けるのは、ここだからです。

**ティア表は毎回チェーンから読み、保持しない**。自前のコピーを持つサービスは、ネットワークが表を変えたあとも昨日の料率表を適用し続けます。誰かが手数料を照合するまで、異常には見えません。

**変化はティア番号ではなく料率で検出する**。ティアの*位置*を比べる方式は、実際に起きる2つのケースを取りこぼします。しきい値が動いて、何も変わっていないアカウントが別のティアに入る場合と、番号は同じままティアの料率が変わる場合です。どちらも支払額を変えますが、どちらもティア番号を変えません。

**トランザクションはティア番号を運び、料率はチェーンが解決する**。ティアから料率への正式な対応付けは、そのブロック時点で有効な設定に対して実行時に適用されます。有効範囲外の番号は、部分的に適用されるのではなくバッチ全体を失敗させます。

**その日の適用が完了したとみなすのは、全バッチがコミットされてからです**。処理の途中で中断した場合は、その日の分をまるごとやり直します。計算は冪等なので安全です。同じウィンドウからは同じ答えが出ます。

このループ全体はブロック実行の外で走り、結果をオンチェーンに書き戻します。ブロック内で出来高を計算せずにこの形にしている理由は[プログラムサービス](/ja/protocol/architecture/programs)を参照してください。

<h2 id="market-maker-rebates">
  マーケットメイカー向けリベート
</h2>

取引所の流動性のうち意味のある割合を供給しているメイカーには、手数料を課すのではなく**リベートを支払います**。

| 14日間メイカー出来高に占めるシェア |  メイカー料率 |
| -----------------: | ------: |
|             > 0.5% | −0.001% |
|             > 1.5% | −0.002% |
|             > 3.0% | −0.003% |

マイナスの料率はリベートであり、メイカーとして約定するたびに受け取ります。

判定の基準が出来高ティアとは異なり、その違いこそが要点です。ティアの資格は**自分自身の絶対的な出来高**で測ります。リベートの資格は**取引所全体のメイカー出来高に占めるシェア**で測ります。つまり報われるのは板の中で意味のある割合を占めていることであり、それは大量に取引することとは別です。絶対額では大きくても、板の厚みには寄与していないアカウントはありえます。リベートが対象とするのは、いなくなれば板がその分だけ薄くなるアカウントです。

リベートにはオンチェーンで下限があります。設定がどうであれ、メイカー料率が−0.1%を下回ることはありません。[取引手数料](/ja/programs/fees#what-the-rate-can-be)を参照してください。

<h2 id="negotiated-rates">
  個別に取り決めた料率
</h2>

料率は、ティア表とは別に、アカウントへ直接設定することもできます。

個別料率を持つアカウントは、**夜間のティア処理から意図的に除外されます**。この除外がなければ、日次の再計算は出来高が動いた最初の時点で合意済みの条件を上書きし、以後も毎晩上書きし続けます。1か月分の約定を照合するまで誰も気づかない類の障害です。

<h2 id="reading-your-tier">
  自分のティアを確認する
</h2>

どちらもチェーン状態であり、どちらも照会できます。**料率表**は手数料設定から、**アカウントに割り当てられたティアと料率**はアカウント状態から読み取れます。

どの統合にも組み込む価値のある習慣は、導入時に料率を保存するのではなく、両方をその都度読み取って想定コストを計算することです。自分の出来高以外の理由（料率表の改定、しきい値の変更、個別料率の適用）で料率が変わった場合に気づける、唯一の方法でもあります。

<h2 id="where-to-go-next">
  次に読む
</h2>

<CardGroup cols={2}>
  <Card title="取引手数料" href="/ja/programs/fees">
    手数料の計算方法と、どの料率が適用されるのかです。
  </Card>

  <Card title="マーケットメイカー向け" href="/ja/trading/market-making">
    取引所がメイカーに求めるものと、提供するものです。
  </Card>

  <Card title="プログラムサービス" href="/ja/protocol/architecture/programs">
    ティアがオフチェーンで計算され、チェーンへ書き戻される仕組みです。
  </Card>

  <Card title="取引以外の手数料" href="/ja/programs/other-fees">
    ブリッジ、アカウント、ヴォールト、強制決済にかかるコストです。
  </Card>
</CardGroup>
