Skip to main content

Taro

Welcome to the API reference documentation for Taro.

The Taro Daemon tarod implements the Taro protocol for issuing assets on the Bitcoin blockchain. Taro leverages Taproot transactions to commit to newly created assets and their transfers in an efficient and scalable manner. Multiple assets can be created and transferred in a single bitcoin UTXO, while witness data is transacted and kept off-chain.

Features:

  • Mint assets
  • Send and receive assets
  • Export and import Taro proofs
  • Create and manage profiles

Usage

Learn how to install, configure, and use Taro by viewing the documentation in the Builder's Guide.

Summary

This site features the documentation for tarocli (CLI), and the API documentation for Python and JavaScript clients in order to communicate with a local tarod instance through gRPC.

gRPC

The code samples assume that the there is a local tarod instance running and listening for gRPC connections on port 10029. TARO_DIR will be used as a placeholder to denote the base directory of the tarod instance. By default, this is ~/.taro on Linux and ~/Library/Application Support/Taro on macOS.

At the time of writing this documentation, two things are needed in order to make a gRPC request to an tarod instance: a TLS/SSL connection and a macaroon used for RPC authentication. The code samples will show how these can be used in order to make a successful, secure, and authenticated gRPC request.

The original *.proto files from which the gRPC documentation was generated can be found here:

REST

View a listing of all REST URLs on the REST Endpoints page.

The code samples assume that the there is a local tarod instance running and listening for REST connections on port 8089. TARO_DIR will be used as a placeholder to denote the base directory of the tarod instance. By default, this is ~/.taro on Linux and ~/Library/Application Support/Taro on macOS.

At the time of writing this documentation, two things are needed in order to make an HTTP request to an tarod instance: a TLS/SSL connection and a macaroon used for RPC authentication. The code samples will show how these can be used in order to make a successful, secure, and authenticated HTTP request.

The original *.swagger.json files from which the gRPC documentation was generated can be found here:

REST Encoding

NOTE: The byte field type must be set as the base64 encoded string representation of a raw byte array. Also, any time this must be used in a URL path (ie. /v1/abc/xyz/{payment_hash}) the base64 string must be encoded using a URL and Filename Safe Alphabet. This means you must replace + with -, / with _, and keep the trailing = as is. Url encoding (ie. %2F) will not work.

This documentation was generated automatically against commit 64e9dc9ccadb9269a1985ce2ff03cfc3a83d0470.