Bitcoin savings goal tracker
Portfolio apps want to show you fourteen tokens, a candlestick chart, and a news feed. If you are stacking toward a whole coin, none of that is the question. The question is what fraction of the way there you are this morning — so SatStack shows you that, in a ring, and then gets out of the way.
Get it on the App Store $0.99 · one-time · iPhone & iPad
65%
of goal
0.65000000 BTC
of a 1.00000000 BTC goal
"Tick tock, next block."
SatStack never needs the ability to move a satoshi. Every source it supports is read-only by construction, and you can mix them.
Watch-only
Paste an address and the balance is read from the public chain through Blockstream's API. No key, no seed, no signing capability — the same information a block explorer would show anyone.
Public data only
Exchange
Create a key with query-balance permission and nothing else. SatStack signs one request to read your balance; it cannot trade, withdraw, or transfer.
Stored in the iOS Keychain, never sent anywhere else
Offline
Cold storage you would rather not name anywhere? Enter the number by hand. The goal ring works exactly the same.
Nothing leaves the device
Small and medium widgets with your stack and your progress, refreshed in the background so the number is current when you glance at it.
BTC or your fiat value, toggled from the widget itself without opening the app. Some days you want to see coins; some days you do not.
A whole coin by default, or any target you choose, with presets for the usual milestones.
A proper light theme, not a dimmed dark one, and an appearance setting that stays where you put it.
Everything below is a deliberate omission, not a missing feature.
No sending, no swapping, no trading, no withdrawals. It holds no private keys, and the only exchange permission it asks for is the one that reads a balance.
No price predictions, no signals, no "buy" prompts. It shows your balance against a goal you set, and a price so the fiat figure means something.
One asset, on purpose. No altcoins, no cost basis, no tax lots, no profit and loss.
Chain and exchange data are fetched when the app refreshes and cached for the widget. Treat the widget as a glance, not a settlement.