Isolated Pools
This section documents the PoolRegistry → Comptroller → VToken architecture from the isolated-pools repository. Despite the historical directory name, this architecture is not deprecated: it powers the Core Pool on every supported mainnet except the legacy BNB Chain Core Pool.
Do not confuse these two lifecycle decisions:
the old, separately promoted Isolated Pools product on BNB Chain, Ethereum, and Arbitrum is retired; use the exit guide for positions that still need to be closed;
the lending market engine remains active for modern Core Pools and for any retired pool that still has balances, debt, rewards, or recovery duties.
BNB Chain's legacy Core Pool uses the Unitroller/Diamond Comptroller and legacy VTokens, not the contracts in this section.
Runtime topology
PoolRegistry transparent proxy
└─ registered Comptroller beacon proxies (one per pool)
└─ VToken beacon proxies (one per market)
└─ an interest-rate-model contract per marketPoolLens is a separate read helper. It is not a proxy, and old Lens deployments can coexist with newer ones. Resolve the exact address and tuple ABI before decoding its output.
Mainnet implementation map
The following proxy and beacon state was read directly from each chain on August 27, 2026. Addresses in a deployment artifact are not a substitute for these indirections: governance can upgrade a proxy or beacon without changing the user-facing proxy address.
BNB Chain
118365741
0x9F7b01A536aFA00EF10310A162877fd792cD0666
0xc4953e157D057941A9a71273B0aF4d4477ED2770
Ethereum
25845889
0x61CAff113CCaf05FFc6540302c37adcf077C5179
0x08A2577611Ae63d1ba40188035eD6Ad21F8502A9
Arbitrum One
498885126
0x382238f07Bc4Fe4aA99e561adE8A4164b5f815DA
0xc9A9594e774F9454e4665126C72Eb62643253aB0
Optimism
156113433
0x147780799840d541C1d7c998F0cbA996d11D62bb
0x6a166fcd39BA9c4ACc1b98eC45Adcdc4926E7967
Base
50518148
0xeef902918DdeCD773D4B422aa1C6e1673EB9136F
0x88eF9Fd7004f81c1B1CA59375178425C97A7eE68
opBNB
178834850
0x345a030Ad22e2317ac52811AC41C1A63cfa13aEe
0xc5A64235ff4aad92b71eC69a925224b60aede1aa
zkSync Era
71738270
0xFD96B926298034aed9bBe0Cca4b651E41eB87Bc4
0x204Dfdbb0F066dAfaD8C7fc07B04751A973ADCFb
Unichain
57077285
0x0C52403E16BcB8007C1e54887E1dFC1eC9765D7C
0xBAb8c229B6C19c443b942F228B076Ca0d4f2260E
BNB Chain
0x38B4Efab9ea1bAcD19dC81f19c4D1C2F9DeAe1B2 → 0x7B586Aed00C85d7E32B463DCE094B1faCA7e7e7c
0x2b8A1C539ABaC89CbF7E2Bc6987A0A38A5e660D4 → 0x228Ea224d62D14a2e2cb9B43083aE43954C39B67
block, 42,048,000/year
Ethereum
0xAE2C3F21896c02510aA187BdA0791cDA77083708 → 0xC910F2B196C516253e88b2097ba5D7d5fC9fa84e
0xfc08aADC7a1A93857f6296C3fb78aBA1d286533a → 0x33bE30B31f07c8a2bfb705FBcE55E983c47ba864
block, 2,628,000/year
Arbitrum One
0x8b6c2E8672504523Ca3a29a5527EcF47fC7d43FC → 0x4b256a7836415e09DabA40541eE78602Bc6B24bF
0xE9381D8CA7006c12Ae9eB97890575E705996fa66 → 0x1986Fb53535953711265d5fD329cd7A690411669
second, 31,536,000/year
Optimism
0x64f9306496ccF7b7369d02d68D6abcA2Edfb871d → 0x4D3f690A33A365Fc131777ea6e0f5B8821eb755b
0xd550Bdfa9402e215De0BabCb99F7294BE0268367 → 0xBEB9eE824a0096c0FB606b070c028cB55b6f21e7
second, 31,536,000/year
Base
0x1b6dE1C670db291bcbF793320a42dbBD858E67aC → 0x93177BFDBc5dAf7B0fF4A09478eF90FF6e28E04A
0x87a6476510368c4Bfb70d04A3B0e5a881eC7f0d1 → 0x107bA74c87e75b6cc291510D3A85D0c8EAa73e82
second, 31,536,000/year
opBNB
0x11C3e19236ce17729FC66b74B537de00C54d44e7 → 0xD3b2431c186A2bDEB61b86D9B042B75C954004F6
0xfeD1d3a13597c5aBc893Af41ED5cb17e64c847c7 → 0x7AA7EB7553DE5f221C06595f3b4021363279e9Fe
block, 126,144,000/year
zkSync Era
0x0221415aF47FD261dD39B72018423dADe5d937c5 → 0xB2B58B15667e39dc09A0e29f1863eee7FD495541
0x53523537aa330640B80400EB8B309fF5896E7eb5 → 0x3e9cf1eBe018610585D0B519A9956C950E079591
second, 31,536,000/year
Unichain
0xE57824ffF03fB19D7f93139A017a7E70f6F25166 → 0xDa42d85AE7625eBDD3b5967F44c263565BD8fA40
0x42c1Efb9Dd9424c5ac8e6EcEa4eb03940c4a15Fc → 0x256E61f4056EC9eaB8c56E3aFa217a12c33b8893
second, 31,536,000/year
One important exception to the v4.4.0 deployment artifacts is BNB Chain: its VToken beacon currently points to the implementation installed by VIP-524, not to the BNB artifact committed in the repository release.
How to use this reference
Treat a registry entry as discovery data, not proof that a pool is open for new use.
Resolve the current proxy or beacon implementation at the block used by your integration.
Use “slot” for rate and accrual units until
isTimeBased()establishes whether a slot is a block or a second.Use the deployed markets registry for market addresses, then confirm listing, pause, caps, balances, and debt onchain.
Use compiler build information for storage-layout review. A list of public getters is not a safe upgrade layout.
The stable API descriptions in this section are aligned with the isolated-pools v4.4.0 source. Pages call out deployment exceptions where the live implementation differs.
Last updated

