Vault v1.

HalbornCode version: not recorded (see the report)

Audit · firm’s term: smart contract assessment

Halborn reviewed NUVA (Vault v1.) on 7 Aug 2026: 3 findings, 1 critical; all marked fixed.

1 critical finding, fixed
Open the reportOpen NUVA’s security record

Report hosted on halborn.com.

Trustblock does not review code.

Findings35

Statuses are the security firm’s own, from its report.

SeverityOpenAcknowledgedFixed
Critical001
High000
Medium002
Low000

Marked Informational by the firm. Not counted as findings.

InformationalInterest Affordability Forecast Under-Estimates the Applied WindowOpen

The report gives no description here.

InformationalTruncation Denies Sub-Unit Yield / Fee Under Frequent ReconcilesOpen

The report gives no description here.

InformationalValidate() Permits PeriodTimeout / FeePeriodTimeout == math.MinInt64Open

The report gives no description here.

InformationalBridge-Address Rotation Strands the Old Bridge's Shares (Recoverable by Transfer)Acknowledged

The report gives no description here.

InformationalBridgeMintShares Carries No Idempotency Key, So the Chain Cannot Tell a Duplicate Bridge-In From a New OneAcknowledged

The report gives no description here.

InformationalDelegated Management Authority Is an All-or-Nothing Bundle With No Default Interest-Rate EnvelopeAcknowledged

The report gives no description here.

InformationalExportGenesis Emits Internal-NAV Entries That InitGenesis Will Drop (Round-Trip Asymmetry)Acknowledged

The report gives no description here.

InformationalGenesis Swap-Out Queue Accepts Duplicate Ids and Negative Times (InitGenesis Halt / Latent Auto-Pause)Acknowledged

The report gives no description here.

InformationalThe Interest-Disable Cleanup Performs a Full Chain-Wide Queue Scan That Finds Nothing, and Is Undone by the Next ReconcileAcknowledged

The report gives no description here.

InformationalThe Shared Swap-Out Batch Budget Has No Fairness Control, So One Actor's Backlog Starves Other Vaults' RedemptionsAcknowledged

The report gives no description here.

Show 10 more
InformationalThe v1→v2 Fee Conversion Branch Is Unreachable, and a Test and Two Spec Sections Assert OtherwiseAcknowledged

The report gives no description here.

InformationalautoPauseVault Builds an Unvalidated `sdk.Coin` With a Nil Amount Inside the EndBlockerFixed

The report gives no description here.

InformationalBridge Mint/Burn Sit Outside the Pause Circuit Breaker, and the Spec Contradicts Itself on Whether They ShouldFixed

The report gives no description here.

InformationalDead Code: CalculateExpiration / CalculatePeriods Are Unreferenced and Carry Latent Long-Running-Loop, Unchecked Int64 and Unguarded Coin.Sub HazardsFixed

The report gives no description here.

InformationalEstimateSwapIn Query Panics on a Nil Asset AmountFixed

The report gives no description here.

InformationalEstimateSwapOut Validates `shares` After the Expensive State Reads, With No Length Bound and Base-0 ParsingFixed

The report gives no description here.

InformationalExpDec (17-Term Maclaurin e^x) Sign-Inverts and Is Grossly Wrong for Large |rt|Fixed

The report gives no description here.

InformationalGenesis Import Does Not Bound WithdrawalDelaySeconds, Bypassing the Swap-Out Withdrawal DelayFixed

The report gives no description here.

InformationalGenesis Pending-Swap-Out With a Negative Shares Amount Halts the Chain in EndBlockerFixed

The report gives no description here.

InformationalhandleReconciledVaults Splits the PayoutVerificationSet Removal and the Timeout Re-Enqueue Across Two Contexts, So an Error Between Them Leaves No Retry HandleFixed

The report gives no description here.

Show 10 more
InformationalMarker Share-NAV Mirror Goes Stale After a Fee-Only ReconcileFixed

The report gives no description here.

InformationalNo Maximum-Age Bound on an Internal NAV Price Used for ValuationFixed

The report gives no description here.

InformationalOutstandingAumFee Is an Uncapped, Never-Aged Liability With No Signal When It Approaches Gross TVVFixed

The report gives no description here.

InformationalPayoutVerificationSet Is Drained in Address Order, Not Insertion Order, Deferring High-Address Vaults While Churn Is SustainedFixed

The report gives no description here.

InformationalPayoutVerificationSet Is Not Round-Tripped in GenesisFixed

The report gives no description here.

InformationalPendingSwapOutQueue.Dequeue Discards the IndexedMap.Has Error and Leaves Its Idempotent Contract UndocumentedFixed

The report gives no description here.

InformationalPro-Rata Share Math Uses Non-Safe Int.Add for the Virtual OffsetFixed

The report gives no description here.

InformationalSwap-Out Retry Backoff Has No Jitter, So Co-Failing Entries Stay Permanently SynchronizedFixed

The report gives no description here.

InformationalTimeout Reschedule Has No Compensating Re-Enqueue When Its Cached Half FailsFixed

The report gives no description here.

InformationalUnbounded Per-Vault Internal-NAV Walk in GetTVV Inside ABCIFixed

The report gives no description here.

Show 2 more
InformationalUnguarded sdk.Coin.Sub in BridgeMintShares Panics on a Broken Supply Invariant (Recovered on the Tx Path)Fixed

The report gives no description here.

Informationalv1→v2 Migration Bricks the Upgrade When a Legacy Vault Fails the Current Validate()Fixed

The report gives no description here.

Contracts in scope

No deployed address is recorded for this audit.

The report names a repository or files. Open the report to see its scope.

Part of NUVA’s security record

NUVA
Audits9 audits by 2 firmsLast audit Oct 2026, by Halborn.
Critical findingsNo open critical findingsAcross the 9 reports, 1 critical finding was reported. It is marked fixed by the firm that reported it.
Open NUVA’s security record

Security firm

Halborn

36 projects reviewed · 80 reports · latest Oct 2026

See Halborn’s audits

Something wrong on this page? A missing report, a wrong date, a finding that was fixed since. Tell us and we check it against its source.

Tell us