Magpie

Vault architecture

On this page

Every user gets a personal smart vault: a beacon proxy contract that holds your collateral, loans and Earn deposits, plus the LISTA the protocol lends it so those positions earn the holder boost. A wallet can own several vaults (see Multiple vaults). A freshly created main vault lives at an address derived from your wallet; a vault handed out from the vault pool lives elsewhere. The app always looks your vaults up on-chain (factory.vaultOf(wallet) for the main vault, factory.extraVaultsOf(wallet) for the rest), so there is nothing to track yourself.

Your wallet
signs every position action
owner calls
Your vault
positions + lent LISTA
supply, borrow, deposit
Lista
Moolah markets, Earn vaults, distributors

What a vault can hold#

  • Collateral and loans on Lista’s Moolah markets, including fixed-term, smart-collateral and BNB / slisBNB markets.
  • Shares of curated Earn vaults and the lisUSD saving pool.
  • The protocol’s LISTA allocation, which is ring-fenced: see Ring-fence.

Who can do what#

ActionWho
Supply, borrow, repay, withdraw, deposit, sweep idle tokensOnly you (the vault owner)
Return the LISTA allocation / opt back inOnly you
Add a vault, up to your wallet’s limitOnly you
Request allocation (rebalance) and trigger a reward claimAnyone, but rewards always go to your wallet
Reclaim LISTA from an idle vaultA protocol keeper, only after the inactivity window
Lock / unlock a vault, reassign it to another walletGovernance
Set how many vaults a wallet may hold (default or per wallet)Governance
Upgrade the vault code (all vaults at once)Governance, via the beacon

Nobody but you can move your positions or withdraw your funds to another address. Governance powers exist for emergencies and support cases; a locked vault blocks every owner action, withdrawals and claims included, until it is unlocked. See Security & risk.

Creating one#

You create your first vault from the Dashboard’s onboarding guide; it is your main vault. It starts with no positions, and the Tier-1 LISTA arrives in the same transaction. Creation runs a one-time bootstrap that:

  1. approves the treasury to pull its LISTA back later (needed for downgrades and returns);
  2. requests your allocation, which never blocks creation if the treasury is short;
  3. stamps the vault’s last-activity time (see Inactivity reclaim).

More than one vault#

A wallet can hold several vaults, currently up to 3 including the main one. Each is a separate vault with its own positions, allocation, boost and boost caps.

  • Add one from the Vault menu in the header or on the Dashboard’s My Vault card. Like your first vault, it comes from the vault pool while the pool has stock, and arrives with the Tier-1 10,000 LISTA.
  • Switch with the same menu. Every page (Dashboard, Borrow, Earn) acts on the vault you picked.
  • Tier 2 needs vlLTP per vault: 20,000 times the vault’s number. See Tiers & vlLTP.

Signature authentication (EIP-1271)#

Lista’s reward-proof service is signature-gated. Because your positions live in a contract, the vault answers EIP-1271 checks: it accepts a signature from you, or from a protocol keeper (bound to this vault and chain). This is only a login to fetch proofs; it gives the keeper no power over funds, and claimed rewards always go to your wallet. See Claiming & fees.

Upgradeability#

Vaults are beacon proxies: one upgrade of the beacon’s implementation upgrades every user vault at once. Upgrades are designed to be storage-append-only so existing balances and positions are untouched, and each is verified against the live layout before deployment. See Contract deployment.