Spool Tech Docs

Contract Overview

All Spool Smart Contracts can be found in the Spool GitHub.

Core Contracts


  • Stores the information regarding overall system validity.
  • Vaults (Spools) are deployed from the Controller.


  • Vaults (Spools) can be deployed by any User from the Controller.
  • Deposits assets into the Strategies according to the given allocation.
  • All vault abstract contracts can be found in the contracts/vault folder.


Strategies (found in contracts/strategies)

  • An implementation contract interacting with the external protocols.
  • Strategy Contracts are called by the Spool.sol as a delegatecall.



  • Holds shares when a User performs a Fast Withdrawal and does not exit the Strategies right away.
  • Shares can be withdrawn at any time.



  • Simple contract holding the address of the Spool DAO.
  • All the contracts controlled by the Spool DAO inherit contracts/shares/spoolOwnable.sol which holds the logic to verify if the caller is the Spool DAO.
  • If the Spool DAO changes its address, only one call to this contract needs to be performed to transfer the contract ownership privileges.
  • More information about the SpoolOwner can be found here: