May 15, 2026
Native DEX — areal_fee_destination Becomes Authority-Updatable Via update_areal_fee_destination Breaking Update
New on-chain instruction allows the DEX authority to rotate the protocol fee destination after init. Previously immutable per the original spec; now updatable with on-chain RWT-mint validation. Enables Treasury rotation, security incident response, and recovery from misconfigured-bootstrap scenarios (e.g., when the destination was inadvertently set to a USDC ATA). Every rotation emits ArealFeeDestinationUpdated for audit transparency.May 3, 2026
Yield & Reward Distribution — Architecture Page Aligned with the Actual Flow Update
Yield & Reward Distribution architecture page (and the matching block in the Architecture Overview) rewritten to describe the actual OT-revenue flow: 0.25% Areal protocol fee + 70/20/10 split, USDC → RWT viaconvert_to_rwt, per-OT reward vault with per-second vesting, per-deposit snapshot fairness. The Initial Release “50/50 RWT+USDY → master pool for 12 months → daily withdrawal” model never existed in code — convert_to_rwt swaps USDC up to NAV and mints the remainder, holders claim by merkle proof.May 3, 2026
Off-Chain Services — Nexus Manager Hardening and Yield-Claim RWT Lane Update
Off-Chain Services page documents the Nexus Manager bot’sOperational hardening (multi-RPC fallback, single-instance lock, WS reconcile, SOL pre-flight, kill-switch authority, decision engine, dry-run SEND_TX flag). Yield Claim Crank’s RWT-lane step is rewritten — the 15% RWT slice now lands in YD LiquidityHolding and is drained by Authority via withdraw_liquidity_holding, not by the crank via nexus_deposit. Wallet rows updated: manager pubkey lives on LiquidityNexus.manager (not dex_config.nexus_manager); registration uses initialize_nexus / update_nexus_manager.May 2, 2026
Native DEX — Fix: Nexus Claim Destinations and Validation Wording Fix
Corrects three errors in the earlier same-day per-side accumulator entry:nexus_claim_rewards lands fees in the Nexus’s own ATAs (nexus_token_a_ata / _b), not in Treasury ATAs — Treasury settlement is a separate Authority call to nexus_withdraw_profits. The “at least one claimable > 0” validation in claim_lp_fees does not exist (both-zero is a clean no-op). Both claim_lp_fees and nexus_claim_rewards emit the same LpFeesClaimed event (dual-side); NexusRewardsClaimed is reserved-but-unused.May 2, 2026
Native DEX — Per-Side Q64.64 LP-Fee Accumulator (Replaces Legacy Single-Side Model) Breaking Update
Native DEX page now describes the per-side Q64.64 cumulative-per-share LP-fee accumulator that the contract actually implements. Drops the legacy per-poolfee_vault: Pubkey, the single-side proportional formula, and the LpPosition.fees_claimed / fee_debt fields. claim_lp_fees and nexus_claim_rewards now pay both token sides (A and B) — the dual-side layout is forward-compat for non-RWT pairs, while today’s swap rule still always accrues on the RWT side. Also fixes an internal inconsistency in the Initial Release “Instant Claim” formula.May 1, 2026
Native DEX — Nexus Surface (Direct SPL Transfer Policy, Record Deposit, Withdraw Profits) Feature
Native DEX page now documents the Direct SPL Transfer policy (untracked deposits raise withdrawable-profit ceiling but never violate the principal floor), thenexus_record_deposit state-only CPI target invoked by the YD atomic drain, and the Authority-gated nexus_withdraw_profits that releases only the delta above total_deposited. Splits the nexus_deposit Note across the USDC and RWT lanes and updates the Token Flow Summary accordingly.May 1, 2026
Yield Distribution — Per-Deposit Snapshot Algorithm for Merkle Root Update Security
Off-chain merkle-root publisher now uses per-deposit snapshot aggregation to computecumulative_amount per holder. Each deposit is allocated only to holders captured in the snapshot taken at that deposit’s slot, eliminating the front-running vector around announced distributions that the naive current-balance formula introduced. Adds Publisher Infrastructure (KMS / HSM key custody, archival RPC, independent verifiers) and Operational Parameters subsections. The on-chain contract surface is unchanged.May 1, 2026
Yield Distribution — LiquidityHolding PDA and Atomic Drain Feature
Documents theLiquidityHolding singleton PDA (state, seed, owned RWT ATA) and the withdraw_liquidity_holding instruction — Authority-gated atomic drain that bundles the SPL transfer with a CPI to native_dex::nexus_record_deposit in a single transaction, eliminating any window between RWT delivery and the Nexus principal-floor update. New LiquidityHoldingWithdrawn event.May 1, 2026
RWT Engine — LiquidityHolding Routing for the 15% Yield Slice Update
claim_yield routes the 15% liquidity slice into the LiquidityHolding PDA RWT ATA in Yield Distribution; the slice reaches the Liquidity Nexus through a single-TX atomic drain (withdraw_liquidity_holding) that updates the Nexus principal floor in the same instruction. Documents the RwtVault.areal_fee_destination dual-role alias under the account name dao_fee_account in mint_rwt. The 70 / 15 / 15 economic split is unchanged.May 1, 2026
Liquidity Nexus — Dedicated Architecture Page Feature
New architecture page formally documents the Liquidity Nexus subsystem — three trust tiers, the principal-lock invariantnexus_balance(t) ≥ total_deposited(t), two deposit lanes (USDC from OT revenue, RWT from RWT yield), the manager kill-switch, and the Direct SPL Transfer policy. Introduces the LiquidityHolding PDA in Yield Distribution as the staging account for the RWT lane.April 17, 2026
Monotonic Ladder — Single-Sided Master Pool Redesign Breaking
Master pools (RWT/USDC, RWT/USDY) replace the symmetric 2:1 pyramid with a single-sided, cumulatively growing bid structure. Nexus LP provides USDC only; RWT ask-side is organic or routed tomint_rwt as synthetic ask. shift_liquidity removed; grow_liquidity and compress_liquidity added.April 13, 2026
LP Fee Reward Model — Per-Pool Fee Vault Breaking
LP swap fees are no longer auto-compounded into pool reserves. Fees are now collected in a per-pool fee vault — LP holders claim instantly viaclaim_lp_fees. Fees charged on top of swaps to preserve pool capitalization.April 13, 2026