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

料率表

メイカー料率はティア4でゼロになります。それより先のメイカー側の改善は、出来高ティアではなくリベートプログラムから得られます。報いている対象がそもそも別のものだからです。以下で説明します。
スポットの料率も同じ設定構造に含まれていますが、現在稼働しているのは無期限先物マーケットです。スポットの列はスポットマーケットが開いたときに適用される料率であり、現時点では何に対しても課されていません。
これは参照用の料率表であって、オラクルではありません。実際の表はオンチェーンで公開されており、直接読み取れます。この数値をハードコードした統合は、いずれネットワークが課していない料率を適用することになります。開発者を参照してください。

出来高の測定方法

加重出来高=無期限先物の出来高+2×スポットの出来高\text{加重出来高} = \text{無期限先物の出来高} + 2 \times \text{スポットの出来高} スポットは2倍で数えます。スポットの出来高は積み上げるのが難しく、無期限先物の想定元本を膨らませるレバレッジが一切乗らないため、重みを大きくすることで、両者をレバレッジの尺度ではなく活動量の尺度として比較できるようになります。 集計ウィンドウには3つの性質があります。 暦ではなくローリング。現在から遡って14日間です。狙って取引するような月次リセットはなく、月末の断崖もありません。 毎日再計算。出来高は毎日00:00 UTCに1回スナップショットを取ります。ウィンドウは今日の累計スナップショットと14期前のスナップショットの差であり、これが単なる累計ではなくローリングウィンドウである理由です。 親アカウントに集約。すべてのサブアカウントの出来高は親アドレスの下で合算され、算出されたティアがそのすべてに適用されます。サブアカウントに活動を分散しても有利にも不利にもならず、どちらでも同じ数字になります。

ティアが変わるタイミング

ティアは1日1回再計算され、00:00 UTC以降の最初のブロックで、料率が変わったすべてのアカウントにバッチで適用されます。
00:00 UTC累計出来高をスナップショット
ウィンドウ出来高今日のスナップショットから14期前を引く
ティア表チェーンからライブで読む
料率が変わった分だけプロトコルトランザクションにバッチ化
チェーンが料率を解決ティア番号から
ティア表は毎回チェーンから読み、保持しない自前のコピーを持つサービスは、ネットワークが表を変えたあとも昨日の料率表を適用し続けます。誰かが手数料を照合するまで、異常には見えません。
変化はティア番号ではなく料率で検出するしきい値が動いても、ティアの料率が変わっても、ティア番号は変わらないまま支払額が変わります。
最終的な料率を解決するのはチェーントランザクションが運ぶのはティア番号です。有効範囲外の番号は、部分的に適用されるのではなくバッチ全体を失敗させます。
その日の適用が完了するのは、全バッチのコミット後途中で中断すればその日の分をまるごとやり直しますが、同じウィンドウからは同じ答えが出るため安全です。
このループについて述べておくべきことが4つあります。正しい料率表と、たいていは正しい料率表を分けるのは、ここだからです。 ティア表は毎回チェーンから読み、保持しない。自前のコピーを持つサービスは、ネットワークが表を変えたあとも昨日の料率表を適用し続けます。誰かが手数料を照合するまで、異常には見えません。 変化はティア番号ではなく料率で検出する。ティアの位置を比べる方式は、実際に起きる2つのケースを取りこぼします。しきい値が動いて、何も変わっていないアカウントが別のティアに入る場合と、番号は同じままティアの料率が変わる場合です。どちらも支払額を変えますが、どちらもティア番号を変えません。 トランザクションはティア番号を運び、料率はチェーンが解決する。ティアから料率への正式な対応付けは、そのブロック時点で有効な設定に対して実行時に適用されます。有効範囲外の番号は、部分的に適用されるのではなくバッチ全体を失敗させます。 その日の適用が完了したとみなすのは、全バッチがコミットされてからです。処理の途中で中断した場合は、その日の分をまるごとやり直します。計算は冪等なので安全です。同じウィンドウからは同じ答えが出ます。 このループ全体はブロック実行の外で走り、結果をオンチェーンに書き戻します。ブロック内で出来高を計算せずにこの形にしている理由はプログラムサービスを参照してください。

マーケットメイカー向けリベート

取引所の流動性のうち意味のある割合を供給しているメイカーには、手数料を課すのではなくリベートを支払います。 マイナスの料率はリベートであり、メイカーとして約定するたびに受け取ります。 判定の基準が出来高ティアとは異なり、その違いこそが要点です。ティアの資格は自分自身の絶対的な出来高で測ります。リベートの資格は取引所全体のメイカー出来高に占めるシェアで測ります。つまり報われるのは板の中で意味のある割合を占めていることであり、それは大量に取引することとは別です。絶対額では大きくても、板の厚みには寄与していないアカウントはありえます。リベートが対象とするのは、いなくなれば板がその分だけ薄くなるアカウントです。 リベートにはオンチェーンで下限があります。設定がどうであれ、メイカー料率が−0.1%を下回ることはありません。取引手数料を参照してください。

個別に取り決めた料率

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

自分のティアを確認する

どちらもチェーン状態であり、どちらも照会できます。料率表は手数料設定から、アカウントに割り当てられたティアと料率はアカウント状態から読み取れます。 どの統合にも組み込む価値のある習慣は、導入時に料率を保存するのではなく、両方をその都度読み取って想定コストを計算することです。自分の出来高以外の理由(料率表の改定、しきい値の変更、個別料率の適用)で料率が変わった場合に気づける、唯一の方法でもあります。

次に読む

取引手数料

手数料の計算方法と、どの料率が適用されるのかです。

マーケットメイカー向け

取引所がメイカーに求めるものと、提供するものです。

プログラムサービス

ティアがオフチェーンで計算され、チェーンへ書き戻される仕組みです。

取引以外の手数料

ブリッジ、アカウント、ヴォールト、強制決済にかかるコストです。