Spool Tech Docs

Strategy Mechanics


A protocol-specific system designed to interface with one or multiple DeFi Protocols with as core premise to increase the deposits of underlying assets.


  • Routing User funds to underlying DeFi Protocols
  • Connecting the Spool Ecosystem with external protocols
  • Increasing the underlying asset deposited by End Users
  • (Potentially, for in the future)
    • Interfacing in a complex way with multiple DeFi Protocols to facilitate actions like:
      • Single-click-lending
      • Depositing USDC into Spool and accumulating ETH
      • And many more!
  • Interfacing with underlying DeFi Protocols
    • Examples include, but are not limited to, Aave and Curve

Functional Requirements

  • Successful Spool Ecosystem Deployment
  • Functioning underlying DeFi Protocol
  • Deposited funds

Expected Output

  • Successfully interfacing with external DeFi Protocols
  • Grant the Spool Ecosystem the ability to:
    • Deposit into underlying DeFi Protocols
    • Withdraw from underlying DeFi Protocols
    • Interact with underlying DeFi Protocols

Relevant Entities

Relevant Implementations

Contracts are found in folder: /strategies
Implementation: Can be found in Strategies

Fact Sheet

  • Each strategy is vastly different and depends on the protocol it interfaces with
  • Slippage is used as needed in each strategy and is passed to it by the DoHardWorker
  • Multi-Collateral Strategies with internal deposit matching systems have been developed
    • However, more complex Strategies are currently not being used in Spool V1
  • A Strategy supports one currency to use while interacting with a DeFi Protocol
    • Examples include, but are not limited to, DAI and USDC
  • New Strategies can be added by the Spool DAO
  • A Strategy can be removed by the Emergency Withdrawer

Future Developments

A Strategy implementation does not have to be limited to interfacing with one protocol, for example, a Strategy Adapter interfacing with Aave to deposit ETH, borrow USDC against the ETH deposit and use the USDC to provide liquidity via Curve is equally valid as a simple Compound deposit adapter.


A Strategy must meet certain requirements to be a valid implementation. These requirements also mean that there are certain limitations to what a Strategy can be.
  • In order for a Strategy to meet the implementational requirements:
    • A Strategy must be able to withdraw in full, at any point in time
    • A Strategy must support compounding rewards into its underlying assets
    • The underlying DeFi Protocol of a Strategy must support deposits and withdrawals in the same transaction
    • The underlying asset of a Strategy must be a supported one, or a new supported underlying asset needs to be added