For the complete documentation index, see llms.txt. This page is also available as Markdown.

Liquidity Hub

Contracts for the Liquidity Hub — one per-asset ERC-4626 allocator vault per asset, routing deposits across the Core, Flux and FRV yield families.

The canonical, always-current list of deployed Hubs lives on-chain: query getHubs() or hubForAsset(asset) on the HubRegistry below rather than hard-coding a Hub address. The addresses known at the time of writing are listed here for convenience.

BNB Chain Mainnet

Registry

The registry is a chain-level singleton behind a TransparentUpgradeableProxy, administered by Venus's shared DefaultProxyAdmin 0x6beb6D2695B67FEb73ad4f172E8E2975497187e4 — the same one that administers the core pool and isolated pools — so it upgrades independently of the Hubs.

Hubs

Each Hub is a beacon proxy over HubBeacon, holds exactly one asset, and issues a Venus Hub <asset> / vh<asset> share token.

Yield Groups

Every Hub owns three YieldGroup proxies — one per yield family. Resolve them from the Hub's registeredYieldGroups() rather than hard-coding; the current set is:

USDT Hub

USDC Hub

U Hub

Wired resources

Each Core YieldGroup routes to the corresponding Core pool vToken (vUSDT, vUSDC, vU) and each Flux YieldGroup to the corresponding Fluid fToken (fUSDT, fUSDC, fU). The FRV YieldGroups were registered unwired at launch; VIP-657 then registered the Solv (Ceffu custody) vault 0x086fd7972510dF9d9cFdc4efB8677fc72d290103 as the resource of FRVSource_USDT and the Asseto CASH+ vault 0x41179fc6ff878b7795B900888E0B61fd8029bceA as the resource of FRVSource_U, and raised the FRV percentage cap on those two Hubs from 30% to 50% of TVL. FRVSource_USDC still carries no resource. The FRV sources stay out of the outer deposit queue, so lender deposits continue to land in Core/Flux and FRV is filled only by the Operator's reallocate. Read the live set with resources() on a YieldGroup, and its per-resource adapter with resourceConfig(resource).

Beacons

One UpgradeableBeacon per family; upgrading a beacon upgrades every vault of that family atomically. All four are owned by the Normal Timelock 0x939bD8d64c0A9583A7Dcea9933f7b21697ab6396.

Adapters

Stateless, non-upgradeable singletons shared by every Hub; mutating calls reach them by delegatecall, so receipt tokens land on the calling YieldGroup.

Periphery

Stateless, permissionless and non-upgradeable; one-click migration of a Venus Core position into a Hub via migrateFromCore / migrateFromCoreBNB (plus the *WithConsent variants).

Access control

Every gated function on the Hubs and YieldGroups is checked against AccessControlManagerV8 0x4788629ABc6cFCA10F9f969efdEAa1cF70c23555. Role holders (governance, Operator, Guardian) are granted by proposal rather than baked into the bytecode — see Permissions.

BNB Chain Testnet

A parallel deployment exists for integration testing. It is not a faithful mirror of mainnet — share-token naming, FRV wiring, caps and the registry's proxy admin all differ; see the technical reference for the full list of differences.

Registry

The testnet registry predates the decision to use the shared DefaultProxyAdmin, so it still carries a registry-specific ProxyAdmin.

Hubs

The testnet registry lists thirteen Hubs, all over mock assets. The USDT Hub is the reference deployment documented in the technical reference; the rest were stood up for QA scenarios and their wiring varies per Hub — some carry all three families, some only part of them, and one carries none. Read registeredYieldGroups() on a Hub, then resources() on each group, rather than assuming the mainnet shape.

The USDT Hub's share token is named Vault Share / vSHARE, a placeholder predating the Venus Hub <asset> / vh<asset> convention the later Hubs and all of mainnet use.

Yield Groups (USDT Hub)

Unlike mainnet, FRV is fully wired on testnet: the FRV YieldGroup has a Fixed-Rate Vault registered as a resource, so all three families route capital.

Beacons

Adapters

Periphery

Last updated