You don't need a paid dashboard to know what you own. A tracker can be a spreadsheet or a short script that reads your balances from an exchange like Kraken, multiplies each by its current price, and totals the result. Skip the ambition of real-time accuracy. The point is knowing at a glance whether BTC is 40% of your stack or 70%.
What the tracker actually needs to do
Strip away the features and three jobs remain: fetch balances, fetch prices, do the math. Everything else is decoration.
Balances
Kraken's API exposes account balances through a private endpoint, so you'll need an API key with read-only permissions. Generate one in your account settings and never enable withdrawal rights on a key that sits in a script on your laptop. That single rule prevents the most expensive mistake in this project.
Prices
Public price endpoints need no authentication. You can pull quotes for BTC, ETH, and whatever else you hold without touching your private key. Cache the responses for a few minutes. Hammering the endpoint every second gets you rate-limited and gains you nothing.
Math
For each asset, multiply quantity by price. Sum the results. Divide each asset's value by the total to get its weight. The whole calculation fits in about ten lines of Python.
A concrete build in four steps
Here's the shape of a working version. Adapt the specifics to your language of choice.
- Store your API key and secret in environment variables, not in the source file.
- Call the balance endpoint and filter out zero balances.
- Loop through the assets, hit the public ticker endpoint for each pair, and store the price.
- Print a table of asset, quantity, value, and percentage of total.
Say you hold 0.01 BTC, 0.15 ETH, and 500 of some smaller token. Your script returns values of roughly $650, $450, and $100 — a $1,200 total. BTC is 54% of your stack. If your plan was to keep majors under half your portfolio, you now know you're off target without opening a single chart. The numbers don't have to be exact to be useful; the proportions drive decisions.
Spreadsheet versus script versus exchange dashboard
Each approach has a real trade-off, and the right one depends on how often you trade.
| Approach | Effort | Best for |
|---|---|---|
| Manual spreadsheet | Low | Buy-and-hold stacks updated monthly |
| API script | Medium | Anyone who wants accurate weights without logging in |
| Exchange dashboard | None | Quick checks, but it only sees one venue |
That last row matters more than people expect. If you hold assets on two exchanges and in a hardware wallet, no single dashboard shows the whole picture. A tracker you control does.
When the spreadsheet wins
Fewer than ten transactions a year? A spreadsheet with a price column you update weekly is genuinely fine. Don't build software to solve a problem you don't have.
When the script wins
Frequent rebalancing, multiple venues, or a desire to log history over time all push you toward code. Once the script runs, adding a daily snapshot to a CSV file costs three extra lines and gives you a record of how your allocation drifted.
Mistakes that quietly break trackers
The most common failure isn't a bug in the math. It's stale data. A script that ran fine in March and hasn't been touched since will happily report prices from March if the endpoint changed or your key expired.
Watch for these:
- Hardcoded prices left in from testing. Delete them before you trust the output.
- Ignoring staking or earn balances that sit in a separate sub-account.
- Forgetting that some tokens trade under different pair names than you expect.
- Committing your API secret to a public repository. Rotate the key immediately if this happens.
Set a calendar reminder to run the script weekly. A tracker you check once a quarter is a decoration, not a tool.
Frequently asked questions
Do I need programming experience to build one?
Not much. If you can follow a tutorial that reads a JSON response and loops through a list, you can build this. The Kraken API documentation includes examples, and the public price endpoints work without any authentication, so you can practice before touching your account keys. A spreadsheet remains a legitimate fallback if code isn't your thing.
Is it safe to give a script access to my exchange account?
It can be, provided the API key has read-only permissions and withdrawal access is disabled. Store credentials in environment variables rather than in the code itself, and avoid running the script on shared machines. If a key ever leaks, revoke it in your account settings right away — most exchanges let you do this in seconds.
How often should the tracker refresh prices?
For a portfolio you check daily, refreshing every few minutes is plenty. Crypto prices move constantly, but your allocation weights don't change meaningfully on a five-minute scale unless you're actively trading. Caching responses also keeps you well inside rate limits, which matters if you expand the script later.
Can I track assets held outside an exchange?
Yes, but you'll enter those balances manually since a hardware wallet has no API to query. Add a small config file listing offline holdings and quantities, then merge it with the fetched exchange balances before calculating weights. Update the file whenever you move funds.
Open your exchange's API settings page today and create a read-only key. That one action turns the rest of this from theory into a weekend project.