Skip to main content

Plugin — Donation Timer (Sub-a-thon)

Donation Timer is a countdown timer built for Sub-a-thon streams — every donation adds time at a rate you set (e.g. ฿1 = 1 minute). When the timer hits zero, the stream ends.

It comes with a separate widget you can add to OBS, plus manual +1m / +5m / +10m buttons for those special-case bumps.

What you'll need

  • A rate (time per currency unit, e.g. 60 seconds per ฿1)
  • A starting time (e.g. 4 hours = 14400 seconds)
  • (Optional) a max cap so the timer can't grow forever
  • OBS open if you want to add the widget

Step 1 — Enable the Donation Timer plugin

  1. Go to the Plugins page (sidebar)
  2. Pick the Donation Timer tab
  3. Flip the Enable toggle at the top

Step 2 — Set the basics (Initial / Rate / Max)

Fill in:

  • Initial Time (seconds) — your starting time, e.g. 14400 = 4 hours
  • Rate per unit — seconds per ฿1, e.g. 60 means ฿1 = 1 minute
  • Max Cap — the highest time the timer is allowed to reach (use 0 = unlimited)
  • Min Amount — donations below this don't add time

:::tip How to figure out the rate "฿1 = 1 minute" → use rate 60 (seconds)
"฿10 = 1 minute" → use rate 6 (1 baht = 6 seconds) :::


Step 3 — Customize the style

Match it to your stream theme:

  • Title text + size + color (e.g. "SUB-A-THON")
  • Font family + size + weight + color of the countdown number
  • Background color + opacity
  • Border color / width / radius
  • Text shadow (toggle)
  • End text — what shows when the timer ends (e.g. "Time's up!")
  • Image — image/GIF inside the widget (position + size + padding)
  • Padding for the whole container

Step 4 — Copy the Timer Widget URL → add to OBS

  1. Find the Timer Widget URL section
  2. Click Copy
  3. In OBS → + Sources → Browser
  4. Paste the URL → set Width / Height as needed
  5. Click OK → drag into position in your scene

Widget URL: http://localhost:3001/timer


Step 5 — Start the timer + test

  1. Click Start at the top to begin the countdown
  2. Send a test donation from the Test Panel — confirm time goes up at the right rate
  3. Use +1m / +5m / +10m buttons for special manual adds (e.g. thanking a moderator)
  4. Pause / Resume / Stop during breaks or when the stream wraps up

Tips & Troubleshooting

  • Timer doesn't add time on donation: check the Enable toggle is on, the amount clears Min Amount, and the timer is Running (not paused).
  • Timer hit Max Cap: that's by design — once at the cap, donations stop adding time. Set cap = 0 if you don't want a limit.
  • OBS widget not updating: Socket.io syncs in real time — if it gets stuck, refresh the browser source in OBS.
  • Want a bigger countdown number: increase the font size, and bump up the Browser Source Width in OBS so it fits.
  • Reset timer for a new stream: Stop → change Initial Time → Start again.

:::warning Don't change the rate mid-stream If you change the rate during a live stream, every new donation uses the new rate immediately (it doesn't go back and recompute) — lock the rate in before you start. :::


See also