X-PUB is an open sourced Bitcoin watch only wallet that allows you to scan or upload an xpub and then programmatically create an infinite amount of invoices. The code can be found here https://github.com/FontaineDenton/X-PUB
X-PUB is designed to work with BIP39 generated xpubs that use BIP44 derivation path. This is the default option on https://iancoleman.io/bip39/ and the website can be downloaded and used offline to verify X-PUB addresses.
X-PUB checks if the address has ever been used on the Bitcoin blockchain and if it has it turns the background red alerting the user. If the address has never been used it turns the background green. If the app is offline then background remains orange.
This allows users to create a new address for every Bitcoin payment they may want to receive without having to store their private keys on the device. The xpub is encrypted with a random key that is generated programmatically and then stored on your devices keychain where it is secure even from being jailbroken by a hacker. We then use that key to decrypt the xpub whenever you create a new invoice. Every time you open the app the index for the address will increment up by one, the user may also manually increment the index up and down. The QR Code will change in real time. The user may share the QR Code or just the address by tapping on either.
X-PUB works 100% offline with no internet connection and we dont share anything from the app to the internet.
Users may enter an amount denominated in Bitcoin and a description label that is all BIP21 compatible, as most well known Bitcoin wallets are.