Worry about your favorate canister running low on cycles? You got it covered!

Hi everyone! I’ve decided to beef up my little ICP-to-cycle demo back in the day. So please allow me to present to you the Canister Tip Jar!

It allows anybody to choose and donate cycles to their favorite canisters, as long as the canister has the black hole canister in its controller list.

Cycles are not sent all at once though, they are only sent on a need basis – whenever a canister’s cycle runs below daily average, it will be topped up to the average again.

The app is almost ready, but since it will hold REAL monetary value now, I’m accepting beta testers for the next week before launching it. If you open up browser developer console after visiting the Canister TipJar App, you’ll notice principal ids are printed. Please paste them below in this thread (or PM me if you don’t like to publicize this info) and I’ll add you as beta testers.

(If you have logged in with Internet Identity, there will be two principals printed in the console, please copy them both to me just in case)

Please understand the risk involved before signing up as a beta tester. Note that you will be only be able to start using it after next Monday (PST).

Meanwhile please also feel free to ask questions or make suggestions either here or on github, and please remember checking out the FAQs too. Thank you all and have a nice weekend!


Forgot to attach a screenshot


For me it prints
s6oi4-wo5hz-qeh6y-4zjgt-ys2xh-ysmtb-sprpr-mrn5j-gmmob-x73tj-pae and then

If you are mobile, I added a feature when you click “show account QR code” it will also display your principal id.


I’m not a dev so I’m probably not the best person to test it. Love this idea though!

Did you add these already?


Thanks guys! People who contacted me or posted here can now add canisters to your list!

At the moment the frequency of cycle check (and then with a possible topup) is every hour. This is to make testing a bit easier. But your canister may not need cycle at this frequency. Either way, it shouldn’t affect the user experience. I expect to lower the frequency to every 12 hours or 24 hours when launching for real.

Also the calculation of average is to roundup to the nearest trillion. So the first time a canister is added to tipjar will almost always trigger a small topup. Just in case you wonder.

Thank you all! And please keep using this thread. I will continue accept beta testers for about a week before removing the restriction and open to public.

Very cool, I added my telegram bot, the motoko certified asset demo and the barrier demo canisters. If you like these demos, feel free to add them to your tip jar as well (cuptx-eaaaa-aaaai-aa67q-cai, edrd5-rqaaa-aaaab-qaafq-cai and ce7vw-haaaa-aaaai-aanva-cai).

Unfortunately couldn’t add the capture-the-ICP canister, as that predates the blackhole canister (or my knowledge of it), and has an empty controller set.

Oh, the UI for “change allocation and set alias” is unintuitive. Maybe put a :pen: “edit” button into the table.

1 Like

Hmm, I guess that doesn’t quite work for one of my demo canisters, which has 0.549T and an allocation of 0.1T. But maybe I shoudn’t be soo cheap here :-). (Why not billions? Or is that not efficient given the cost of topping up a canister?)

I can see that it has 0.649T now… so your 0.1T was all used up :grin:

Thank you for doing this (and the wonderful blackhole canister)!

Here is mine: lfzm3-f2nmf-iph4s-2wkj2-hh5v5-ajrby-i4aoo-rpcwk-m7ge4-f5zuv-jqe

The feedback I got so far is that the login/logout is a bit confusing. Here is what I plan to do to improve the situation:

  1. Instead of showing an account ID on first loading the page, I’ll hide it behind something like “Click to reveal a one-time account ID to try out”. This way people who are here only to log in will not be confused by the ID

  2. Login/Logout button has to be more prominently displayed at an easy to find place. I probably will switch to use a fixed header on mobile.

  3. The interval seems not long enough to accumulate enough data about canisters that consume few cycles. I’ll lengthen the check interval from 1 hour to 8 hours.

It probably will take a day or two before I can circle back with these changes.

1 Like

Just upgraded Tip Jar to an improved UI, and set the check interval to 8 hours. This means the cycle balance of a canister will be checked again after 8 hours has passed since its last check. Tip Jar keeps the last 10 checks in history to compute averages and estimates.

1 Like

Thanks everybody for helping to test and report issues. I think the app is now in a reasonable state, so I’ve removed the whitelist restriction and anyone can use it now!

I’ve also updated the github repo with latest source code GitHub - ninegua/tipjar: Donate cycles to canisters of your choice.

Any bug report, feedback or feature request is welcome!


Does anyone know of a tool that tracks cycles of canisters? Looking for something explorer-like in the style of ic.rocks or the dashboard that graphically displays the course of cycles of a canister.

@Dustin You could try Canistergeek:


@Ori thanks a lot, I’ll have a look at that!

I think only the controllers of a canister can view its cycle balance. (For cycle wallet canisters, custodians can also view it.)