06 METHOD — what is exact - what is bounded - what is never claimed

How the tracking works

Every number on the Tracking pages is either exact and public or a bound with its assumptions printed beside it, and the two are never allowed to blur into each other. This page is the contract. It sets out the per-pool state machine, the anchor-bounded candidate sets, the process-of-elimination toolkit, the posterior and the viewing-key mode - and it says, in plain terms, what no method here can return.

the four claim levels — N_eff = 2^H - thresholds a decade apart on purpose

N_eff > 1,000
aggregate_onlyprivate under any practical adversary; publishable as a distribution or a public aggregate
100 < N_eff <= 1,000
broad_candidate_seta wide window: a bound worth reporting, with the window it was taken over
10 < N_eff <= 100
small_heuristic_setreportable with the heuristics cited: the filter chain and the assumption sentences render beside the number
N_eff <= 10
requires_disclosurenothing on its own; acting on it needs one disclosure-backed signal from outside the chain

The mantra has not changed since v0.2: report uncertainty, not identity. The claim level is how that is enforced rather than merely asserted - it is computed from the posterior, it caps what any surface is allowed to say, and it is the same ladder on every page. The bands above are lower-inclusive: the threshold value stays in the tighter level, so N_eff = 100 is small_heuristic_set and not broad_candidate_set. They are coarse deliberately, coarse enough that a small estimation error cannot move a finding across a category, and they are not retuned without calibration data.

what each level forbids
  • aggregate_only - no per-transaction origin statement of any kind - the answer is that the origin is unresolved
  • broad_candidate_set - names no candidate, and a bound is never a link
  • small_heuristic_set - the number may not be published without the chain that produced it
  • requires_disclosure - an external signal from a name is still not a name - at N_eff = 1 this site claims no identity either

Procedure: docs/2.0/TRACKING-MATH.md, sections 0 to 6. Thresholds and the claim-level union: packages/zec-types/src/analysis.ts. Neither is an external source, and neither is cited as one.

00

What a query can honestly return

the address is the unit a reader thinks in; the chain is not built that way
exact

Transparent chain data: balances, amounts, heights, counterparties. Arithmetically exact and independently checkable against any node.

bounded

Shielded activity. An upper bound on a candidate set, never a value and never an owner. A bound that shrinks is a bound that bought its reduction with an assumption, and the assumption is printed with it.

undefined

Undefined by construction: not derivable from public data at all. Printed as a refusal rather than left blank, because a blank cell reads as an oversight and a refusal reads as a finding.

What each kind of query can honestly return
QueryWhat the chain containsWhat ZECReveal returnsExactness
Transparent address
t1... P2PKH · t3... P2SH
Every UTXO, every spend, every counterparty, every amount, every fee.Balance, full history, counterparties, cluster membership, and boundary events - this address shielding, or being paid from the pool - each with a pool-side estimate.exact transparent sidebounded pool side
Shielded address
zs1... · zc... · the shielded receivers of a u1... unified address
Nothing. The address is never serialised on chain. Notes are commitments and ciphertexts; spends are nullifiers.Mode A, with a viewing key: exact balance and history by trial decryption in the browser. Mode B, without one: the honest statement that the address is not an on-chain object, the pool-level context, and a route into transaction and transparent queries.exact Mode A, with a keyundefined Mode B - undefined by construction
Transaction idVersion, pools touched, valueBalance per pool, nullifiers, anchors, commitments, transparent in and out, fee, expiry, action counts.Leak class, the per-spend candidate set Cand_0, N_eff, a claim level, round-trip links, a wallet fingerprint, and what this transaction publishes about itself.public fields as decodedinferences with their assumptions
Block or heightEverything above, per transaction; the coinbase; the funding-stream outputs.Per-pool deltas, migrations, and the turnstile ledger.exact arithmetic over public fields
never returnedA sender or recipient inside the shielded pool. A shielded balance without a key. An owner for any address that is not named by consensus rules or by the owner's own filing. No estimator below moves any of the three from the left column into the right one, and none of the three is a limitation this site intends to remove.
01

Transparent side: exact, plus clustering

deterministic - the Bitcoin toolkit applies unchanged

1.1 balance and history — arithmetic, not inference

bal(a) = sum over u in UTXO(a) of v(u). History is every transaction with an input or output script paying a; counterparties are the other scripts in those transactions. Fees are sum in - sum out - valueBalance terms, and where a transaction has shielded components the fee is split across pools, so the page shows the ZIP 317 conventional fee and the implied logical-action count L = fee / 5000.

