Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

streamlabs-ucashpay

An OBS browser-source donation overlay powered by U.CASH Pay (crypto + cards). Non-custodial.

Drop a single URL into an OBS Browser Source and your viewers get a scannable QR code plus a tap-to-donate button that points at your U.CASH Pay checkout. Crypto and cards are both supported through pay.u.cash. Funds go straight to your own receive addresses; this overlay never touches them.

What this is

  • A static, dependency-free overlay: overlay.html, overlay.css, overlay.js, and a self-contained QR generator (qrcode.js).
  • No backend required for the overlay itself. Everything renders client-side in the OBS browser source.
  • Optionally, a tiny server hook (see server/) can pre-create a tracked checkout if you want a unique transaction id per donation attempt.

Quick start (OBS Browser Source)

  1. Sign up at pay.u.cash and create a store (steps below). Copy the store Cloud Token.

  2. Host these files anywhere a browser can reach: GitHub Pages, your own site, Netlify, etc.

  3. In OBS: Sources > + > Browser.

  4. Set URL to the overlay with your config as query params. Example:

    https://YOUR_HOST/streamlabs-ucashpay/overlay.html?cloud=st_your_store_cloud_token&amount=5&currency=USD&title=Support%20the%20stream&name=YourName&theme=dark&qr=1
    
  5. Set Width 380, Height 260 (or to taste).

  6. The card and QR appear on stream. Viewers scan the QR or click the link to pay you in crypto or by card.

Configuration parameters

Pass these in the OBS URL query string (URL-encode the values):

Parameter Required Default Description
cloud yes Your pay.u.cash store Cloud Token (publishable, browser-safe).
amount no 5 Suggested donation amount.
currency no USD ISO currency code.
title no Support the stream Headline shown on the card.
name no Streamer name; if set the button reads "Donate to NAME".
external_reference no Your reference for the checkout (useful with the server hook).
redirect no URL to send the viewer to after payment.
theme no dark dark, light, or clear (fully transparent).
qr no 1 1 to show the QR code, 0 to hide it.

Security model (non-custodial)

The cloud value used here is the store-level publishable Cloud Token. It can only create checkouts that pay into receive addresses you configured in your pay.u.cash store. It cannot read your balances, move funds, or authorize payouts. It is safe to put in a browser source that your viewers see.

Never put account passwords, payout secrets, or API keys with withdrawal rights into the overlay URL. Only the publishable store Cloud Token belongs there.

Optional server hook (tracked checkouts)

The overlay works standalone. If you want a unique transaction id logged per donation attempt (for example to tie a donation to an alert), pre-create a tracked checkout from a server route and pass its external_reference into the overlay.

server/example.php shows a minimal, idempotent call:

POST https://pay.u.cash/payment/ajax.php
body (application/x-www-form-urlencoded):
  function=create-transaction
  amount, currency_code, cryptocurrency_code= (empty string)
  external_reference, title, redirect, cloud
  idempotent=1
response: { success: true, response: [paymentUrl, transactionId, ...] }

The payment URL is the element of the response array that starts with http://. Replays with the same external_reference return the same checkout (idempotent), so this call is safe to retry.

Note: recurring subscriptions are not supported by crypto rails. Card-based recurring billing, where available, is handled on the merchant's own Stripe connected in pay.u.cash. This overlay performs one-time donations only.

Set up your pay.u.cash account

  1. Sign up at pay.u.cash, then click the verification link in the email.
  2. Set receive addresses under Settings -> Addresses (raw address, ENS, Unstoppable Domains, or FIO).
  3. Create a store under Account -> Stores and copy its Store Cloud Token (use the store-level token, not the account-wide one).
  4. For fiat cards, connect your own Stripe under Settings -> Payment processors.

Files

  • overlay.html - the card markup loaded by the OBS browser source.
  • overlay.css - dark/light/clear themes.
  • overlay.js - reads URL config, builds the pay.u.cash embed link, renders the QR.
  • qrcode.js - dependency-free QR Model 2 encoder (byte mode, ECC level M).
  • server/example.php - optional server-side tracked-checkout reference.

License

MIT. See LICENSE.

About

An OBS browser-source donation overlay powered by U.CASH Pay (crypto + cards). Non-custodial.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages