The Friktion "volt" program accepts user deposits of SPL tokens, invests the tokens in a variety of auto-compounding strategies, and returns yield to the users upon withdrawal. Each volt offers a unique trading product and risk/reward payoff, but they are intended to all be usable within the same base UI. To facilitate this, the program consists of a set of generic "template" instructions that operate over any volt type and strategy. These include deposit/withdraw functionality, administrative controls, alternative strategies any volt can fallback on (such as lending on mango), or swapping assets. Additionally, each distinct "investment strategy" has a unique set of instructions - investment strategies are kept as generic as possible while still retaining a distinct identity, in order to preserve variations and re-usage of the implementation within future volts (e.g volt 1 & 2, volt 3 & 4 on Entropy)
Serum permissioned market middleware to facilitate RFQs for any SPL token. The serum market is bid-only for all participants except for the volt that created the market. Some auctions run through Channel are permissioned via a whitelist token mechanism, while others are permissionless for all bidders.