Request for Information to evaluate whether a Spigot can be deployed

To be answered by the prospective Borrower for each potential Revenue Contract (maybe insert extra column if there are 2 Revenue Contracts or more.

To be accompanied by some business and technical documentation explaining the Spigot and how it works related to a Spigoted Line of Credit.

Borrower name:
Subject Question Why is this important? Showstopper response Range of acceptable responses
REVENUE 1 Is there an owner/admin role on the Revenue Contract? Revenue beneficiaries MUST NOT be mutable after Spigot initialization. If Spigot isnt hardcoded then we need some ownership to change recipient to Spigot and prevent further updates.

There either there must be no way to update any params, functions, caller address, etc. and hardcode Spigot OR we must be able to transfer access to all these functions to a single address (the Spigot) | MAYBE | | | | 2 | Can the owner of the Revenue Contract be changed? | We MUST transfer ownership to the of the Revenue Contract to the Spigot otherwise the deal isnt trustless | YES | | | | 3 | Can the recipient of revenue from the Revenue Contract be changed? | We MUST transfer ownership to the of the Revenue Contract to the Spigot otherwise the deal isnt trustless.

If owner is default recipient than no changes required. | | | | | 3 | What token(s) is/are the revenue in? | | | | | | 4 | How is revenue stored/transferred when first received in the Revenue Contract? | Need to know if Spigot settings should be configured for push or pull payments | | | | | 5 | How is revenue stored/transferred when distributed to recipient? | Need to know if Spigot settings should be configured for push or pull payments | | | | | | | | | | | | 7 | Is there a timelock built into the Revenue Contract? | | | | | | 8 | | | | | | | 9 | Ideal payment structure for borrower? | | | | | | 10 | Are revenue tokens tradable on Line contract’s swapTarget? | If revenue cant be traded then it can’t be used to repay borrowers debt programmatically. Loan either has to be in same illiquid token or revenue should not be considered as backing. | | | | | 6 | Are there events tracking in/outflows? | Allows us to automate claimRevenue calls offchain so Spigot owner does not have to worry about operations | N/A | | | GOVERNANCE | 1 | What currently owns revenue generating contracts - EOA, multisig, DAO? | So we can evaulate migration process and hopefully select from a template | | | | | 2 | Is there a timelock? | So we can evaulate migration process and hopefully select from a template | | | | | 3 | Is entire offchain+onchain governance and decision making process documented? | So we can evaulate migration process and hopefully select from a template | | | | | 4 | Who do we contact if issues? | | | | | | 5 | Is there role based access, what do they do, and who has them? | | | | | | | How is ownership of Revenue Contract changed? | MUST ensure transfer ownership function conforms to Spigot expectations - 1 param that is address of new owner. | YES | | | SECURITY | 1 | What functions MUST be whitelisted? | Need to whitelist so you can continuing managing and operating your protocol after transferring ownership to the Spigot | | | | | 2 | What functions can be left blacklisted? | | | | | | 3 | Is there an owner? What privileges does it have? | | | | | | 4 | Is the revenue generating contract or any underlying contract an upgradable proxy? | MUST NOT be upgradeable or Spigot must be only address that can upgrade. Upgradable allows Borrower to rugpull at any time, lock Spigot out of getting revenue, change revenue stream recipient, etc. | | | | | | Are there any backdoor access points besides admin control (or multiple admins allowed)? | | | | | | | How secure are the signer keys of stakeholder multisigs? | | | |

Prior responses

IDLE Finance - Spigot Evaluation

Contract Specific Questions (ex. Idle Finance below)

Check if revenue tokens are tradable on swapTarget