> ## 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>
  这是参考费率表，不是预言机。实时表格发布在链上，可以直接读。任何把这些数字写死的集成，迟早会按一个网络根本没收的费率去算——见[开发者](/zh/developers/overview)。
</Warning>

<h2 id="how-volume-is-measured">
  交易量如何计量
</h2>

$$
\text{加权交易量} = \text{永续交易量} + 2 \times \text{现货交易量}
$$

现货按双倍计。现货交易量更难做出来，也没有杠杆去放大永续那边的名义价值；给它更高的权重，两者作为“活跃度”的度量才可比，不至于变成“杠杆倍数”的度量。

这个窗口有三个性质：

**滚动，不按自然周期**。十四天，从当下往回数。没有可以拿来做文章的月度重置，也没有月末的断崖。

**每日重算**。交易量每天 00:00 UTC 快照一次。窗口值等于今天的累计快照减去十四个周期之前的那一份——所以它是*滚动*窗口，不是累计总量。

**汇总到母账户**。每个子账户的交易量都归到母地址名下，算出的档位对所有子账户生效。把活动拆到多个子账户既没好处也没坏处——怎么拆都是同一个数。

<h2 id="when-your-tier-changes">
  档位何时变化
</h2>

档位每天重算一次，在 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>

这个循环里有四点值得说明——“一直正确的费率表”和“通常正确的费率表”，差别就在这里。

**档位表每次都从链上读取，从不缓存**。自己存一份副本的服务，会在网络改动费率表之后继续套用昨天的表；而在有人去对某一笔手续费之前，一切看起来都正常。

**变化按费率检测，不按档位号**。只比档位*位置*，会漏掉两种真实情况：门槛移动了，交易量没变的账户落进另一档；以及某一档被重新定价，档位号却不动。两种都改变你的支出，两种都不改变你的档位号。

**交易里带的是档位索引，费率由链上解析**。从档位到费率的权威映射在执行时套用，依据的是那个区块上生效的配置。索引超出有效范围，整批失败，不会部分生效。

**只有当天所有批次全部提交，这一天才算完成**。中途中断会重放一整天，这是安全的——计算本身幂等，同样的窗口得出同样的结果。

整个循环跑在区块执行之外，再把结果写回链上。为什么做成这个形态、而不是在区块内计算交易量，见[计划服务](/zh/protocol/architecture/programs)。

<h2 id="market-maker-rebates">
  做市商返佣
</h2>

挂单方只要为交易场所提供了可观的流动性份额，就是**收钱**，不是被收费。

| 占 14 日挂单成交量的份额 |    挂单费率 |
| -------------: | ------: |
|         > 0.5% | −0.001% |
|         > 1.5% | −0.002% |
|         > 3.0% | −0.003% |

负费率就是返佣，每一笔挂单成交都会收到。

它的计量基准和交易量档位不一样，而这个不一样正是重点。档位资格看的是**你的绝对交易量**；返佣资格看的是**占全场挂单成交量的份额**——奖励的是“成为订单簿的重要组成部分”，这和“交易得多”不是一回事。账户可以绝对规模很大，却对簿上深度无足轻重；返佣瞄准的是那种一走就会被立刻察觉的账户。

返佣在链上设有边界：无论如何配置，挂单费率都不能低于 −0.1%。见[交易手续费](/zh/programs/fees#what-the-rate-can-be)。

<h2 id="negotiated-rates">
  协商费率
</h2>

费率可以直接绑定在某个账户上，不走档位表。

带协商费率的账户，每日档位重算会**刻意跳过**。没有这条豁免，日常重算会在交易量第一次变动时就把谈好的条件覆盖掉，此后每晚再覆盖一次——这种故障，不去对一个月的成交是看不出来的。

<h2 id="reading-your-tier">
  查看你的档位
</h2>

两半都是链上状态，都能查：**费率表**查手续费配置，**你账户分到的档位与费率**查账户状态。

任何集成都该养成一个习惯：两者都实时读，据此算预期成本，不要在接入时存下一个费率。也只有这样，才能发现“费率变了，而原因不在你自己的交易量”——比如费率表修订、门槛移动，或者给你套上了一个协商费率。

<h2 id="where-to-go-next">
  后续阅读
</h2>

<CardGroup cols={2}>
  <Card title="交易手续费" href="/zh/programs/fees">
    手续费如何计算，以及哪一档费率适用。
  </Card>

  <Card title="给做市商" href="/zh/trading/market-making">
    交易场所对挂单方的要求，以及它提供什么。
  </Card>

  <Card title="计划服务" href="/zh/protocol/architecture/programs">
    档位如何在链下计算并提交回链上。
  </Card>

  <Card title="非交易类手续费" href="/zh/programs/other-fees">
    跨链桥、账户、金库与强平相关成本。
  </Card>
</CardGroup>
