计算方式
费率在链上按百万分之一(ppm)存储,不用百分比。网络默认值是吃单450 ppm、挂单 150 ppm——即 0.045% 和 0.015%。
用 ppm 不是装饰。结算路径上的一切都走定点整数运算,因为两个验证者之间的取整差异不是一处对不上账,而是一次分叉。把费率写成“百分比的百分比”,就得在某个环节变成小数,而小数没有一种写法能让所有机器都算出同一个结果。
所以取整规则是明文规定的,不随实现而定:
收费设 1 个最小单位下限,是为了让极小的成交不至于免费。返佣不设这个下限则是它的镜像:协议宁可把一笔支付向下取整到零,也不会凭空铸出一个自己没挣到的单位。
哪一档费率适用于你
每一笔成交都以同样的方式确定费率,顺序是固定的。一笔成交
该账户是否带有费率?
协商账户费率直接绑在账户上,每日档位重算会刻意跳过——重算永远不会覆盖谈定的条件
交易量档位费率由滚动交易量推导,每天写回链上
网络默认费率新账户按 0 档交易,不是处在“没有费率”的状态费率为零也是费率:一旦设定,就照字面收取。
链上配置里还有一种按市场的基础费率,但它目前并未在成交路径上生效——所有市场都走上面这条“账户费率优先、默认费率兜底”的链。
费率为零也是费率,不是没有费率。账户一旦带着显式设定的费率,协议就照字面执行,哪怕它是零。不会因为这个数字看着像空值,就悄悄回退到默认值。
费率的取值范围
两种费率都在链上设了边界;配置超出边界,写入直接被拒,不会截断到边界值。
这种不对称是刻意的。挂单方负费率是设计出来的激励:交易场所为自己希望出现在簿上的流动性付钱。吃单方负费率则会变成一种靠自己跟自己交易来铸币的机制,所以它在表示层面根本就不存在,不只是被劝阻。
10% 的上限是护栏,不是费率表。真实费率比它低两个数量级;这条边界是用来挡住荒谬或者恶意的配置,不让它进入执行,并不是在描述谁真的付这么多。
下单不消耗 gas
提交、修改和撤销订单都是原生的协议交易,不需要 gas 余额,也不参与手续费竞价市场。 这件事的分量比听上去大。在订单管理要花 gas 的场所,报价本身就贵,而波动期里撤单最贵的时刻,恰恰是最需要撤单的时刻——于是做市商把报价挂得更宽来覆盖这笔成本,最后所有人都在为那段价差买单。把订单管理做成免费,是把这笔成本从价差里拿掉,不是挪个地方接着收。 所以结论是:交易手续费就是交易的全部协议成本。 没有第二项。为什么预留的保证金高于起始要求
开仓时,协议预留的保证金是起始要求加上一笔预估的平仓手续费——因为仓位如果连平仓费都付不起,最后得由交易场所来接。 这笔预估手续费按网络默认吃单费率计算,并在下单那一刻锁定——不是按你的费率,也不是按之后变成什么费率。 这两点都是刻意保守的。用默认吃单费率,账户费率日后就算上调,预留也不会不够。在下单时锁定,中途的费率变动就无法回过头去推翻一份已经检查、已经接受的保证金。 真正平仓成交时,按你的实际费率收。预留是上限,不是账单。手续费流向何处
交易手续费收进链上一个由协议控制的账户。流出去的部分投向生态,不做留存。每一笔成交
协议手续费账户链上可审计
流动性金库在簿上报价,并在强平时接手仓位;利润归存入者
保险基金在减仓波及其他交易者之前吸收亏空
推荐返佣在该计划上线之后
代币部署方针对由他人带来的现货上市——现货尚未上线
余额与流水都是链上状态——期初余额、手续费流入、转出、期末余额,任何人都能从已提交区块自己重算这笔账。
- 流动性金库,负责在簿上报价,并在强制平仓时接手仓位。手续费收入是它收益的一部分,而金库利润归存入者。
- 保险基金,在自动减仓波及其他交易者之前,吸收强平未能覆盖的亏空。
- 推荐返佣,在该计划上线之后。
- 代币部署方,针对由他人带来的上市品种。这适用于现货上市,而现货尚未上线。
哪些不是交易手续费
资金费率是最常被误认成手续费的一项。它是多头和空头之间的转移;看你持有哪一侧,可能是成本,也可能是收入。
如何降低你的支出
- 做挂单方。 对大多数账户来说,挂单与吃单之间的差距比相邻交易量档位之间的差距更大。改变怎么交易,比多交易更能压低成本。
- 在绝不能误付吃单费率时用只挂单。 会跨价的时候,它宁可被拒,也不成交。
- 把活动集中在一个母账户下。 子账户在计算档位时会合并统计,所以拆分毫无收益,只增加运维复杂度。
- 拆分大额订单。 TWAP 和阶梯订单能减少滑点,而在大额订单上,滑点通常远超手续费。
后续阅读
费率档位
费率表、档位如何计算,以及做市商返佣。
非交易类手续费
跨链桥、账户、金库与强平相关成本。
订单类型
只挂单,以及如何确保挂单方身份。
资金费率
流向其他交易者、而非协议的那部分成本。