Symbiotic Vaults
Reports an account's underlying-asset balance in any configured Symbiotic ERC-4626 vault.
One immutable adapter that reports the underlying-asset balance for an account's position in any Symbiotic ERC-4626 vault. The set of vaults to query is governed on the NAV Calculator (per-adapter, MANAGER-gated) and passed in as bytes32 instance coordinates — vault addresses widened to bytes32 — so adding a vault is a config transaction, not a deploy.
Type: Meta-adapter
protocolSubId:
keccak256("symbiotic-vaults")Instance key: the vault address, widened to bytes32
positionId:
abi.encode(address(vault))
Positions returned
Supplied
Supplied
false
The account's vault shares, redeemed to the vault's asset
A single leg. Valuation goes through the shared fee-aware ERC-4626 redemption helper (previewRedeem), so any redemption fee the vault charges is reflected in the reported amount rather than assumed away.
Which vaults this covers
How a vault is tied to Symbiotic, positively. Measured on mainnet for KPK USDC LiquidLane: it is a registered entity of the Symbiotic VaultFactory (isEntity(vault) == true), and its delegator() was minted by one of Symbiotic's two DelegatorFactories. The two factories' entity counts sum exactly to the VaultFactory's total, and all share the VaultFactory's owner; the delegator's vault() points back at the vault.
That check is worth stating precisely, because it is asymmetric: the VaultFactory assertion is guess-free, while the delegator assertion hardcodes one of the two known DelegatorFactories. A vault whose delegator came from the other factory would still be genuine Symbiotic.
Failure behaviour
A configured instance that is not a readable ERC-4626 vault reverts at vault.asset() and is dropped by the meta-adapter's per-instance catch — the account's other positions are unaffected. This is the family's usual fail-closed-per-instance behaviour: an unreadable instance contributes nothing rather than poisoning the whole adapter's result.
Last updated