Skip to main content
上市一个市场、改变它的状态、让它退役,都是协议操作,不是在别处进行的管理动作。它们在区块内执行,排在区块优先级的最前面,效果落在某个具体的区块高度上,看得见,而不是先宣布、再不透明地生效。 这对做集成的人有一个实际影响:市场状态是链上状态,而且是权威的。客户端不需要别人告诉它某个市场开了——它自己能看见。

市场可能处于的状态

市场从来不只是“开”或“关”。它带着一个状态,精确决定订单簿会接受哪些订单。
Initializing订单簿什么都不接受
PreOpen只挂单订单,且仅限白名单账户
Active全部接受
PostOnly所有吃单订单都被拒绝
Paused什么都不接受
ReduceOnly只接受减少现有仓位的订单
FinalSettlement什么都不接受 — 终态
PostOnly 和 Paused 可以回到 Active。ReduceOnly 不能——它是下线路径。
市场状态是链上状态,在区块优先级的最前面执行。客户端不需要别人告诉它某个市场开了——它自己能看见。
这些不是刻度盘上的严重程度等级。每一个都是针对不同问题的不同答案。 PreOpen 让市场先有订单簿,再有第一笔成交。白名单挂单方可以报价,而由于只接受只挂单订单,订单簿搭建期间没有任何订单能跨价成交。等市场开放,两侧已经有报价,不会开在空簿上、由第一个吃单方定价。 PostOnly 停掉吃单,不停报价。它对应的是“此刻价格发现失效了”——挂单方仍可调整报价,但没人能吃掉一个过期的报价。 ReduceOnly 只出不进。市场正在下线,或者风险特征变化到不再适合继续增加敞口,就会进这个状态。

市场如何开放

上市是一次配置操作,把合约规格写到链上:最小价格变动单位、最小数量单位、指数构成、杠杆档位、资金费率参数、仓位上限和价格带。这个市场的行为,没有哪一部分落在那条记录之外。 规格在市场接受任何订单之前就写好了,从存在的那一刻起就能读。轮询市场列表的客户端会先看到这个新市场,连同它的完整参数,然后市场才变得可交易;中间那段时间差,正是集成方给自己做配置的窗口。 上市操作可以加多签要求:操作必须带上满足签名门槛的证明,否则执行会把它拒掉。这一条由协议在执行时强制,不靠外围流程,所以它不是一条谁想绕就能绕的政策。

市场如何退役

退市是一段反向流程,不是一个开关。市场先转入 ReduceOnly,已开仓位可以平掉,新的敞口建不起来,然后才转入 FinalSettlement。 这个顺序是操作规程,状态机自己并不强制——但关键恰恰在顺序上。仓位还开着就直接关掉市场,持仓者会背上一个没法从订单簿退出的敞口,一次计划中的运维变更就变成了一次按协议指定价格的强制结算。先过一遍 ReduceOnly,等于给每个持仓者一次按市场价平仓的机会。 最终结算时仍未平仓的仓位怎么结,取决于具体合约,会连同退市通知和通知期一起公布。
退市通知是唯一一类需要你动手的公告。如果你在一个即将进入 ReduceOnly 的市场里有仓位,自己挑价格平掉,和交给最终结算流程处理,结果有实质差别。通知期怎么运作,见规则变更。

盘前合约

有些市场在标的还没有流动的现货市场时就已上市——比如代币上市之前,或股票发行之前。 在内核眼里它们是普通市场,在交易者眼里不是。指数价格的来源更少、更薄,因而更容易被推动,也更容易跳空。规格上反映了这一点:更低的杠杆、更宽的资金费率上限、更紧的仓位限制。见市场。

面向上市做集成

反复枚举市场,不要只枚举一次。 客户端只在启动时读一遍市场列表、之后再也不读,就会悄无声息地错过此后上市的一切。上市是常态化、持续发生的事。 读取规格,不要把规格存下来。 最小价格变动单位、杠杆档位、资金费率上限,在已上线的市场上照样会变。客户端手里攥着陈旧副本,提交的订单会被网络拒绝,算仓位大小时套的也是早已失效的限制。 处理所有状态,不要只处理 Active。 订单因市场状态被拒,不是你的订单有 bug——那是市场在告诉你它当前接受什么。把 PostOnly、ReduceOnly、Paused 当成彼此不同的东西来处理,正是“优雅降级的集成”和“对着墙不停重试的集成”之间的区别。

公告

公告渠道自 2026 年 9 月 20 日公开测试网开始。在那之前,私有测试网上的市场上线与变更不发通知,因为那里的一切都不承载价值。
每一份上市与退市通知都会包含:市场及其完整规格、生效区块或日期、给出的通知期,以及——对退市而言——仍未平仓仓位的结算办法。

后续阅读

市场

一份合约规格包含什么。

规则变更

通知期,以及变更如何生效。

交易排序

为什么系统操作排在区块最前面。

协议变更日志

已发布内容的带日期记录。