btcpayserver / btcTransmuter

A self-hosted ,modular IFTTT-inspired system for bitcoin services written in C#
https://btcpayserver.org
77 stars 22 forks source link

BtcTransmuter Docs

Introduction - What is BtcTransmuter?

BtcTransmuter is a free, open-source & self-hosted tool that allows you to configure actions that execute automatically upon specified conditions. Its primary focus is the integration of cryptocurrency services to help users manage their funds and business workflow.

How does it work?

There are 3 main components in BtcTransmuter - External Services, Recipes and Extensions.

Can I use this in production

This project is still in early development and most likely has some bugs and quirks that need to be ironed out. The project is considered to be in ALPHA state, meaning not all desired functionality has been implemented and there can be breaking changes.

How do I deploy?

If you set up BTCPay using any dockerized install method, you can enable BTC Transmuter easily.

First, SSH into your server. Then run the following commands:

sudo su -
cd btcpayserver-docker
export BTCPAYGEN_ADDITIONAL_FRAGMENTS="$BTCPAYGEN_ADDITIONAL_FRAGMENTS;opt-add-btctransmuter"

. ./btcpay-setup.sh -i

If you have trouble starting your server after running the setup command, verify you have added the environment variable correctly to enable Transmuter.

Once completed, your Transmuter will be available at your configured BTCPay website under /btctransmuter/, where the first account to register becomes the Transmuter admin. Open that link in your browser and you’ll see the homepage.

What extensions are provided?

You can see a list of built-in extensions once you log into your transmuter application under /extensions.

Currently there are 12 extensions that come bundled with the main application:

What preset recipes are provided?

Currently there are three preset recipes that you can enable easily. In addition to the list below, you can create your own recipes for automating other tasks.

  1. On-chain Forwarder - Forward funds from a wallet elsewhere
  2. BTCPay Email Receipts - Send an email when a BTCPay invoice gets paid
  3. Fiat Conversion - Convert incoming money to fiat on an exchange by market selling when BTCPay invoice statuses change.
  4. Dollar Cost Average - Schedule daily purchases of Bitcoin

How do I write an extension?

An extension must be its own .net core class library project that references BtcTransmuter.Abstractions There must be a class implementing BtcTransmuterExtension in this library. This file bootstraps the plugin name and adds all the services to system on startup.

Adding a Trigger

Adding an Action

Adding an External Service