Spending Instructions Extension for UTXO Storage Format

Ty Everett (ty@projectbabbage.com)

Abstract: This document defines a simple extension to the BRC-36 UTXO storage format, adding a spendingInstructions field to the UTXO Storage Object. This field allows for the storage of necessary information, such as key derivation details and overlay network operator contact information, that may be required to unlock and spend a particular UTXO, or to notify relevant parties of its spending.

Specification: The BRC-36 UTXO Storage Object is extended to include an optional spendingInstructions field. This field can store any relevant data that may be necessary for spending the UTXO, as determined by the wallet software that stored the UTXO. The structure and interpretation of the spendingInstructions field is left to the wallet software, allowing for flexibility in handling different mechanisms, such as "output baskets", tokenization protocol separation, or any other method.

For example, a wallet could separate UTXOs of different types into output baskets. All the tokens in a given basket have spending instructions in the same format, and any software could request access to the outputs in a given basket. After the wallet obtains permission from the user, the software is given access to the tokens alongside their spending instructions. Programs that work with various types of UTXOs only need to know how to use specific spending instruction formats, and they can be confident that all UTXOs in a particular basket will conform to the format they know how to use because protocols can define expectations for tokens in particular baskets.

By incorporating the spendingInstructions field into the BRC-36 UTXO storage format, this extension enhances the utility and flexibility of the storage standard, enabling wallet software to store and convey crucial spending information alongside the UTXO data.

Last updated