This issue is about graceful offline support, not a full offline-first architecture.
Scope:
- Make sure the app still behaves reasonably when the device has no Wi-Fi/cellular access or is in a more restricted environment such as Lockdown Mode.
- Preserve access to locally persisted cards so previously scanned SATSCARDs still load.
- Keep local SATSCARD flows working where possible, including NFC + CKTap reads, setup-next-slot, and local address derivation.
- Audit network-backed paths and make sure they fail gracefully instead of feeling broken. This includes balance refresh, slot history, fee lookup, fiat price lookup, and send/broadcast-related network work.
- Show clear offline or unavailable states in the UI where network-backed data cannot be loaded.
Out of scope:
- Full offline-first sync/caching for balances, transactions, or prices.
- Broadcasting or completing send flows without network.
- Reworking the app around a separate local cache layer unless that becomes necessary.
Context from discussion:
- We already support part of this: cards persist locally, and the card read/setup path is mostly NFC + CKTap + local address derivation.
- The main risk area is network requests that currently assume connectivity.
This issue is about graceful offline support, not a full offline-first architecture.
Scope:
Out of scope:
Context from discussion: