# 协议v2.0

SAT20 资产发行协议ORDX会在兼容老版本的基础上，根据BTC生态建设的需要，不断对协议进行升级。

本次升级主要是为了支持聪资产更好的在二层网络流通，同时让协议更简洁，更好用。

## 数据写入方式

ORDX协议的数据写入方式，从最初的铭文方式，升级为OP\_RETURN数据方式。

## 新的指令

v2.0版本主要支持两类新指令：

1. 资产解绑指令
2. 地址级冻结/解冻指令

### 1. 资产解绑指令

这个指令的效果是永久的。 解绑指令只能由资产owner发起执行，将目标utxo（可多个）作为输入，输出到某个vout，同时增加解绑指令op\_return，指定解绑的ticker+vout，该vout中指定的ticker资产全部解绑（其他类型资产不受影响）。

数据格式： OP\_RETURN ｜ SAT20\_MAGIC\_NUMBER ｜ CT\_TYPE ｜ CONTENT\
SAT20\_MAGIC\_NUMBER = OP\_16\
CONTENT\_TYPE\_UNBIND = OP\_DATA\_40\
CONTENT = 目标ticker名称+vout

### 2. 地址级冻结/解冻指令

该指令主要用于稳定币等受控资产场景。

冻结和解冻的目标，是某个地址在某个ticker下的资产权限状态。

冻结的核心规则如下：

1. 冻结是地址级的，目标对象为 `ticker + address + height`
2. 冻结生效区块高度在内容中明确指定，但该指令所在交易的确认高度与冻结高度差必须小于等于2，才算有效的冻结指令
3. 被冻结地址上，该ticker当前持有的资产，以及后续再流入该地址的该ticker资产，都视为冻结资产
4. 冻结资产不可再作为该ticker的有效可转移资产使用
5. 如果底层BTC UTXO被花费，这部分冻结资产不会跟随输出转移，而是在协议层直接销毁
6. 解冻后，该地址上的绑定了该ticker资产的utxo可以正常转移资产；已经因为花费而被协议层销毁的资产不会恢复

发起权限：

1. 只有selfmint=100的ticker才有可能被冻结/解冻
2. 仅允许该ticker的deployer发起冻结和解冻
3. 这里的deployer，指的是该ticker deploy铭文当前的owner，而不是最初部署时的铭刻地址

数据格式： OP\_RETURN ｜ SAT20\_MAGIC\_NUMBER ｜ CT\_TYPE ｜ CONTENT\
SAT20\_MAGIC\_NUMBER = OP\_16\
CONTENT\_TYPE\_FREEZE = OP\_DATA\_43\
CONTENT\_TYPE\_UNFREEZE = OP\_DATA\_44\
CONTENT = 目标ticker名称+目标address+冻结高度 （解冻不需要提供高度）

其中：

* `目标ticker` 只能是 ordx 协议的 ft 类型资产
* `目标address` 为标准地址字符串
* 同一个地址是否处于冻结状态，由该ticker下最近一次冻结/解冻指令决定

该功能在索引器1.5.0激活。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sat20.org/zi-chan-fa-xing-xie-yi-ordx/protocolv2.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
