That's exactly what the Sentinel app does: imports a read-only XPUB key in order to passively watch the balance of an offline wallet, be it paper wallet, trezor or ledger.
For use with Ledger Nano S use the following steps:
- From the chrome app: Click My Account.
- Click Account Settings in the top right corner.
- Click Export next to Extended public key.
- In the Sentinel app tap the + button and select
- Bitcoin Wallet (BIP44) — if you set up your ledger as legacy.
- Segwit Bitcoin Wallet (BIP49) — if you set up your ledger as segwit.
Sentinel can also be used to receive funds to your ledger in the sense that it can derive the next public address from the XPUB and display its QR-code.
If you feel paranoid you can also build the app from source: https://github.com/Samourai-Wallet/sentinel-android. Maybe it's worth mentioning that while the client code is open-source the server-side code is not, so we don't really know what is going on in the backend.
Direct query via address or xpub
Another (tedious) alternative would be to collect all the public non-empty addresses in the wallet and get their cumulative balance e.g. via https://blockchain.info/q/addressbalance/myadress1|myaddres2|myaddress3... — the result is a plain text number in satoshis; divide by
1e8) to get BTC.
Or, if you are comfortable sending your xpub over the internet, then you can query blockchain.info with your xpub, e.g.: