# Flint：用同一交易对核L2订单簿、成交带与外部估计价

整理：链小知（AI 辅助）
资料核对日期：2026-10-14
引用地址：https://lianxiaozhi.com/tools/guides/flint-read-l2-book-fills-external-quotes
难度：进阶
核验方式：官方文档整理，未执行真实账户操作

按官方字段读已有行情样例，核快照/重连、十进制单位、成交身份和健康事件，形成可用深度记录。全程不接入业务行情流。

## 使用工具
- [Flint Trade](https://lianxiaozhi.com/tools/flint-trade) · [官方入口](https://flint.trade/)

## 前置条件
- 准备官方Market data、Units、Endpoints正文与已有脱敏book/fill样例；没有样例时只能完成文档字段映射。
- 记录样例的环境、采集时间和交易对目录，保持全部地址/身份脱敏；不安装SDK、不创建maker、不请求API。

## 1. 先选公开行情路径与正确环境

当前官方将现货和Coming soon永续分开。公开行情不用maker_id或session；做市路径须团队分配maker_id，email管理权限也不自动等于链上管理员权限。

对照Endpoints，在记录中明确mainnet或devnet及对应public endpoint；文档SDK默认mainnet。本文只读这张映射，不连接端点。

核对结果：记录现货、环境与公开MarketDataService，未把做市登录或永续预告当先决条件。
依据：[Flint current spot identity](https://flint.trade/)
依据：[Flint maker vs read only path](https://docs.flintlabs.dev/overview/onboarding)
依据：[Flint environments](https://docs.flintlabs.dev/overview/endpoints)

## 2. 从交易对目录映射base与quote

以已有ListPairs目录核base/quote spot id、mint、decimals和atoms-per-lot。文档SOL/USDC示例base_id=1、quote_id=0仅作示例，不能把数字固定为所有部署目录。

Flint每个base有SpotMarket、USDC有GlobalMarket；跨base交易是在匹配时合成，目录交易对不代表独立一对一池账户。若脱敏目录缺mint/环境，则身份保持未知。

核对结果：同一条目录能对应样例pair；缺目录时不按SOL名称猜mint或spot id。
依据：[Flint market units and matching](https://docs.flintlabs.dev/overview/exchange)
依据：[Flint orderbook and fills method](https://docs.flintlabs.dev/sdks/market-data)

## 3. 按L2快照与重连顺序整理已有记录

官方方法先GetBook({pair,level:L2})取得快照，再Subscribe pairs/level/snapshotOnly=false接增量。L1只有最佳bid/ask；L3为逐maker列表且不含虚拟oracle-offset订单，不能用L3缺项证明该流动性不存在。

在已有记录中，每次streamWithBackoff connected（含重连）都应有GetBook重同步；item再应用事件。SDK能重连不等于本地簿从未漏增量；缺重同步快照就标记深度不完整，不拼接成连续无缺口。

核对结果：能指出首次与每次重连对应的快照；缺失时明确本地L2完整性未知。
依据：[Flint orderbook and fills method](https://docs.flintlabs.dev/sdks/market-data)

## 4. 保持decimal字符串与微秒时间

price.value是quote/base，size.value是base人类单位；文档price "155.14"、size "10.0"意味着10 SOL按155.14 USDC/SOL，不再乘token decimals。保留decimal精度，不强制转二进制浮点。

Timestamp.micros是Unix微秒，slot为Solana slot；它们不是秒/毫秒互换。best_bid/best_ask/mid在空侧可省略，缺值不填0或构造中间价。

核对结果：输出保留原字符串、单位和micros/slot，空侧明确缺值。
依据：[Flint units](https://docs.flintlabs.dev/overview/units)

## 5. 拆分Flint成交与外部参考

SubscribeFills为空pair过滤时包含所有pair，公开fills不含maker_id，不能归因自己的库存。maker-attributed fills属认证MakerService。

SubscribeExternalFills只订一个pair，price=quote/base、size=base，source是聚合器；SubscribeExternalQuotes的bid/ask以同一固定base名义量轮询，仅global USD numeraire pair，ask_route/bid_route是各腿AMM标签。这是可能过时且未计实际滑点/gas/impact的参考，不是可执行firm quote。

核对结果：成交类型、source、pair范围分别记录；未把外部估计价或公开成交当本人实际成交。
依据：[Flint orderbook and fills method](https://docs.flintlabs.dev/sdks/market-data)

## 6. 按健康事件和限额标记结果可用范围

StatusEvent可global（无pair）或pair级；Degraded可能过时，Halted不可据此行动。它们是advisory，SDK不会自动阻止业务调用。缺状态记录不推断Healthy。

当前默认public unary每IP 50次/秒桶、stream100并发连接；RESOURCE_EXHAUSTED为gRPC8，按回退恢复而非立即重试。只读本次无需请求接口。7月24日/9月1日产品评论引用项目与基金会，费用采样、集成状态和流量仅历史上下文。

核对结果：完成一份带时点/身份/深度完整性/健康/外部参考限制的记录，未知项保留。
依据：[Flint orderbook and fills method](https://docs.flintlabs.dev/sdks/market-data)
依据：[Flint API services](https://docs.flintlabs.dev/api/)
依据：[Flint Frontier Traders product commentary](https://solanacompass.com/news/flint-trade-joins-frontier-traders-as-an-official-solana-market-maker-venue)
依据：[Flint July launch commentary](https://solanacompass.com/news/flint-trade-launches-on-chain-prop-amm-for-solana-spot-market-makers)

## 常见错误
- 把L3当全部虚拟订单或把自动重连当无漏增量。
- 公开fills不含maker_id；外部quote的AMM label不证明当前Flint集成可执行。
- 7月OKX live与9月in progress的报道差异未核当前，不以旧采样费率报价。

## 完成检查
- 完成同一pair的环境/目录/精度核对。
- 明确重连缺口、身份未知和外部参考估计范围，无业务调用。

## 相关知识

## 官方依据
- [Flint current spot identity](https://flint.trade/)
- [Flint maker vs read only path](https://docs.flintlabs.dev/overview/onboarding)
- [Flint environments](https://docs.flintlabs.dev/overview/endpoints)
- [Flint market units and matching](https://docs.flintlabs.dev/overview/exchange)
- [Flint orderbook and fills method](https://docs.flintlabs.dev/sdks/market-data)
- [Flint units](https://docs.flintlabs.dev/overview/units)
- [Flint API services](https://docs.flintlabs.dev/api/)
- [Flint Frontier Traders product commentary](https://solanacompass.com/news/flint-trade-joins-frontier-traders-as-an-official-solana-market-maker-venue)
- [Flint July launch commentary](https://solanacompass.com/news/flint-trade-launches-on-chain-prop-amm-for-solana-spot-market-makers)