refusesExact on the transparent side and silent about the other one. L tells you how many logical actions a transaction had; it tells you nothing about what they moved or to whom.

1.2 common-input ownership — union-find over input scripts

All transparent inputs of one transaction are spent by one key-holder, so union-find over the input scripts yields clusters C(a). Two exceptions are flagged rather than assumed away: coinjoin-like shapes, rare on Zcash, and P2SH multisig.

refusesA multisig cluster is a cluster of signers, not one owner. The ZIP 271 lockbox is the named instance: a 2-of-3 held by three separate organisations, and treating it as a single entity would be wrong about the one address on this chain whose holders are defined by consensus code.

t3ev37Q2uL1sfTsiJQJiWJoFzQpDhmnUwYo - ZIP 271 lockbox disbursement multisig

L-t3ev37Q2...consensushigh
L-t3ev37Q2uL1sfTsiJQJiWJoFzQpDhmnUwYocite
claim
L-t3ev37Q2uL1sfTsiJQJiWJoFzQpDhmnUwYo
last verified
2026-08-22
confidence
high
  1. ZIP 271 (dev fund extension + 78,750 ZEC disbursement) Zcash Improvement Proposals · accessed 2026-08-22
  2. Alternate explorer cross-check mainnet.zcashexplorer.app · accessed 2026-08-22
  3. Blockchair Zcash API -- address dashboard (method; queried 2026-08-22) Blockchair API · accessed 2026-08-22

1.3 change detection — soft membership, weighted

In a two-output transparent transaction where one output pays a never-seen address of the same script type and the other is a round amount or a reused address, the fresh one is change with probability p_change. Change outputs extend the cluster with weight p_change.

refusesSoft membership, never fact. And this site does not print a value for p_change: the Bitcoin literature gives 0.8 to 0.9, that figure is not transferable to Zcash without measuring it, and the Zcash calibration has not been run. Until it has, the parameter is named and its value is not.

1.4 exchange-withdrawal shape — behavioural, and only behavioural

One large input paying out once with the change returning to the same address, and many-to-one deposit sweeps, are behavioural exchange signatures. The corpus records one on 2025-12-24: “Withdrawal from the hot wallet to a freshly created address. Input 120,552.69 ZEC in, 29,999.99 out, 90,552.70 change back to itself: textbook exchange-withdrawal mechanics.

refusesThe shape supports “exchange hot wallet”. It does not support which exchange - that needs a confirmation or a vendor label, and the label's provenance is printed either way. The record below is graded by its labeller and its confidence, not by how convincing the shape is.

t1PKBiv7mtzD9bNafYaqyxaENeiNDbpKxxQ - Exchange hot wallet, labelled "Binance" by Lookonchain

L-t1PKBiv7...analystmed
L-t1PKBiv7mtzD9bNafYaqyxaENeiNDbpKxxQcite
claim
L-t1PKBiv7mtzD9bNafYaqyxaENeiNDbpKxxQ
last verified
2026-08-22
confidence
med
  1. blockchain.news, 30,000 ZEC withdrawal (source of the t1XKfb… address) Blockchain.News · accessed 2026-08-22
  2. blockchain.news, 74,002 ZEC to Binance (source of the t1Ym8XWv… address) Blockchain.News · accessed 2026-08-22
  3. Blockchair Zcash API -- address dashboard (method; queried 2026-08-22) Blockchair API · accessed 2026-08-22
K-2026-01-02
K-2026-01-02cite

1.5 consensus labels, and the precedence that ranks every other kind — always displayed

The only labels carrying certainty are the ones consensus defines: the ZIP 271 lockbox multisig, the ZIP 1014, 1015 and 1016 funding-stream recipients enumerated in consensus code per height, the historic Founders' Reward addresses from the original chainparams, and TEX receivers under ZIP 320, which accept transparent sources only and are therefore an exchange-deposit tell. Everything else is ranked:

  1. 1consensus2 of 8 labels in this corpus
  2. 2owner filing0 of 8 labels in this corpus
  3. 3exchange confirmation0 of 8 labels in this corpus
  4. 4analyst3 of 8 labels in this corpus
  5. 5behaviour3 of 8 labels in this corpus
refusesThe order is not this page's to choose - it is LABELLER_PRECEDENCE in packages/content/src/schema.ts, exported so that a page cannot invent its own. A tier is displayed with every label and never implied by position in a list, and a consensus label on a small-set finding still does not make that finding an identity claim: precedence and claim level are independent axes, and neither one licenses the other.
02-03

