Кошелек - это набор адресов для пополнения, их список у тебя должен быть (в этом и есть смысл работы), смотришь среди входов и выходов транзакции на твои адреса, и соответственно вычитаешь или плюсуешь баланс.
bitcoin-core умеет это делать, если добавить требуемые адреса в кошелек (можно даже только публичные адреса), тогда баланс можно запросить rpc запросом
p.s. есть ключ командной строки ноды, позволяющей запускать пользовательское приложение на каждый новый блок, и даже появление транзакции кошелька в мемпуле, кажется -notify.
Там еще добавили новый протокол,
ZeroMQ