P10-L02 · P10 · P10-M01
Record identifiers block heights timestamps and provider limitations
Prerequisites: P10-L01
Learning objectives
- Record identifiers block heights timestamps and provider limitations
- Preserve event time, retrieval time and provider coverage in separate fields.
Why this matters
A screenshot can look stable while its provider changes labels or confirmations. A timestamp without a time basis can make an old event look like a new observation.
Explanation
Treat each retrieval as a small evidence package: request method and exact URL, network, record identifier, block or slot reference, response status, actual UTC collection time, response bytes and a cryptographic checksum. Keep the provider’s event-time field separate. Store the data first, then derive a table; otherwise later readers cannot distinguish provider content from analyst edits. Never include credentials or private session material in a public package.
An identifier checksum reproduces bytes, not truth. A locally recomputed transaction ID proves that the supplied raw serialization matches that identifier; it does not alone prove canonical inclusion, finality or human identity. An indexer’s confirmed label has its own source boundary. Record missing pages, truncation, chain reorganization policy and unsupported event types rather than silently normalizing them away.
For derived values, state the unit and operation. Keep raw integers before decimal display. Wallet Intelligence can help inspect records, but this lesson creates no actual report and does not infer tool coverage from the interface. Provenance follows each claim all the way from stored response to calculation.
Key terms
Retrieval time: when a response was collected.
Event time: timestamp declared by the event’s chain record.
Checksum: fingerprint of stored bytes.
Coverage: which records and event types a provider includes.
Historical example
ILLUSTRATIVE: response R names block 500 with header time 12:00Z. It is fetched at 12:12Z and lists 2500000 raw units with six decimals. Provider P reports page 1 of 2; page 2 is unavailable. Derived display is 2.5 units, not 2,500,000 whole tokens. The fixture stipulates these values; no request was made.
Visual specifications
Transaction timeline with two lanes: declared event time at 12:00Z and retrieval at 12:12Z. Attach raw-unit conversion and a conspicuous page-2 gap.
Caption: Illustrative provenance separates event time from the time a provider response was collected.
SPECIFICATION_ONLY — the rendered visual has not been produced or independently reviewed.
What the evidence proves
The fixture supports a reproducible unit conversion and a clearly bounded page-1 observation. Collection time and event time have different recorded meanings.
What the evidence does not prove
A matching checksum does not certify provider correctness. Missing page 2 prevents a complete-event-count claim; a header time does not establish exact wall-clock arrival.
Common mistakes
Hashing a screenshot instead of preserving the response; replacing event time with retrieval time; stripping raw units; reporting a complete count from one available page.
Practical exercise
Write a provenance row for R, compute its display amount, and rewrite “all events occurred at 12:12Z.” Include the unavailable page and one independent verification step.
Show worked correction
Use fictional URL/record R, network N, block 500, eventTime 12:00Z (header-declared), retrievedAt 12:12Z, provider P, rawAmount 2500000, decimals 6, displayAmount 2.5, coverage page 1/2 with page 2 unavailable. The correct statement is “R was retrieved at 12:12Z; its declared block time is 12:00Z.” Preserve exact response bytes and checksum; independently verify raw serialization and block reference before extending confirmation claims. Complete event count remains insufficiently evidenced.
Checklist
- Keep exact identifiers and raw units.
- Separate event and retrieval timestamps.
- Save bytes before derivation.
- Disclose incomplete pagination and indexed finality.
Summary
Provenance binds records, retrievals and derived claims without converting a checksum into a truth certificate.
Summary
- Preserve response bytes and request context.
- Time basis and unit basis travel with each value.
- Partial coverage cannot support a complete count.
Next lesson
P10-L03
Tools
Use the named ZECOIN tool only as an evidence-reading context. This lesson creates no tool output, account session or entitlement. Offline exercise; do not sign, deploy, approve or fund anything.
Sources & claim boundaries
- API: Esplora public API specification — GET routes, integer satoshis and indexed confirmation/outspend fields. Boundary: Mechanism documentation only; original illustrative values are stipulated, not observations. Historical records have separately frozen provenance and explicit collection gaps.
- BTC: Bitcoin developer guide — transactions — Input references identify previous transaction outputs; scripts do not identify a human. Boundary: Mechanism documentation only; original illustrative values are stipulated, not observations. Historical records have separately frozen provenance and explicit collection gaps.
Evidence classifications
ILLUSTRATIVE — entirely fictional offline inputs; no current observation.
Observation date
null — no real observation
Content version
1
Review date
null
Review status
needs_review
Visual specifications
P10-L02-V01
Record identifiers block heights timestamps and provider limitations
Illustrative provenance separates event time from the time a provider response was collected.
Transaction timeline with two lanes: declared event time at 12:00Z and retrieval at 12:12Z. Attach raw-unit conversion and a conspicuous page-2 gap.
Transaction timeline with two lanes: declared event time at 12:00Z and retrieval at 12:12Z. Attach raw-unit conversion and a conspicuous page-2 gap.
Stack observations, assumptions, gaps and conclusion at 390 px; retain full IDs and a complete text equivalent. Any wide table scrolls locally.
Prose may follow RTL; IDs, quantities and time axes remain LTR. Preserve dependency direction.
P10-L02-ILLUSTRATIVE-v1
Sources & claim boundaries
API · PRIMARY_DOCUMENTATION
Esplora public API specification
- Supported claim
- GET routes, integer satoshis and indexed confirmation/outspend fields.
- Verification boundary
- Mechanism documentation only; original illustrative values are stipulated, not observations. Historical records have separately frozen provenance and explicit collection gaps.
- Checked at
- 2026-10-02
https://github.com/Blockstream/esplora/blob/master/API.md
BTC · PRIMARY_DOCUMENTATION
Bitcoin developer guide — transactions
- Supported claim
- Input references identify previous transaction outputs; scripts do not identify a human.
- Verification boundary
- Mechanism documentation only; original illustrative values are stipulated, not observations. Historical records have separately frozen provenance and explicit collection gaps.
- Checked at
- 2026-10-02
https://developer.bitcoin.org/devguide/transactions.html
Dataset provenance
id: P10-L02-ILLUSTRATIVE-v1
dataStatus: ILLUSTRATIVE
observedAt: null
source: Original offline scenario in realOrHistoricalExample
scope: Fictional stipulated labels and values. No wallet, deployment, transaction, token launch or production observation.