This Spigot is a smart contract that enables Borrowers to collateralize their onchain revenue streams giving Lenders trustless assurances that they MUST be repaid from all collateralized income. This is the first time that revenue-based financing has been enabled for cryptonatice borrowers and the Spigot is the primary innovation that Debt DAO has brought to onchain financing ecosystem.
The Spigot is designed to control revenue streams that are programmatically generated by smart contracts such as Yearn vault deposit fees, Index Coop streaming fees, or Nouns DAO sales. The revenue generating smart contract that is being collateralized is known as the Revenue Contract. The owner of a Revenue Contract must transfer either complete ownership or just the ability to claim revenue over to the Spigot. This means the Spigot smart contract is now the owner of the protocol with some level of admin access. The Spigot uses its access rights to claim revenue from the Revenue Contract and divide it between the Spigot’s Owner and Operator.
The Owner can configure which Revenue Contracts can be added to the Spigot and approves functions for the Operator to call on these contracts. Usually the owner of a Spigot is a Debt DAO Line of Credit which controls how much revenue to split for debt repayment, gives ownership of Revenue Contracts back to borrowers as soon as debt is repaid, and other programmatic operations related to the debt obligation.
The Operator is responsible for managing the protocols held within the Spigot and receives a % of the revenue for their efforts. The whitelist allows the Operator to carry on business as usual on their Revenue Contracts but limiting the possibility to divert revenue streams or some other exploit. The Owner and Operator can be the same address or completely unrelated parties.
The Spigot will work with any revenue stream - like invoices for offchain services provided - just with different trust assumptions depending on how its configured. It is truly on “trustless” when securing fully onchain revenue streams generated by immutable smart contracts.
We have a list of conditions required for Revenue Contracts to be 100% compatible which helps demonstrate how the Spigot works with any revenue contract
When we set out to build Debt DAO, our sole focus was to help the larger, established DAOs that we worked at who felt the crippling need for debt financing when they normally would have easy access if they were normal legal entities with a bank account. Our goal has always been to service 100% onchain and 100% anonymous entities.
This commitment to Cryptonative Credit forced us to kept running into a hard question - How do you provide undercollateralized lending to people you dont know and dont trust without losing your money? There were already solutions on the market using legal contracts and reputation but that obviously goes against our cryptoanarchist principles. Eventually we realized the one advantage that onchain entities have is that they are onchain where all their financials and governance are completely programmable. If we could programmatically control revenue streams, could we collateralize future cash flows by guaranteeing payment to lenders? And so the idea of the Spigot was born.
After extensive research into various revenue generating protocols, their smart contract design patterns, and speccing requirements from borrowers and lenders on what they needed to execute a trustless revenue-based lending agreement, we then designed and built our Spigot smart contract.