Skip to content

Lucidly syUSD vault adapter (ILucidlyVault interface + wrapper) #20

@abhicris

Description

@abhicris

Add a LucidlyAdapter.sol so stablecoins in the toolkit can auto-park idle reserve into Lucidly's syUSD vault to earn yield. Unblocks CR8-USD Phase 2 (relaunch-plan.md) — we're not rebuilding yield infra.

Scope

  • interfaces/ILucidlyVault.sol — Solidity interface matching Lucidly's BoringVault deposit/withdraw/share-price API.
  • extensions/LucidlyAdapter.sol — wrapper that:
    • Takes configurable target reserve ratio (e.g. 20% of stablecoin reserve stays as liquid USDC, 80% into syUSD).
    • rebalance() — pulls excess USDC into vault; unpark(amount) — redeems from vault to satisfy redeems that exceed the liquid buffer.
    • Emits Parked, Unparked, YieldHarvested events.
  • Mock MockLucidlyVault.sol for test-time integration — do not hit Lucidly mainnet in tests.
  • Foundry tests: rebalance math, partial-fill on unpark, access control, pause path (if Lucidly vault paused).

Integration notes

  • Lucidly team: Yashish Khurana / Samarpan Dutta. Close relationship — spec the interface in conversation before finalising.
  • Target chains: Arbitrum first (matches CR8 deploy target).
  • Yield harvest cadence: epoch-based, configurable (default 7 days).

Why

  • Create Protocol relaunch deliberately outsources yield to Lucidly — see /Users/abhishekkrishna/internal/create-protocol/lucidly-partnership.md and relaunch-plan.md §Phase 2.
  • gtm-review-2026-04-13.md §Resolve contradictions row "Custom yield infra or Lucidly?" resolves to Lucidly.

Labels

enhancement, help wanted.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions