产品 · Radar
此刻谁能冻结你的资产
Radar 里长期有价值的不是告警,而是:对你持有的每一项资产,你始终知道此刻是哪一方握有冻结权限,这个权限一旦变化你当天就会知道,并且每一个答复都会告诉你——这份权力我们哪里看得见、哪里看不见。实时执法信号叠在这之上——它只与你自己的地址簿做匹配,不做别的。
常态冻结权限
你今天上的一个币,明天可能就换成另一方能冻结它——你这边什么都没变,也没有任何地方发过公告。Radar 读取链上此刻实际生效的控制权限,与在册记录做对账,任何不一致都会告警。
- 谁握有权限
- 对你持有的每一项资产,此刻能冻结、扣押或使其无法转移的是哪一方——从链上读,不是从文档或新闻稿里读。
- 权限发生转移时
- 控制方发生变化本身就是一条独立告警,与任何执法事件无关。即使当天没有任何冻结,权限的移动本身就是信息。
- 一套模型,多种机制
- 拒付名单式封锁、冻结权限、以及永久委托或回收权,被归一化进同一套事件模型,因此合约毫无共同点的资产也共用同一种告警形状。不落入既有类别的机制会被明确标注为需要定制适配,而不是被悄悄近似处理。
- 上币之前
- 在你接受一项资产之前,对它做静态权限检查——包括「你控制之外的一方能否把它从你持有的钱包里直接转走」。在 Solana 上粒度是 token account 而不是钱包,同一钱包下的两个账户分别作答。
信号生命周期
六个状态。每一个对你都有含义,不只是对我们的管道有含义。其中两个是陷阱,表格下面分别写清楚。
| 状态 | 对你意味着什么 | 你该做什么 |
|---|---|---|
| PROPOSED | 已有一笔针对某地址的冻结被提交,尚未执行。 | 立刻开始拒收来自它的入金。提前拒收就是这个状态存在的全部理由。 |
| CONFIRMING | 该提交正在向阈值累积确认数,进度随时更新。 | 用它判断紧迫程度,不要用它判断最终结果。 |
| EXECUTED | 冻结已生效。该条目转为正式名单条目,并记下时间差。 | 从此按已确认的名单命中处理,并预期它会进入回溯性的公开记录。 |
| EXPIRED | 该提交超过配置窗口仍未执行。它被降权,而不是被删除。 | 把权重降下来。但不要据此认为那个意图已经消失。 |
| REVOKED | 该提交被撤回,地址退出你的匹配集。这与「无风险」不是一回事。 | 你把它从本地名单移除,理由必须是「收到了这条事件」,而不是「它不再出现了」。撤回之后完全可能换一笔重新提交。 |
| STALE | 我们当前无法验证这条记录——注册条目失效,或采集器断连。数据不可信,而不可信不等于安全。 | 把它当作盲区,对这部分敞口回退到更保守的策略。 |
一条匹配返回什么
API 回答的是关于你自己地址的问题,不回答关于别人地址的问题。
- 是你的哪个地址
- 指向你自有地址簿中某一条的不透明引用。它不是任何簿外对象的查询键。
- 以什么关系
- 一个关系类别——直接、上游、或经由路径——不会更细。
- 有多严重
- 一个严重程度类别。不是数字,不是百分比,也不是那种能拿去排序、然后被误当成精确度的东西。
- 处于哪个状态、什么时候
- 上表中的生命周期状态,附观测到的时间,UTC。
- 证据在哪里
- 指向本次匹配所依据的那份留存记录的内容寻址引用。
投递
四条通道。同样的载荷、同样的顺序,只是目的地不同。
- Webhook
- 带签名,至少投递一次,指数退避;重试窗口结束仍未送达的进死信队列,你可以从队列里重放。
- WebSocket
- 基于游标的流,断线重连从你停下的位置续上,而不是从头重放或者直接跳过缺口。
- 邮件
- 给那些不在值班表上、但需要收件箱里留下这条记录的人。
- IM
- 推到你的值班团队真正在看的那个频道——没人读的告警不算告警。
覆盖健康度
每个响应都带一段覆盖健康度:对每一个我们本应在看的权限,当时是否可观测、采集器落后多少。它不是一个状态页,而是你正在读的这个响应里的一个字段。