Donations: seven services, one stream of events
DonationAlerts, DonatePay, DonateX, Streamlabs, StreamElements, Trula and StreamEngine all arrive as the same kind of event, converted into one currency — so alerts, goals, the auction and voice over do not care where the money came from.
Free — like everything that runs on your own PC.
Why they are one section and not five
A donation is a donation. Everything downstream — the alert, the goal bar, the bid in the auction, the line being read out loud — reacts to the event, not to the service that delivered it.
- Several services can be connected at once without conflicting.
- Adding a service later changes nothing in your existing setup: alerts and goals pick it up as they are.
- YouTube Super Chats arrive as donations too, so they count towards the same goal.
When a viewer pays for an action, not a transfer
Not every service sells transfers. On StreamEngine a viewer buys something that happens on your screen — flip it for ten seconds, blur the camera, break the video card — and on Trula they queue a track. The money is a donation like any other, but the amount on its own does not say what is about to happen.
- Where the service reports it, the alert names the purchase: "Screen Flip ×6 · 10s" next to the viewer.
- The events feed on the Control Panel shows the same line, live and in history.
- Statistics keeps it, so two purchases at the same price stay distinguishable later.
- Goals, the auction and the carousel ignore it on purpose: they work with the amount.
One currency, or the numbers stop meaning anything
Viewers pay in whatever currency their platform and their card give them, while a goal bar has to show a single number. That conversion is a module of its own, because getting it wrong quietly corrupts every total you look at afterwards.
- Three online rate sources with fallback, so one of them being down does not stop the count.
- Fixed local rates for when there is no internet at all.
- The base currency is set once, in the app settings, and everything else follows it.
- The auction and the AI donation threshold use the same conversion, so a threshold you set means one thing regardless of what the viewer paid in.
History that does not have holes
The app is not running around the clock, and donations do not wait for it.
- DonationAlerts history is backfilled and reconciled after a reconnect, so statistics do not have a gap where the app was closed.
- A donation that arrived while you were offline still lands in the totals for that stream.
What it is made of
Each part is a separate module: you install only the ones you need, and any of them can be removed without breaking the rest.
Getting started
- Set your base currency in Settings → Localization.
- Connect the donation services you actually use.
- Send a test donation and check it reaches the alerts overlay.
- Point goals, the auction and voice over at it — they listen already.
Works together with
Get strAImer
Everything on this page runs on your own computer — free, no account, nothing to connect. Download it from the front page.