Skip to content

docs: ADR 0004 — hub-and-spoke NAV pattern evaluation#29

Draft
0xgleb wants to merge 2 commits into
docs/in-transit-accounting-tokenfrom
docs/nav-accounting-architecture
Draft

docs: ADR 0004 — hub-and-spoke NAV pattern evaluation#29
0xgleb wants to merge 2 commits into
docs/in-transit-accounting-tokenfrom
docs/nav-accounting-architecture

Conversation

@0xgleb

@0xgleb 0xgleb commented Jun 25, 2026

Copy link
Copy Markdown
Member

Motivation

Asked whether we can re-architect NAV management to follow the LayerZero x
Centrifuge report's multi-chain pattern, and whether it would help. The two
designs sound identical but solve inverse problems: the report propagates a
trusted NAV outward to share-token spokes (price consistency); we ingest
untrusted off-Solana value inward to compute NAV (trust-minimized valuation).
Worth a written decision so it is not re-litigated later.

Solution

ADR 0004 splits the report's pattern into two directions with opposite value
signs:

  • Adopt — inbound accounting discipline. A double-entry internal ledger
    (turns ADR 0001's "maintenance bug mis-prices shares" residual into an
    on-chain assets = liabilities + equity assertion), a reconcile-or-floor
    epoch-NAV gate (we floor rather than wait, because freezing redemption is
    forbidden), and the proof-gated in-transit token from the stacked ADR 0002
    refinement. Optional unifying frame: model the whole tier system as one
    ledger — Tier 1 native entries, Tier 2 capped/floored liability tokens,
    in-transit proof-gated receipts, Tier 3 side-pocket claims.
  • Decline (absent a product trigger) — outbound share distribution.
    Multi-chain investor access does not improve NAV; it re-introduces the
    report's stale-price "consistency gap" (the 2003 mutual-fund scandal as a
    cross-chain artifact) plus a second cross-chain trust surface beside the
    inbound Wormhole Queries read. Pins the constraints any future
    multi-chain-shares work must meet.

No pricing formula or trust boundary in ADRs 0001–0003 changes. Stacked on the
ADR 0002 refinement branch (#28), itself stacked on #11.

@0xgleb 0xgleb self-assigned this Jun 25, 2026
@coderabbitai

coderabbitai Bot commented Jun 25, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: bc9c1a0c-995c-4b67-9fc6-3400adf46b50

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/nav-accounting-architecture

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@0xgleb 0xgleb force-pushed the docs/in-transit-accounting-token branch from 2bd571a to e6a7ca2 Compare June 27, 2026 21:29
@0xgleb 0xgleb force-pushed the docs/nav-accounting-architecture branch from 43e9f9b to 60e0ffa Compare June 27, 2026 21:30
0xgleb added 2 commits June 27, 2026 22:29
Evaluate whether to re-architect NAV management to follow the LayerZero x
Centrifuge report's multi-chain pattern. The report solves the inverse problem
(propagate a trusted NAV outward to share-token spokes) to ours (ingest
untrusted off-Solana value inward to compute NAV), so most of it does not
apply. Split the evaluation into two directions: adopt the inbound accounting
discipline (double-entry ledger, reconcile-or-floor epoch gate, proof-gated
in-transit token) because it improves NAV correctness within the existing
trust model; decline outbound multi-chain share distribution absent a product
trigger, because it adds a stale-price consistency gap and a second cross-chain
trust surface without improving valuation. No pricing formula or trust boundary
in ADRs 0001-0003 changes.
@0xgleb 0xgleb force-pushed the docs/in-transit-accounting-token branch from e6a7ca2 to 9c7764d Compare June 28, 2026 01:30
@0xgleb 0xgleb force-pushed the docs/nav-accounting-architecture branch from 60e0ffa to b813171 Compare June 28, 2026 01:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant