zero-confirmation, zero-javascript, monero-only superchat app for livestreams

Shadowchan, the unofficial mascot character of Shadowchat


Livestreaming is a popular source of entertainment for almost everybody online. Whether gamers, VTubers, or podcasts, most content creators use livestreaming to communicate directly with their audience and fans. YouTube is the most popular place for livestreams by far, but there are others. Twitch, D-Live, Odysee, and others offer the same functionality.

One of the key features of livestreaming is superchats. They allow fans to communicate directly with streamers, and streamers to get financial support from their fans. Unfortunately, on mainstream platforms like YouTube and Twitch, fan support requires using real-life bank accounts and credit cards, which is both a privacy and a security problem. Newer platforms use cryptocurrency, such as LBC on Odysee or TRX on DLive. While this is an improvement, it's still far from perfect. Some platforms still require verification with real-life ID to user cryptocurrency superchats. And even if they don't, they're still centralized on one website and controlled by one company.

Thankfully, there's a solution. Shadowchat is a zero-confirmation, zero-javascript, monero-only superchat app for livestreams. Shadowchat uses Go to create a webserver connected to the Monero Wallet RPC. Viewers can send a message attached to a Monero transaction, which appears on a password-protected private page and can be viewed in popular streaming software like OBS. Because it's self-hosted, no third parties can interfere to impose unfair rules. The system can be used on any livestreaming platform, even self-hosted ones like PeerTube and OwnCast. And best of all, Shadowchat is Free and Open Source Software.


Shadowchat requires a public, internet-facing server for other people to access. Renting a VPS might be the easiest way to do this. Log into your server and run the following from the command line:

  1. apt install golang
  2. git clone
  3. cd shadowchat
  4. go get
  5. go mod init shadowchat && go mod tidy
  6. edit the config.json file
  7. go run main.go

A webserver at is now running. Pressing the pay button will result in a 500 Error if the monero-wallet-rpc is not running. You'll need to set up a nginx proxypass to point a URL at it.

Monero Setup

  1. Generate a view only wallet using the monero-wallet-gui from Preferably with no password.
  2. Copy the newly generated walletname_viewonly and walletname_viewonly.keys files to your VPS.
  3. Download the monero-wallet-rpc binary that is bundled with the wallets.
  4. Start the RPC wallet. You can change --daemon-address if a different public Monero node works better for you:
    monero-wallet-rpc --rpc-bind-port 28088 --daemon-address  --wallet-file /opt/wallet/walletname_viewonly --disable-rpc-login --password ""

At this point, neither the Go webserver nor the RPC wallet are automated, and you'll need to manually start them up again if your server resets. You can automate this process if you wish, based on your server OS. Otherwise, just run "go run main.go" and the monero-wallet-rpc commands again on server restart.


Make sure you have a URL pointing at your server, and have your nginx proxypass pointing at the Go webserver at before trying to access it via browser.


Add a Browser source in OBS and point it to


Shadowchat comes from EDIT: The source repo has since been taken down. A clone of its last known state is available at:

Shadowchat was neither created nor developed by the makers of this website. We are not associated with the developer, nor do we have any contact with them. This site exists solely for the purpose of spreading awareness of Shadowchat, and encouraging its adoption.

The Shadowchat software is licensed under GPLv3. The mascot character "Shadowchan" is licensed under CC BY-SA 4.0, and is free to copy, share, remix, and reuse under the terms of that license.


The creators of this website are not accepting donations, as we barely did anything. If you wish to donate to the developer of Shadowchat, you may send XMR to the last known wallet address they had before the repo went down. You can verify it from archived copies of the page here:



See Shadowchat in action at the following addresses:


In the unlikely event you need to contact the creator of this website, please feel free to use the following contact form at

If you'd like to contact the developer of Shadowchat, we wish you the best of luck in finding out how, because nobody here has the faintest idea.