Builder's Guide

Get Started

The Taro Daemon tarod implements the Taro protocol for issuing assets on the Bitcoin blockchain.


Taro is alpha software. It is configured to run on regtest, testnet3 and simnet only, where it’s okay if bitcoin or taro assets are irrevocably lost.


Taro requires LND compiled with tags=signrpc walletrpc chainrpc invoicesrpc from source on the latest main branch, synced and running on the same bitcoin network as you are doing your testing. RPC connections need to be accepted and Macaroons need to be set. Learn how to set up LND using the default configuration here.


From source:

Compile Taro from source by cloning the Taro repository. Go version 1.18 or higher is required (you may check what version of go is running with go version).
git clone cd taro make install


Optionally, create a Taro configuration file under ~/.taro/taro.conf on Linux or BSD, ~/Library/Application Support/Taro/taro.conf in Mac OS or $LOCALAPPDATA/Taro/taro.conf in Windows.
Here you can permanently set your variables, such as paths and how to connect to LND.

Running tarod:

Run Taro with the command tarod. Specify how Taro can reach LND and what network to run Taro with by passing it additional flags.
tarod –network=testnet –debuglevel=debug — --lnd.macaroonpath=~/.lnd/data/chain/bitcoin/testnet/admin.macaroon --lnd.tlspath=~/.lnd/tls.cert --tarodir=~/.taro --rpclisten= --restlisten=
You may run multiple tarod instances on the same machine, connected to the same LND. In this case, don’t forget to set an alternate Taro directory and API endpoints and specify these when calling tarocli as well.
You may for example create an alias in .bash_aliases:
alias tarocli-alice='tarocli --rpcserver= --tarodir=~/.taro-alice'
alias tarocli-bob='tarocli --rpcserver= --tarodir=~/.taro-bob'