Live venues. Room for churn.

The optimizer re-scores every connected venue on a 6-hour cycle. Nothing here is a permanent allocation — each venue earns its share of deployed capital every cycle, judged on the same four factors.

Steakhouse

USDG ERC-4626 vault

at capacity
2.41%risk-adj APY

3.44% raw APY

Risk
0.70
Liquidity
1.00
Depth
1.00
0x637f…e223Blockscout

Steakhouse (Live)

Live steakUSDG ERC-4626 vault

receiving deposits
0.21%risk-adj APY

0.30% raw APY

Risk
0.70
Liquidity
1.00
Depth
1.00
0x637f…e223Blockscout

Morpho

USDG lending market (mock)

receiving deposits
2.33%risk-adj APY

3.40% raw APY

Risk
0.70
Liquidity
0.98
Depth
1.00
0x843e…0889Blockscout

Longbow USDG Core

Live MetaMorpho vault (Morpho Blue)

receiving deposits
0.01%risk-adj APY

0.01% raw APY

Risk
0.65
Liquidity
1.00
Depth
1.00
0x817d…e3c4Blockscout

Idle

Vault reserve

reserve
0.00%risk-adj APY

0.00% raw APY

Risk
0.00
Liquidity
1.00
Depth
1.00
Synthetic bucket — undeployed capital sits here, not in an adapter contract.

How adapters work

Every venue the vault can route to sits behind an IVenueAdapter contract — a thin wrapper exposing deposit, withdraw, totalDeployed, and rawApy in a uniform shape regardless of what the underlying protocol looks like. The vault never talks to Steakhouse or Morpho directly — it only talks to the adapter.

Adding a venue means deploying a new adapter and registering it with addVenue(adapter, cap), which emits VenueAdded and puts it in scope for the very next scoring cycle. No migration, no redeploying the vault itself.