A comprehensive software solution that provides real-time tracking of Bitcoin addresses and extended public keys (xpub/ypub/zpub) for incoming and outgoing transactions. The software notifies users via Discord webhooks when it detects transactions for any monitored address.
Warning
This is a custom tool made for research and learning purposes. Use at your own risk.
Important
Derivation of addresses from extended public keys is also custom and may contain bugs. Also, it doesn't cover all addresses types.
Important
I hope I shouldn't have to write this but any address shown in the screenshots is not mine but taken from the internet.
- Monitor individual Bitcoin addresses for transactions
- Monitor addresses derived from extended public keys (xpub/ypub/zpub)
- Show last transaction details for each address
- Support for both public mempool.space API and self-hosted mempool instances
- Receive detailed Discord notifications for transactions
- Configure check intervals
git clone https://github.com/DrPulse/satsentry.git
cd satsentryuv sync
uv run satsentrypip install -r requirements.txt
python3 main.py-
Create the directories for SatSentry data
mkdir -p ~/.satsentry/{data,logs} -
Run the Docker container
docker run --rm -p 5000:5000 -v ~/.satsentry/data:/app/data -v ~/.satsentry/logs:/app/logs ghcr.io/drpulse/satsentry:latest
Access the web interface at http://localhost:5000
- Check Interval: How often to check for new transactions (in seconds)
- Mempool API: Choose between public mempool.space API or self-hosted instance
- Discord Webhook: URL for receiving notifications
- Gap Limit: Number of unused addresses to derive from extended public keys
- Initial Addresses: Number of addresses to derive initially from extended public keys
- Individual addresses can be added with optional labels
- Extended public keys (xpub/ypub/zpub) can be added with custom derivation paths
uv sync
uv run satsentryuv run pytest- Use Github Actions for building the docker image and pushing it to a public registry
- Add other notifications channels ?
- Refactor the population of addresses from extended public keys to be more efficient and easier to maintain
- Better test coverage with better cases
- Umbrel app ?
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.



