Venus isolated pools were retired with contract exits available only where market conditions permit withdrawals

Venus isolated pools were deprecated and removed from the app, leaving direct vToken contract interactions as an exit option for eligible remaining positions. Withdrawal requires a listed market with redemption enabled, enough redeemable cash and an account that passes the pool's risk checks. Outstanding loans may require repayment first. Some markets block repayment or redemption, so a visible vToken balance doesn't ensure access. The standalone pools operated separately from Core Pools, and retirement didn't erase stored balances or debt.

Last updated -

vToken Claims and Pool-Level Controls

The retired standalone pools paired separate lending markets with a pool-specific Comptroller, which governed collateral and account risk across those markets. Each vToken tracked a particular underlying asset, supplier claims and borrowing balances. Repayment therefore belongs to the borrowed asset's market, while withdrawal belongs to the supplied asset's market. Assets in another pool don't automatically support the old position. The same engine also supports Core Pools outside the legacy BNB Chain Core deployment. Its continued use doesn't reopen the retired isolated-pool product.

Redemption Inputs and Market Parameters

The redemption functions take different units: redeem accepts a specified vToken amount, while redeemUnderlying starts from an amount denominated in the market's underlying asset. The exchange rate connects those units. A full receipt-balance exit uses the complete vToken balance, whereas an underlying-denominated request involves conversion and rounding. Neither function overrides market policy or cash constraints.

Venus isolated pools - Redemption Inputs and Market Parameters - diagram

View image file

Market reads describe separate parts of exit eligibility. A listed market can still pause the required action. Stored borrowing figures omit interest accumulated since the market's last accrual.

Parameter Contract Read Value or Unit Exit Relevance
Underlying asset underlying() ERC-20 token address Payment and receipt asset for that market
Receipt balance balanceOf(account) vToken base units Amount for a full-balance redemption
Stored borrowing borrowBalanceStored(account) Underlying-token base units Debt at the stored borrow index
Market listing isMarketListed(vToken) true required Comptroller accepts the market
Repayment pause actionPaused(vToken, 3) false required REPAY action available
Redemption pause actionPaused(vToken, 1) false required REDEEM action available
Market cash getCash() Underlying-token base units Implementation and reserves affect redeemable liquidity

Can You Withdraw While You Still Owe a Loan?

Outstanding debt can coexist with a partial withdrawal when the remaining collateral satisfies the Comptroller's account checks and the market can process the redemption. Clearing every borrow in the affected pool first removes the debt-related shortfall obstacle. It doesn't supply missing market cash or restore paused actions. Interest affects an open borrowing balance, and stopping new deposits during the sunset removed the option of adding collateral in those markets. Liquidation exposure therefore remained relevant to borrowers who hadn't closed their loans.

Direct Contract Access After App Removal

Direct contract access replaces the removed isolated-pool screens where exit actions remain enabled. Legacy production positions existed on BNB Chain, Ethereum and Arbitrum. Direct self-redemption uses the wallet that holds the position and the market proxy on its original network. Governance can upgrade that implementation while leaving the proxy address unchanged.

Proxy and Wallet Compatibility

Block explorers may expose Read as Proxy and Write as Proxy tabs for these beacon proxies. If the explorer doesn't recognize the proxy, stop and ask for help verifying the contract before signing. Connecting a wallet provides access to signing; it doesn't remove the Comptroller's restrictions.

Integer Amounts and Token Permissions

Contract inputs use integer base units. Token decimals govern conversion from displayed balances and can differ between a vToken and its underlying token.

Repayment Inputs

Repayment uses the ERC-20 asset returned by underlying(), with an allowance granted to the vToken proxy. repayBorrow accepts an underlying amount. The maximum uint256 input requests repayment of the accrued debt, capped at that debt. It still requires sufficient token funds and allowance; transfer fees can leave a remainder. Some tokens require clearing an existing allowance before replacing it.

Withdrawal Inputs

Direct redeem calls burn the caller's vTokens and return the market's underlying asset to that caller. A displayed deposit total therefore isn't interchangeable with the integer receipt balance required by redeem. Token transfer behavior can also affect the underlying amount that reaches the wallet. Full repayment has a zero remaining borrowing balance. Full redemption has a zero remaining vToken balance and an underlying-token transfer to the wallet. A transaction hash alone establishes neither outcome. Separate markets retain separate balances, so one completed redemption doesn't settle every position.

Liquidity, Oracle Failures and Closed Markets

