All vToken contracts share the same interface.
Exchange Rate
vTokens appreciate against the underlying asset as interest accrues. The exchange rate is:total_assets = pool_balance + outstanding_borrows. As borrowers repay interest, total_assets grows, and each vToken is redeemable for more of the underlying.
Holding vTokens is how LPs earn yield. No staking, claiming, or compounding required — yield accrues in the exchange rate.
Functions
initialize
mint
to’s vToken balance by amount. Only callable by the admin (the LendingPool contract).
Called by the LendingPool on every deposit.
burn
from’s vToken balance by amount. Only callable by the admin (the LendingPool contract).
Called by the LendingPool on every vToken redemption.
transfer
from.require_auth().
vTokens are freely transferable — they can be held in any wallet or used in other DeFi protocols.
transfer_from
spender.require_auth() and sufficient allowance from from to spender.
approve
spender permission to transfer up to amount of from’s vTokens. Standard Soroban token approval with an expiration ledger.
balance
id.
total_supply
allowance
spender can transfer from from.
decimals / name / symbol
admin
set_admin
Events
Storage Layout
Integration Notes
vTokens follow the Stellar Asset Interface (SEP-41) and can be held, transferred, and used as collateral in other protocols on Stellar.
Related
- Lending Pools — mint/burn vTokens via deposit/redeem
- Math Reference — exchange rate formulas
- vTokens (Learn) — user-facing explanation of how yield accrues

