# Class BSV::Transaction::FeeModel <a id="class-BSV-Transaction-FeeModel"></a>

**Inherits:** `Object`

Base class for fee models that compute transaction fees.

Fee models determine how many satoshis a transaction should pay in fees based
on its size or other properties. Subclasses must implement {#compute_fee}.

**@example Implementing a custom fee model**
```ruby
class FixedFee < BSV::Transaction::FeeModel
  def compute_fee(_transaction)
    1000
  end
end
```

## Public Instance Methods
### `compute_fee(_transaction)` <a id="method-i-compute_fee"></a> <a id="compute_fee-instance_method"></a>
Compute the fee for a transaction.
- **@param** `transaction` [Transaction::Tx] the transaction to compute the fee for
- **@raise** [NotImplementedError] if not overridden by a subclass
- **@return** [Integer] the fee in satoshis
