- Recognized yield - realized yield that has been explicitly recognized and is withdrawable.
- Estimated accrued yield - a forward projection of yield that may be recognized at the next recognition event, based on the latest 30-day average APY.
Snapshot-based accounting model
High-yield wallets use thehigh_yield_wallet_snapshots table to track:
principal_balance- total principal allocated to the strategy.recognized_yield- total recognized yield to date.estimated_accrued_yield- projected yield since the last recognition event.average_apy_last_30d_bps- 30-day average APY at the time of the snapshot (basis points).
Wallet balance fields
When you fetch a high-yield wallet, Braid derives these fields from the latest snapshot:withdrawableBalance= principal balance + recognized yield (what you can pull out today).recognizedYield= realized yield that has passed recognition and is withdrawable.estimatedAccruedYield= forward-looking projection between recognition events.averageApyLast30dBps= APY snapshot used to inform projections and analytics (not a guarantee).
Daily projected yield snapshots
A daily job inserts snapshot rows that:- Carry forward
principal_balanceandrecognized_yield. - Update
estimated_accrued_yieldusing:- Time elapsed since the last snapshot.
average_apy_last_30d_bpsand current allocations (from your off-chain analytics).
- Optionally update
average_apy_last_30d_bpswhen the 30-day APY changes.
- Historical average APY.
- How estimated yield has evolved between recognition events.
Recognition events
Recognition events move projected yield into the recognized bucket:- You compute the correct total recognized yield off-chain.
- You insert a snapshot where:
principal_balanceis carried forward.recognized_yieldis bumped to the new total.estimated_accrued_yieldis set to0.average_apy_last_30d_bpsis set to the current 30-day APY.
withdrawableBalancejumps up to include the newly recognized amount.estimatedAccruedYieldrestarts from zero for the next period.
Yield-over-period endpoint (recognized-only)
To compute yield over time, call:- This endpoint uses recognized yield only, based on
recognized_yielddeltas between snapshots. - Estimated accrued yield and APY projections are never used for this calculation.
Recommended dashboard treatment
When building dashboards:- Treat
withdrawableBalanceandrecognizedYieldas the source of truth for user-accessible funds. - Display
estimatedAccruedYieldandaverageApyLast30dBpsas forward-looking or informational metrics with clear labeling (for example, “Projected yield”). - Use the
/high-yield-wallets/yieldendpoint to power performance charts for recognized yield over time, independent of short-term APY fluctuations.