Un antiguo método utilizado para seleccionar monedas en el monedero Bitcoin Core antes de la versión 0.17. El Knapsack Solver intenta resolver el problema de selección de monedas eligiendo iterativa y aleatoriamente UTXOs, y sumándolos por subconjuntos, con el objetivo de minimizar las comisiones y el tamaño de la transacción. Este método ha sido sustituido por Branch-and-Bound.