# Daily Crypto Portfolio Snapshots Explained

> On-chain history is not portfolio history. Why point-in-time snapshots have to be recorded going forward, and what they unlock for reporting and audit.

- **URL:** https://octav.fi/blog/daily-crypto-portfolio-snapshots
- **Published:** 2026-04-20
- **Author:** Octav Team — Portfolio Intelligence for Digital Assets
- **Topic:** Portfolio Management
- **Tags:** snapshots, reporting, portfolio-tracking
- **Source:** Octav, Practical guides on crypto NAV reporting, multi-chain portfolio management and digital asset APIs, from the team behind Octav.

---
"The blockchain is immutable, so I can always reconstruct my portfolio" is true
in the way that "the library has all the books" is true. The raw material
exists. Turning it back into a valued, position-level portfolio as of a given
day is a different problem.

## Why history cannot simply be recomputed

To rebuild what a wallet was worth on a past date you need, for that date:

| Input | Why it is hard retroactively |
| --- | --- |
| Every position held | Requires protocol state at that block, not just balances |
| Protocol logic as it was then | Contracts get upgraded; today's decoder may not fit |
| Prices at that timestamp | Historical price data for long-tail assets is patchy |
| Protocols that existed then | Some have shut down, been exploited, or migrated |

The last one is the killer. A protocol that no longer runs cannot be queried
for what your position was worth in it. That value is not recoverable from an
archive node without a decoder that still understands the old contract.

This is why snapshots record **forward**. Octav Snapshots captures a full
portfolio every day from the moment you subscribe, kept for a year. The best day
to start was a year ago; the next best is today.

```bash
curl -s -X POST https://api.octav.fi/v1/subscribe-snapshot \
  -H "Authorization: Bearer $OCTAV_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"addresses": ["0xYourAddress"]}'
```

Subscription costs 1200 credits; the recurring cost is $30/year per address.
Reading history back is `/v1/historical` at one credit per call — see the
[endpoint reference](/crypto-portfolio-api-endpoint-reference).

## What snapshots make possible

**Reproducible NAV.** A NAV you cannot re-derive six months later is not one an
auditor can sign off. Snapshots are what makes prior NAVs reproducible rather
than recomputed — the distinction that matters in
[NAV reporting](/what-is-crypto-nav-reporting).

**Performance attribution.** Comparing today's portfolio to a stored snapshot
separates "the market moved" from "we changed the position". Without stored
history you can measure the first but not the second.

**Quarter-end reporting.** Investor reporting needs the portfolio as of a
specific date, not as of whenever the report was generated.

**Audit trails.** An auditor asking "what did you hold on 31 March" wants a
record made on 31 March, not a reconstruction made in July.

## Snapshots vs at-block queries

Two different tools, often confused:

| | Snapshots | `/v1/portfolio/at-block` |
| --- | --- | --- |
| Direction | Records forward from subscription | Queries backward to a block |
| Coverage | Full portfolio, all chains | Ethereum block-level valuation |
| Availability | Only since you subscribed | Any block, subject to decoder support |
| Cost | $30/yr per address | 1 credit + add-on fee |
| Best for | Routine reporting, audit trails | One-off historical questions |

Use at-block for investigating a specific past moment. Use snapshots for
anything you will need repeatedly and on a schedule.

## The operational point

Snapshots are cheap and the decision is asymmetric. $30 per address per year
against the cost of not being able to answer a regulator, an auditor or an
investor about a date that has already passed.

The failure mode is silent: nothing goes wrong until someone asks a question
about the past, at which point the data either exists or it does not. There is
no way to fix it retroactively.

For treasuries that want that history public rather than internal, see
[Transparency Dashboards for DeFi Treasuries](/defi-treasury-transparency-dashboards).