Boundary events, and the estimator toolkit

every estimator emits an audit record {filter, params, countIn, countOut} - the v0.2 contract, kept verbatim

For a transaction T and pool p, the public delta deltaV^p(T) is positive when value leaves the pool and negative when it enters. A transparent address a therefore has shield events S(a) = {(T, X, h)} and deshield events D(a) = {(T, Y, h)}, and both are exact. Everything below is an estimate attached to those exact events - which is why the boundary is the only place the two registers are allowed to meet.

The eleven estimators, their kind, and the claim each one will not make
#EstimatorKindStatement, and what it refusesSource / lineage
3.1Anchor boundhardFor a spend with nullifier nf and anchor A: Cand_0(nf) = {cm : pos(cm) <= maxPos(A)}. The only universally correct filter - a spend publishes the anchor it was proved against, and nothing appended to the tree after that anchor can be the note it spent.refusesIt bounds a set; it does not enter one. It names no candidate, and no commitment inside Cand_0 is more likely than any other until a soft filter says so - a bound of one candidate is still not a name.
v0.2 rawCandidateRange - RESEARCH.md
3.2Spent-count subtractionhard · cardinality|unspent ∩ Cand_0| <= |Cand_0| - |{nf′ published before T with anchor <= A}|. Nullifier uniqueness bounds how large the surviving set can be.refusesCardinality only. Public data does not map a nullifier back to a commitment, so it cannot say which candidates the published nullifiers consumed - it shrinks the effective size without naming candidates.
RESEARCH.md, nullifier uniqueness
3.3Time-window priorsoftThe note was received within W blocks of heightCreated(A); the default is W = 576, about 12 hours at 75 seconds a block. With the weighted mode on, the posterior weight is w_t(cm) = exp(-ln2 · age(cm)/tau) with a half-life tau of 2 days; uniform in the window when it is off.refusesA behavioural guess, and wrong for any wallet that held a note longer than the window. The prior is printed with every number it shaped; reject it and the surviving count returns to the line above.
v0.2 timeWindowFilter, anchored at heightCreated
3.4Amount echo (Kappos round-trip)softFour tolerances. Exact: Y = X. Fee-tolerant, as specified: |X - Y| <= 5,000 zat × max(2, L) × hops; as shipped, the fixed v0.2 constant FEE_TOLERANCE_ZAT = 5,000 × 4 × 8 = 160,000 zat, about 0.0016 ZEC. Relative: |X - Y| / X <= eps, default eps = 10^-4. Subset-sum: one shield may leave as k <= 3 deshields inside the window, amounts quantised to 10^4 zat. Graded HIGH for exact with a single candidate, MEDIUM for relative within eps or absolute within fee tolerance with a single candidate, LOW for multiple candidates or relative within 10 · eps.refusesAn alignment is not a link. The pool is built so that an output cannot be tied to an input; a HIGH grade states that public quantities line up, never that the coins are the same coins. Split matches grade LOW unless the timing is tight and the split count is two.
3.5Fee to logical actionshardZIP 317: fee = 5,000 zat × max(2, L), and the transparent term of L is measured in serialised bytes rather than in counts: L = max(ceil(inSize / 150), ceil(outSize / 34)) + 2 · nJoinSplit + max(nSpendsSapling, nOutputsSapling) + nActionsOrchard + nActionsIronwood, where inSize and outSize are the summed serialised sizes of the transparent inputs and of the transparent outputs, and 150 and 34 are the sizes ZIP 317 fixes for a standard P2PKH input and output. The transparent side is public, so L bounds the shielded arity exactly - and a non-conventional fee is itself a wallet fingerprint. The count form, L_p2pkh = max(t_in, t_out) + 2 · nJoinSplit + max(nSpendsSapling, nOutputsSapling) + nActionsOrchard + nActionsIronwood, is that rule with its byte term replaced by counts. It agrees with the protocol while every transparent input and output is a standard P2PKH and the counts stay small - nearly every transaction on the chain - though not quite exactly even there, since a standard input serialises at 148 bytes against the 150 ZIP 317 rounds up to, so from 75 inputs the byte form falls one action behind. It diverges properly for anything larger: the ZIP 271 lockbox is a 2-of-3 P2SH multisig whose inputs serialise at 297 bytes each, so two of them paying one P2PKH output give the protocol L = 4 and a 20,000 zat conventional fee where the count form gives L = 2 and 10,000.refusesIt bounds arity, not identity: it says how many logical actions a transaction had, never whose. That a transaction carries three shielded actions says nothing whatever about what is inside them. And the count form decides nothing: a page calling a lockbox disbursement non-conventional on its authority would be stating a falsehood about the one address this site follows most closely, so whether a fee is conventional is settled by the byte form or left unsettled.
packages/zec-types/src/zip317.ts - the rule as Zebra implements it, zip317.rs:160-173
3.6Dummy-padding policysoft · wallet tableOrchard and Ironwood action counts are padded, some wallets to even counts or fixed sizes. The observed nActions, the Sapling spend and output counts, expiryDelta = nExpiryHeight - height, the version group and the anchor age are matched against a fingerprint table. That table holds two expiry deltas, not nine: zcashd and Zallet at 20, and Zashi and Zodl at 40. Ywallet, Vizor, Zkool, Zingo, Cake, NozyWallet, Ledger and Keystone are wallets this project can name and cannot fingerprint - no public source states a default delta for any of them, so none of them is a signature and no transaction is labelled with their names.refusesThe output is a likely wallet with a likelihood ratio, never an identity. A wallet is software, not a person, and the version of the fingerprint table is printed with every number it influenced, because a fingerprint is only as current as the table behind it.
v0.2 fingerprint.ts, extended
3.7Anchor recencysoftdepth(A) = tip - heightCreated(A). A depth of 0 to 3 blocks means the wallet synced immediately before spending; a deep anchor implies stale wallet state.refusesBoth readings are timing signals that combine with 3.3 and claim nothing alone. Anchor depth narrows no candidate set by itself, and any wallet that syncs on a schedule reproduces it.
v0.2 anchor-depth.ts
3.8Mining-pool flowshard shape · soft attributionZIP 213 forces coinbase output through the shielded pool, and pools then unshield payouts as many-output z to t transactions on a schedule. Periodicity and fan-out identify them, and such transactions are labelled “pool-payout shape”.refusesThe shape names a schedule, not an operator. A pool is attributed only when the pool itself publishes its payout address - which is the precedence ladder applied: a shape is behaviour, a published payout address is owner-filing.
3.9Migration lenshard amounts · soft sessionsZIP 318 spends one Orchard note into one Ironwood output with the net amount public and quantised to n × 10^k, n in {1, 2, 5}, capped at 10,000 ZEC, with dust below 0.01 ZEC stranded. A balance B decomposes canonically, so a migration session bounds the number of notes at >= ceil(B / 10,000) and the set of wallets at <= the number of denomination runs.refusesDistributions and counts per window, never “wallet W migrated B”. The wallet figure is an upper bound and no lower bound is claimable from public data, so it is published as an upper bound and nothing else.
3.10Sprout to Sapling migrationhard amountsThe same logic one pool earlier: ZIP 308 amounts of mantissa × 10^exponent, five transactions per 500-block window. It is what makes the 2019 to 2026 Sprout residual legible at all.refusesIt bounds counts, not owners - and it says nothing about the Sprout balance that never migrated, which is the part of the residual that matters.
3.11Turnstile conservationhard · globalFor every pool and window, sum of estimated exits <= Bal^p and Bal^p >= 0 (ZIP 209, all pools including Ironwood); after NU6.3 at height 3,428,143, deltaV^orchard >= 0 (ZIP 2006 - Orchard is exit-only). Any estimator output that violates conservation is rejected and logged.refusesA veto, not a source of claims: it can remove an estimate and never produce one. And it cannot tell a forged note already inside a pool from a legitimate one - which is why the two unsound windows can be bounded but never cleared. A violation in our own replay means our decoder is wrong, never that the chain is wrong.

