Skip to content

docs: refresh Lido token integration guide - #979

Draft
TheDZhon wants to merge 6 commits into
mainfrom
agent/lido-tokens-integration-guide-refresh
Draft

docs: refresh Lido token integration guide#979
TheDZhon wants to merge 6 commits into
mainfrom
agent/lido-tokens-integration-guide-refresh

Conversation

@TheDZhon

@TheDZhon TheDZhon commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Please, go through these steps before you request a review:

📝 Describe your changes

  1. Rewrites the Lido token integration guide around durable stETH, wstETH, LDO, unstETH, permit, withdrawal, oracle, fee, and multichain semantics.
  2. Adds earnETH and earnUSD to the main token guide and introduces a dedicated Lido Earn integration guide covering token identity, share accounting, queue discovery, synchronous/asynchronous lifecycle, valuation, fees, monitoring, and role-specific integration checklists.
  3. Corrects the Earn introduction: the share tokens are non-rebasing; deposits and redemptions can use synchronous or asynchronous queues; completion time is not guaranteed; and the current EarnETH interface also accepts DVstETH.
  4. Clarifies that each Earn token is its Vault's ShareManager, not the Vault, and labels those addresses explicitly in the deployment registry.
  5. Replaces volatile or obsolete integration snapshots with dated evidence and removes or corrects stale claims, including the drained Balancer v2 venue, Maker-era examples, copied oracle limits, the former 50/50 fee split, unconditional 1 stETH = 1 ETH pricing advice, deprecated network support, dead links, and fixed Earn waiting-time promises.
  6. Adds implementation and sanity-check guidance for wallets, DeFi protocols, researchers, security reviewers, auditors, CeFi systems, large holders, bridges, APIs, and governance-token holders.

🔎 Evidence reviewers can reproduce

Lido tokens

  1. Ethereum reads were pinned to block 25796389, hash 0xce58a67e8f69d3a105caf1fdc66800f82809ebfbc6b1a5edb2020121060a4a88. Foundry cast reproduced the canonical stETH/wstETH relationship and rate, oracle membership/quorum, current aggregate fee distribution, and withdrawal bounds.
  2. Token mechanics were checked against Lido Core v4.0.0, the deployed-contract registry, and the pinned withdrawal permit fallback.
  3. Current lending availability was checked against Aave address-book commit d0508f47f7eba3bb7c1d5dc5d96471d92025f4c3 and the named reserves were queried on-chain.
  4. Multichain lifecycle status follows the current Lido Multichain page and June 2026 network-support update; bytecode and token metadata were independently checked for the six currently recognized wstETH deployments.

Lido Earn

  1. Earn reads were pinned to Ethereum block 25797003, hash 0x99d9710e7438678c3facf08718628a7422422f965209b2a1d4ef9545c974a929. Foundry cast confirmed both token names, symbols, decimals, Vault ↔ ShareManager relationships, implementations, supply categories, flags, and the absence of EIP-2612 domain separators.
  2. Vault enumeration confirmed the registered assets and queues: 6 assets/14 queues for EarnETH and 3 assets/8 queues for EarnUSD; every enumerated queue was registered and unpaused at the pinned block. Oracle reports, sync parameters, capacity/liquidity views, and fee-manager getters were also checked at that block.
  3. Queue and share lifecycle behavior was checked against pinned flexible-vault source commit 1314cba3b0333d3224d037e281e04b80403d5460, including shares-per-asset report direction, pending shares, transfer-time claims, public burns, and synchronous/asynchronous processing.
  4. Current product routing and deployment configuration were checked against staking-widget commit d8a69337f9e5f928533ec28d0b371b3ce30de146.
  5. Market metadata was checked against CoinGecko's lido-earn-eth and lido-earnusd records. No secondary-market or external CeFi/DeFi availability is asserted from metadata alone.
  6. Risk guidance links the maintained Earn risk disclosures, audits, and the EarnETH incident review.

✅ Validation

  • npx prettier --check docs/guides/lido-tokens-integration-guide.md earn/integration-guide.md earn/introduction.md earn/deployment-contracts.md sidebarsEarn.js
  • git diff --check
  • Full npm run build (290 docs, client and server compiled)
  • External-link reachability pass, including the corrected Earn risk-disclosure and incident-review URLs
  • Persona sanity pass covering wallet, DeFi, researcher/API, whitehat/security reviewer, auditor, CeFi/custody, large-holder, and governance-holder concerns

All market and availability claims are explicitly dated 2026-08-20 and scoped to what the cited evidence actually establishes.

Direct ETH → wstETH referral helper

  1. On-chain getters for the canonical helper at 0xa88f0329C2c4ce51ba3fc619BBf44efE7120Dd0d confirmed its stETH and wstETH references.
  2. Behavior was checked against pinned si-lidity source commit 41dc3c24b9e4f882789e4c0f7c63f2f5ca56d391 and the security audit.
  3. The guide distinguishes the helper from wstETH's zero-referral ETH shortcut and documents caller-as-recipient behavior, event attribution, lack of a minimum-output parameter, staking pause/rate-limit exposure, and the reverting plain-ETH receiver.

TheDZhon and others added 6 commits August 20, 2026 13:00
Replace the dated integration-availability matrix with maintained
discovery sources plus one dated Aave collateral example, drop the
duplicated Earn address table in favor of the Earn registry and guide,
merge the five persona checklists into a single integration checklist,
fold bridge guidance into the Multichain section, and compress the risk
list into prose. Re-verified surviving claims on-chain at block
25806051 (2026-08-21) and refreshed dated statements accordingly.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Merge the four persona checklists into one integration checklist, fold
the market-availability section into the monitoring section without
third-party metadata links, and state explicitly that liquid-asset and
capacity reads happen on the redemption queue because the Vault's
getLiquidAssets() is callable only by a registered queue. Behavior
re-verified against flexible-vaults 1314cba and on-chain state at
block 25806051 (2026-08-21).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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