Hello IC Developer Community
Today we’re very proud to announce the public release of CycleOps!
CycleOps is the very first proactive, automated, no-code canister management tool on the IC, empowering devs with cycles balance metrics while allowing them to keep full control of their applications .
Ready for stress free cycles management? Get started at https://cycleops.dev today!
Core Features
- Proactive, periodic monitoring - CycleOps runs a “cron”, using the canister timers feature of the Internet Computer to periodically monitor canisters.
- Automated topups & email notifications - When a canister runs low on cycles, CycleOps proactively tops up your canister for you and sends you a summary straight to your email inbox .
- Accounting & downloadable transaction history - Taxes on your mind? CycleOps maintains a complete history of all customer transactions, and provides you with a downloadable CSV to make things easier for both you and your accountant
- Historical canister cycles charts - View time series of your canisters’ historical cycles balance data and analyze usage trends
- No-code integration - get set up without adding a single line of code to your canisters
- Competitive cycles market rate - To top it all off, CycleOps purchases cycles in bulk from @sonic_ooo or the cheapest swap marketplace, meaning that developers can save both time and money by switching to Geico…I mean CycleOps
Why do I need Cycles Management?
The IC’s reverse gas model is great for users, but this means that applications and developers are responsible for funding their canisters with Cycles and keeping them “topped up”.
Developers can set a cycles balance freezing threshold that acts as a defense against a cycle drain attack , such that once a canister’s cycles balance hits the freezing threshold the canister will become responsive. Once a canister is “frozen” , it will reject subsequent requests while continuing to burn cycles based on it’s own memory utilization https://twitter.com/ICDevs_org/status/1617614801508646912?s=20
Unfortunately, if a canister runs completely out of cycles, it is deleted from the IC - including the wasm and all associated state . This is what happened with the IC Turtles project in 2022
How does CycleOps Work?
As opposed to hosting an application on AWS or through a centralized cloud provider, CycleOps is an on-chain monitoring solution that utilizes a black-holed , immutable canister smart contract to monitor 3rd party canisters. This blackhole is only capable of monitoring other canisters through the management canister’s canister_status
API, but don’t just take our word for it ! The source code for this “Balance Checker” canister is publicly available, which you can find at GitHub - CycleOperators/BalanceCheckerVerification: Blackhole and wasm verification of the CycleOps StatusChecker canister. The repository has instructions for how you can verify the CycleOps blackhole locally or through an easy-to-use GitHub action .
Is CycleOps reliable?
- The CycleOps alpha has been humming along smoothly for the last 2 months without any downtime or user reported bugs
- Before launching the CycleOps alpha, CycleOps received a code review from @nomeata that allowed us to evaluate and harden the security of our codebase
- CycleOps is a multi-canister application that is sustained, by CycleOps. For redundancy, our team has built a full monitoring suite that automates regular health checks and alerts of CycleOps itself.
What’s next for CycleOps?
The CycleOps project has received a follow-up grant from DFINITY , and has many features in the pipeline, including:
Features in progress:
- Canister cycles usage spike alerts , notifying teams when anomalous cycles burn occurs
- An open source Cycles management library
Planned features (feedback requested):
- Teams support (multiple principals per account, assign roles & access control)
- Bring your own cycles (deposit cycles, not just ICP!)
We have other ideas in the pipeline, but want to hear from you! What canister management features, integration, and support does your application need?
Additional Questions? Check out our resources!
- Getting Started with CycleOps
- Best Practices for Top-up Rules
- Integrating Canisters with CycleOps
- FAQ
P.S.
The CycleOps team, (myself @icme, Jorgen @jorgenbuilder, and Quint @quint) wholeheartedly thank our alpha testers for their invaluable feedback , and have kicked off an ICP airdrop as appreciation to all of the alpha participants that made it through the onboarding process!