Vaults

Vaults are the core primitive of NFTH. Each vault holds NFTs from a single collection and issues fungible vTokens.

What is a Vault?

A vault is a smart contract that:

  • Accepts NFT deposits from a specific collection
  • Issues 1 vToken per NFT deposited
  • Burns vTokens when NFTs are redeemed
  • Enforces eligibility rules (optional)

Vault Properties

Collection Binding

Each vault is bound to exactly one NFT collection (contract address). A vault for Tiny Hyper Cats can only accept Tiny Hyper Cats.

vToken

Each vault has its own ERC-20 token (vToken). The vToken:

  • Is named after the collection (e.g., "vTHC" for Tiny Hyper Cats)
  • Has 18 decimals
  • Is fully backed 1:1 by NFTs in the vault
  • Can be traded on any DEX

Eligibility

Vault eligibility determines which token IDs from a collection can be deposited:

  • All eligible - Any token ID from the collection is accepted (default)
  • Range - Only token IDs within a range (e.g., 1-1000)
  • List - Only specific token IDs (whitelist)

Eligibility is set at vault creation and cannot be changed.

Vault Lifecycle

  1. Creation - Anyone can create a vault for any collection
  2. Active - Users mint/redeem freely
  3. Immutable - Vault logic cannot be upgraded

One Vault Per Collection (Frontend)

The NFTH frontend enforces one vault per collection to prevent liquidity fragmentation. When a vault already exists for a collection, the UI directs users to that vault rather than allowing creation of another.

This is a frontend design choice, not a contract limitation. The underlying smart contracts support multiple vaults per collection with different eligibility rules.

Why One Vault?

  • Concentrated liquidity - All vTokens for a collection are fungible with each other
  • Simpler UX - Users don't need to choose between competing vaults
  • Better price discovery - Single liquid market for each collection's floor

What About Rare NFTs?

The one-vault model treats all NFTs in a collection as fungible at the floor level. Holders of rare NFTs can still use targeted redeem to retrieve specific pieces, paying a 1% premium for the selection.

For use cases requiring trait-based vaults (e.g., only gold fur cats), contact toast or interact with the contracts directly.

Advanced: Multiple Vaults (Contract Level)

While the frontend supports one vault per collection, the smart contracts allow multiple vaults with different eligibility rules:

  • vTHC - Accepts all Tiny Hyper Cats (the canonical vault)
  • vTHC-GOLD - Only gold fur cats
  • vTHC-WIZ - Only wizard cats

Note: While the contracts support this, the frontend intentionally does not. Trait-specific vaults fragment liquidity and work against the goal of NFT fungibility as a simple primitive. These examples illustrate contract capabilities, not recommended usage.