Insufficient redeemable cash can block withdrawals even when an account has cleared its loans. Supplier claims can exceed the underlying assets that the market can transfer immediately. Reserves also affect redeemable liquidity, and cash accounting depends on the deployed implementation. Borrower repayments can replenish liquidity, although other withdrawals and reserve movements also change it. Reducing a request helps only when enough redeemable cash remains and the other policy checks pass.

Entered collateral markets create an oracle dependency across the account's pool. ResilientOracle applies its configured validation and fallback paths before account checks can use prices. If a required asset still lacks a usable price, redemption can revert even after debt repayment. exitMarket performs the full-balance redemption eligibility check; it doesn't withdraw tokens or bypass a missing-price condition. Token or reward-hook failures can also block an otherwise eligible redemption.

Unlisting a market doesn't erase the balances or debt that its vToken records. When market policy disables the required call, restoring that route requires a protocol-side change. Repeated submissions don't restore permission and can spend more gas.

Reward Claims and Core Pool Alternatives

Legacy reward claims and migration into a Core Pool are separate decisions from redeeming an isolated position. They involve different contracts and eligibility conditions.

Each RewardsDistributor covers its configured token and pool. Recorded accrual doesn't guarantee payment: the distributor needs enough of that token to fund the claim. Calling one distributor doesn't collect another's rewards, even when both use the same reward-token symbol. Reward claims are optional for an exit. An underfunded distributor retains the accrued amount instead of making a partial payment.

Isolated E-Mode uses BNB Chain Core Pool markets and permits borrowing only designated assets. Other supplied assets can't count as collateral alongside the isolated asset. It's a different account configuration from the old pool. Resupplying withdrawn assets requires a destination market that supports them and accepts new supplies. The Venus app's isolated-collateral flow requires a debt-free Core Pool account before enabling the isolated asset. Owning legacy vTokens doesn't itself create a Core Pool supply balance.

Venus isolated pools: frequently asked questions

Why Can a Retired Pool Still Appear in PoolRegistry?

PoolRegistry retains historical pool entries and has no product-status flag or removal method. A returned entry can describe a pool maintained for residual balances, debt or recovery. Its presence doesn't establish open lending or available withdrawals. Those permissions depend on the market's live listing and pause state.

Can a Wallet With No vTokens Still Owe an isolated-pool Loan?

A borrow-only account can have isolated-pool debt while its vToken balance is zero. Wallet token lists show holdings, so they're insufficient for finding every liability. Historical borrowing transactions and the relevant markets' stored borrow balances identify positions that a deposit-token list can miss.

When Does Revoking an Allowance Help After an isolated-pool Repayment?

Revoking an unused underlying-token allowance removes the vToken proxy's remaining permission to spend that token. It's relevant after confirmed full repayment or when further attempts stop. Revocation doesn't repay a balance, restore market access or redeem supplied assets. The allowance belongs to the underlying token and spender pair.

Does Calling borrowBalanceCurrent Require a Paid Transaction?

Reading an accrued borrowing balance doesn't require broadcasting a paid transaction. borrowBalanceCurrent changes state when executed normally, so an explorer may place it among write functions. An offchain eth_call simulation can return the accrued result without submitting a transaction. borrowBalanceStored uses the last stored borrow index without first accruing interest.

Will the single-argument Reward Claim Work After a Market Is Unlisted?

The single-argument reward claim reverts if the Comptroller's historical market array includes an unlisted market. The market-list overload can process verified listed markets within the distributor's loop limit. That fallback doesn't accrue pending rewards for excluded, unlisted markets; unresolved amounts may need protocol or governance intervention.

Are Direct Withdrawals From wrapped-token Markets Paid in Native Tokens?

Direct vToken redemptions return the market's underlying wrapped token. They don't automatically unwrap it into the native asset used for gas. Unwrapping is a separate token operation, and token transfer behavior can affect the amount received. The underlying() read identifies the receipt asset for that market.

How Long Can a cash-constrained isolated-pool Withdrawal Take?

A cash-constrained withdrawal becomes executable only when enough redeemable liquidity exists and the other market checks pass. Borrower repayments can improve that state, while competing withdrawals can reduce it. The size of a supplied balance doesn't determine a waiting period.

What Information Helps Resolve a Disabled isolated-pool Exit?

When asking for help with a disabled exit, provide the network, wallet address, vToken proxy address and any transaction hash or revert data. These identify the affected market and account state. Support doesn't need a seed phrase or private key, and sharing either would expose control of the wallet.