7 of the 11 hold unconditionally; the other 4 are behavioural priors a wallet is free to violate. A reader who rejects all 4 soft ones is left with a correct, and much larger, bound - which is the point of separating them.

the audit record, rendered — illustrative shape, not a real transaction

  1. 412,908raw anchor bound - every commitment at or below the anchor position
  2. 18,204time window - W = 576 blocks, about 12 hours, anchored at heightCreatedassumes prompt spending
  3. 63amount match - two-sided interval with an explicit fee toleranceassumes one matching deposit

Drop either soft assumption and the count returns to the line above it. The raw anchor bound is the only step that holds unconditionally, and it is the only number on this chain a reader is obliged to accept.

which window produced a numberW = 576 blocks is the specified default. The v0.2 code shipped a 7-day window (MAX_LINK_WINDOW_MS), and the two are not interchangeable, so every rendered figure states the window it was taken over rather than leaving a reader to assume one.

why the chain is generated, not narrated — the contract behind the picture

  1. 01The anchor published with a spend fixes a tree position, and nothing above it can be the spent note. This is the only universally correct filter.
  2. 02A time window is a behavioural guess. It is anchored at the height the note was created and it is logged as an assumption, with its parameters; the audit record's time_window variant carries windowBlocks and a half-open height range where the lower bound is exclusive and the upper bound is the anchor's own creation height.
  3. 03An amount match intersects two intervals with an explicit fee tolerance. Its audit record carries the matched deposit, both amounts in zatoshi, the tolerance used, and whether the match was exact or fee-tolerant - so a reader can reconstruct the step rather than take it.
  4. 04Every estimator is a pure function and emits {filter, params, countIn, countOut} with both counts as bigint, so the chain above is generated from the run rather than narrated after it. rawCount and effectiveSetSize are equal when no filter applied, and diverge by exactly what the filters took.
