Skip to main content

Understand UTXO composite in Utila transactions

Control exactly which UTXOs fund your transactions

Overview

By default, Utila automatically selects which UTXOs to use as inputs when you initiate a transfer. With manual UTXO selection, you can explicitly choose which UTXOs to spend and where change is sent, giving you precise control over your wallet's coin composition.

This is useful in case such as:

  • Meet travel rule requirements: prove control over a specific address by spending a particular UTXO.

  • Optimize fees: avoid dust inputs or consolidate small UTXOs to reduce transaction size.

  • Consolidate your UTXO set: merge many small UTXOs into a single address to simplify future transactions.

UTXO selection applies to all UTXO-based chains supported by Utila (Bitcoin, Litecoin, and so on).

UTXO selection modes

When creating a transfer, you can choose between two modes:

Automatic: Utila selects UTXOs on your behalf. Selected UTXOs are "Locked by system", meaning they are reserved for this transaction but the exact selection may be adjusted when the transaction is prepared for signing (for example, if the fee changes).

Manual: You choose which UTXOs to include. Selected UTXOs become "Locked by user", meaning they are guaranteed to be part of the transaction inputs and cannot be used by any other transaction until this one is executed or reaches a final state.

Transfer process

How to manually select UTXOs

  1. Go to Transfers and start a new transfer from a UTXO-based wallet.

  2. Enter the destination address and amount.

  3. In the UTXO selection section, switch from Automatic to Manual.

  4. Click Select UTXOs to list the available UTXOs. You see each UTXO address, value, and when created. Select the UTXOs you want to include.

  5. As you select UTXOs, the estimated fee updates in real time. You can see the total input value, fee amount (in coin and USD), and sats/byte rate compared to the current network rate.

  6. If your selected input does not cover the output amount plus fee, you can't proceed. Add more UTXOs or reduce the output amount.

  7. Optionally, you can select where the change from the transaction is placed (See Change address).

  8. Complete the transfer as normal.

Note: Manual UTXO selection is not currently supported when creating a transfer from the mobile app.

Fee behavior

The fee is calculated based on the UTXOs you've selected. As you add or remove UTXOs, the estimated fee updates to reflect the new transaction size. The summary shows:

● Total fee value (coin and USD equivalent)

● Sats/byte (or equivalent for other UTXO chains)

You can still choose a fee preference (High, Medium, Low or custom fee) when manually selecting inputs. This is set in the Amount section, before you click "Select UTXOs" in the UTXO selection section.

Send max

In manual selection mode, Send Max sends the full value of your selected inputs to the output address, meaning no change is generated.

When you use Send max, the Take fee from amount checkbox is selected. The recipient receives the input total minus the fees.

Send max is disabled if the wallet has more than 500 UTXOs.

Send max does not include dust UTXOs. Dust UTXOs are defined as UTXOs that have a value of less than half the estimated cost of including that UTXO in a transaction.

Select change address

By default, any remaining value after outputs and fees is sent to a newly generated change address derived from the wallet's xpub.

If you want to direct change to a specific address, you can override this by selecting any existing address under the same wallet, including main, deposit, or existing change addresses.

Click Edit in the Change address section, select the relevant address, and click Save changes.

Transaction-level visibility

Pre-transfer view

When initiating a transfer, you can view the specific UTXOs selected for the transaction in the amount summary section.

Post-transfer locking

Once a transfer is initiated, the relevant UTXOs are locked and cannot be reused until the transaction is confirmed or canceled. Select the transaction on the Transactions page.

System-wide indicators

When browsing wallet balances across the system, locked UTXO balances are clearly marked to ensure full transparency.

This screenshot shows the details on the Balances page.

This screenshot is from the Wallets page.

Merging UTXOs

In addition to using the transfer flow, Utila provides a dedicated Merge function in the UTXO Management tab for consolidating UTXOs.

  1. Go to Wallets, select the wallet, and in the details pane click Bitcoin (or other) Management > UTXO Management.

  2. Select the UTXOs you want to consolidate (up to 500) and click Merge selected, or choose Merge all UXTOs to merge the entire UTXO set. Selecting all is equivalent to sending max to the wallet's main address.

  3. Confirm the transaction.

  4. The fee preference is set to Normal. To use a different fee setting, initiate the merge from the transfer flow instead.

The resulting transaction goes through the standard approval and signing flow.

UTXO states

State

Description

Available

The UTXO can be freely used in any transaction.

Locked by system

Reserved by Utila for a pending transaction; the exact selection may change before signing.

Locked by user

Explicitly chosen by you; guaranteed to be included in the transaction and unavailable to any other transaction.

Frozen

Manually frozen; excluded from all transactions.

After a transaction is created using manual selection, the chosen UTXOs move to Selected by user. Any additional UTXOs Utila adds to cover the fee are Locked.

Transaction replacement (RBF)

If you accelerate or cancel a transaction via Replace-by-Fee (RBF), any UTXOs that were Selected by user in the original transaction are carried forward into the replacement transaction. If additional UTXOs are needed to cover a higher fee, Utila includes them with the Selected by system status.

Internal transfers and policy limits

If a destination address belongs to the same wallet's xpub (for example, you're consolidating UTXOs by sending to your own main address), Utila recognizes this as an internal transfer. The amount sent to internal addresses is not counted against your transaction policy spend limits.

Did this answer your question?