Taproot Assets Protocol
Welcome to the API reference documentation for Taproot Assets Daemon.
The Taproot Assets Daemon tapd
implements the Taproot Assets Protocol for issuing assets on the Bitcoin blockchain. Taproot Assets 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
- Synchronize to universes
- Send and receive assets
- Export and import Taproot Asset proofs
- Create and manage CLI profiles
Usage
Learn how to install, configure, and use Taproot Assets Daemon by viewing the documentation in the Builder's Guide.
Summary
This site features the documentation for tapcli
(CLI), and the API documentation
for Python and JavaScript clients in order to communicate with a local tapd
instance through gRPC.
gRPC
The code samples assume that the there is a local tapd
instance
running and listening for gRPC connections on port 10029
. TAPROOT-ASSETS_DIR
will be used
as a placeholder to denote the base directory of the tapd
instance. By default,
this is ~/.taproot-assets
on Linux and ~/Library/Application Support/TaprootAssets
on macOS.
At the time of writing this documentation, two things are needed in order to
make a gRPC request to an tapd
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:
assetwalletrpc/assetwallet.proto
mintrpc/mint.proto
priceoraclerpc/price_oracle.proto
rfqrpc/rfq.proto
tapchannelrpc/tapchannel.proto
tapdevrpc/tapdev.proto
taprootassets.proto
universerpc/universe.proto
REST
View a listing of all REST URLs on the REST Endpoints page.
The code samples assume that the there is a local tapd
instance
running and listening for REST connections on port 8089
. TAPROOT-ASSETS_DIR
will be used
as a placeholder to denote the base directory of the tapd
instance. By default,
this is ~/.taproot-assets
on Linux and ~/Library/Application Support/TaprootAssets
on macOS.
At the time of writing this documentation, two things are needed in order to
make an HTTP request to an tapd
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:
assetwalletrpc/assetwallet.swagger.json
mintrpc/mint.swagger.json
priceoraclerpc/price_oracle.swagger.json
rfqrpc/rfq.swagger.json
tapchannelrpc/tapchannel.swagger.json
tapdevrpc/tapdev.swagger.json
taprootassets.swagger.json
universerpc/universe.swagger.json
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
fde673202d0d5dbb63c7e38058801753bb6355a7
.