# 什么是UTXO

UTXO是“未花费的交易输出”的缩写。自定义UTXO即在发送交易时，可以选择优先使用哪些UTXO，使用更加经济的UTXO组合或者指定特定的UTXO进行交易。此外，TokenPocket还支持较低的矿工费设置。通过矿工费设置和自定义UTXO的组合，用户可以不用担心“矿工费不足”的问题。用户可以转移剩余的比特币。任何数量比特币都不会在日常交易或最后一笔交易中浪费。

例如：&#x20;

A 向 B 转账 1BTC

C 向 B 转账 0.5BTC&#x20;

此时 B 的BTC地址上有2个UTXO，B的余额就是1.5BTC，B的钱包中有2个UTXO可以使用，分别是：

UTXO1：1BTC

UTXO2：0.5BTC

如果采用的是账户/余额模型，比如以太坊在账户中存储的是一个汇总的ETH余额，即1.5ETH。

UTXO类似于我们的钱包中不同面额的纸币，例如5张100元、6张50元......钱包中有多少钱，无非就是把这些不同面额的纸币加起来后的一个总金额。

当明白了UTXO的概念后，使用UTXO转账的过程就容易理解了，当要进行转账时，支付的就是UTXO或UTXO组合。其实，使用UTXO转账的过程，和我们平时拿纸币去购物支付的过程是一样的。

例如，在上例中，B的地址中有两笔UTXO，分别为 1BTC 和 0.5BTC，现在，B 要向 D 转账0.3BTC，那么，理论上来说 B 有两种转账方案（为了便于理解，转账费用暂不考虑）：

第一种方案：B 使用1BTC的UTXO给D转账0.3BTC，会收到0.7BTC的找零；

第二种方案：B 使用0.5BTC的UTXO给 D 转账0.3BTC，会收到0.2BTC找零；

如果 B 向 D 转账1.4 BTC，则需要这两笔 UTXO 都花费出去，然后会收到 0.1BTC 的找零。（为了方便解释，以上案例忽略了矿工费）

矿工费的多少与钱包的类型，花费UTXO的数量，以及输出新UTXO的数量有关。

TokenPocket 的 BTC 钱包是支持自定义 UTXO 功能的，即在转账交易时可以自主选择具体使用哪个/哪些UTXO，从而使用更加经济的UTXO组合或者指定花费特定 UTXO 来进行交易，以达到节省矿工费等目的。


---

# 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://help.tpwallet.io/cn/faq/btcwallet/utxo.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.