04

Combining estimators: the posterior, the entropy, the claim

the number a reader sees is N_eff, never a name

the posterior — four likelihoods, one distribution, one number

w_j  proportional to  L_amount(Y | X_j) . L_time(h - h_j) . L_fp(T, T_j) . L_struct(T_j)
p_j  =  w_j / sum of w
H    =  - sum over j of  p_j log2 p_j        N_eff = 2^H        claim = level(N_eff)
L_amount
1 for an exact match; exp(-(|X_j - Y| / X_j) / eps) for a relative one eps = 10^-4
L_time
the half-life kernel exp(-ln2 . age / tau) tau = 2 days
L_fp
1.0 when the wallet fingerprints agree, 0.5 when they disagree tunable, and it is a soft signal
L_struct
down-weights candidates already consumed by a HIGH link, one-to-one, greedy by weight structural, not behavioural

Every transaction page prints the same five things beside the number: the candidate count before and after each filter, the top three candidates with their p_j, N_eff, the claim chip, and the assumption sentences - W, tau, eps and the fingerprint-table version. A posterior published without them would be a number with no way to disagree with it.

what the posterior is notIt is a weighting over commitment positions in a tree, and a commitment position is not a person, an address or an owner. A weight of 0.97 on one candidate is a statement about how the public quantities line up, not a claim that the note is that candidate - and the v0.2 baseline this replaces was uniform, so any weighting at all is an assumption that has to be declared before it is used.

flow estimate over hops — what the drawing on /flows is a drawing of

From a transparent address, follow value through k <= 3 boundary crossings, multiplying p_j along the paths. Edges are drawn with opacity proportional to weight and cut at p < 0.02, and the mass unresolved in the pool is shown as a first-class residual bar rather than as leftover - because it is the honest answer most of the time.

what this is not — the closing refusal, and the reason for the rest

None of it identifies a person. It produces bounded, reproducible estimates from public data, with every assumption visible and every claim capped by the claim level. Three hops of a multiplied probability is still a probability; it never becomes a fact by being followed further.

05

Mode A: the viewing-key ceremony

exact - client-side - the only way a shielded balance appears on this site
acceptsA UFVK, a Sapling FVK or an IVK - and for Sprout, a viewing key. Parsed in the browser by a WASM build of zcash_keys and zcash_note_encryption.
IVKEvery received note: value, memo, txid, height.
FVKAdds nk, so the nullifiers of received notes are derivable, so spent and unspent are separable, so the balance is exact. An OVK decrypts out_ciphertext and adds the recipients and values of the key-holder's own outgoing transfers.
neverThe key never leaves the browser. Results are never stored. Senders are not in the note and are not revealed by any key - that limit is the circuit's, not this interface's, and no key on this list removes it.

The page fetches compact blocks and outputs from the gateway and decrypts locally; results are labelled exact - decrypted locally. The interface is a ceremony in the design-system sense (DGIGA D3642): the fog parts pane by pane while the page states, at each pane, what the key does and does not reveal. Mode B - the whole of the rest of this site - never shows a shielded balance at all.

not yet shippedThe WASM key package is Phase 4 work and /reveal currently renders the ceremony with the gate closed. What is described above is a design and its constraints, not a running feature, and this page would rather say so than imply otherwise.
06

Calibration, and the golden cases

