Each volt has a rebalancing process that takes place at the end of an epoch. This rebalancing process may be as short as 15 minutes (e.g for Volt 1 & 2 by selling options on Channel) or up to 2 days (e.g for Volt 4 by longing perpetuals and shorting spot on Mango Markets) depending on liquidity constraints. This rebalancing process requires updating on-chain state without a guarantee of user interaction with the protocol, or in other words cranking. This is a common practice in blockchain development (e.g used to facilitate Serum's order book matching).
Currently, volts must be cranked through the rebalancing process by the volt admin. This will be permissionless when the Friktion DAO decides.
Friktion's volt manager is a CLI tool to print out the current state of a volt, deposit/withdraw programmatically, and crank volts through their rebalancing process. A simple version is exposed in the sdk repo. The full tool will be open sourced soon!
While the volt manager is a useful ad-hoc tool to handle one-off tasks related to Friktion volts, the Friktion team automates cranking of volts hosted on the Friktion UI. This is done via a few typescript bots that call the appropriate instruction at each stage, wait for state to propagate as expected, and continue the process. One could recreate this form of automation using examples from the volt manager or the CLI directly.
We currently have an economic incentivisation program for Friktion users interested in helping maintain the protocol! Specifically, entropy keepers are bots that help update on-chain oracle prices and mark perpetual funding. If you're interested, join the discord channel or check out the github example directly at https://github.com/Friktion-Labs/entropy-keeper