# Class BSV::Wallet::Store::UTXOPool <a id="class-BSV-Wallet-Store-UTXOPool"></a>

**Inherits:** `Object`
**Includes:** `BSV::Wallet::Interface::UTXOPool`

## Constants
### `MAX_CHANGE_PER_TX` <a id="constant-MAX_CHANGE_PER_TX"></a> <a id="MAX_CHANGE_PER_TX-constant"></a>
Not documented.

### `MAX_UTXO_COUNT` <a id="constant-MAX_UTXO_COUNT"></a> <a id="MAX_UTXO_COUNT-constant"></a>
Not documented.

### `MIN_UTXO_SATS` <a id="constant-MIN_UTXO_SATS"></a> <a id="MIN_UTXO_SATS-constant"></a>
Not documented.

## Public Instance Methods
### `balance()` <a id="method-i-balance"></a> <a id="balance-instance_method"></a>
Not documented.

### `change_output_count()` <a id="method-i-change_output_count"></a> <a id="change_output_count-instance_method"></a>
Not documented.

### `initialize(store:, max_utxo_count: = MAX_UTXO_COUNT, min_utxo_sats: = MIN_UTXO_SATS, max_change_per_tx: = MAX_CHANGE_PER_TX)` <a id="method-i-initialize"></a> <a id="initialize-instance_method"></a>
- **@raise** [ArgumentError]
- **@return** [UTXOPool] a new instance of UTXOPool

### `largest(limit:)` <a id="method-i-largest"></a> <a id="largest-instance_method"></a>
Not documented.

### `release(outputs:)` <a id="method-i-release"></a> <a id="release-instance_method"></a>
Not documented.

### `select(satoshis:, exclude: = [])` <a id="method-i-select"></a> <a id="select-instance_method"></a>
- **@raise** [BSV::Wallet::PoolDepletedError]

### `smallest(limit:)` <a id="method-i-smallest"></a> <a id="smallest-instance_method"></a>
Not documented.

### `spendable_count()` <a id="method-i-spendable_count"></a> <a id="spendable_count-instance_method"></a>
Not documented.