tests the graders must pass before anything ships
Four golden cases, and the grade each one must receive
CaseChain facts, computed from the case stepsRequired gradeWhy it matters
2 Jan 2026 round-tripK-2026-01-02
K-2026-01-02cite
a7934713... shields 50,000.96 at 18:01:43 UTC; 7ae85864... unshields 50,000.5541 at 18:53:18 to a fresh, single-use address.
Residual 0.4059 ZEC, relative 8.1 x 10^-6, gap 51 min 35 s.
MEDIUMThe v0.2 absolute tolerance of 160,000 zat, about 0.0016 ZEC, misses it by a factor of 254. The relative rule catches it with a factor of 12 to spare inside eps = 10^-4. A single candidate at that tolerance is MEDIUM, not HIGH.refusesMEDIUM is the ceiling here and not a modest HIGH. The candidate set is the whole commitment tree at that anchor and this site prints no size for it, because no source in the corpus states one; what makes the row worth publishing is that four public quantities align, not that any one of them is decisive. The link is unprovable by design.
Lockbox partial echoK-zip271-lockbox
K-zip271-lockboxcite
claim
K-zip271-lockbox
last verified
2026-08-22
confidence
high
  1. ZIP 271 (dev fund extension + 78,750 ZEC disbursement) Zcash Improvement Proposals · accessed 2026-08-22
  2. ZIP 255, Deployment of the NU6.1 Network Upgrade (Mainnet activation height 3,146,400) Zcash Improvement Proposals · 2024-11-23 · accessed 2026-08-22
  3. ZIP 1016, Community and Coinholder Funding Model Zcash Improvement Proposals · accessed 2026-08-22
  4. Alternate explorer cross-check mainnet.zcashexplorer.app · accessed 2026-08-22
  5. Blockchair Zcash API -- transaction dashboard (method; queried 2026-08-22) Blockchair API · accessed 2026-08-22
  6. Blockchair Zcash API -- address dashboard (method; queried 2026-08-22) Blockchair API · accessed 2026-08-22
eaedfddd... shields 7,875 on 2026-02-03 at 23:09:40 UTC; 1f6099a4... returns 7,438.2295 to the same multisig at 23:29:23.
Residual 436.7705 ZEC, relative 5.5%, gap 19 min 43 s.
LOWEverything a matcher likes is here: twenty minutes apart, and the same consensus-defined address on both legs. The residual is 555 times outside eps and still 55 times outside the loosest relative grade at 10 eps, so no relative grade applies at all.refusesThis is the test of the grader's restraint. It must show the pair and refuse to claim it - a strong prior from timing and address reuse does not license a link the amount rule rejects.
202,076.207 unshieldingK-202076-unshield
K-202076-unshieldcite
e179e5b0... pays 202,076.207 ZEC out of the pool at 2026-01-02 15:45:14 UTC, from a transaction with zero transparent inputs, to t1gGCYpyUR.... As of the corpus's last check the address has never spent.aggregate_onlyThere is no in-window shield of comparable size, so Cand_0 is the whole tree and N_eff stays above every threshold.refusesThe explorer must say the origin is unresolved, and not guess. This is the row that most tempts a guess - the largest single exit of the period - and the correct output is the one that names nothing.
Transparent sumK-2026-01-02
K-2026-01-02cite
50,000.5541 + 24,000.9781 = 74,001.5322 against 74,001.9317 consolidated to the hot wallet at 20:35:38 UTC. Difference 0.3995 ZEC.exactTransparent arithmetic is exact and this row is the control: it is the only one on the page whose answer needs no assumption at all. The difference is the second tranche's own residual, printed rather than smoothed.refusesExact about the transparent legs and silent about where either tranche came from inside the pool. An exact sum on this side of the boundary licenses nothing on the other side.

The Required grade column is a test expectation, not a confidence rating. The confidence shown in each citation is the research confidence in the reconstruction of the case, which is a different ladder measuring a different thing; a case can be reconstructed with high confidence and still be required to grade LOW, and the lockbox row is exactly that. Every figure in the chain-facts column is computed from the case steps in zatoshi arithmetic at render time. Where docs/2.0/TRACKING-MATH.md rounds - it writes 52 minutes for the round trip and 20 for the lockbox - the computed value is what is printed here.

Beyond the four: unit tests per estimator, property tests for conservation (section 3.11), and regression tests that the v0.2 audit-record shape has not changed.

not yet calibratedp_change, eps and tau are to be calibrated on 2025 and 2026 blocks with the calibration date printed in the footer. That has not been done. eps = 10^-4 and tau = 2 days are stated defaults carried from the specification, and p_change has no Zcash value at all - so there is no calibration date in the footer yet, and this paragraph stands in for one.