Folder highlights Documentation outlines Comet Platform operations covering node creation, liquidity management, API/security, and best practices with references available up to Jan 19, 2026.
Issue, manage, and transfer digital assets on Bitcoin using Taproot Assets Protocol.
Taproot Assets enables:
- Asset issuance on Bitcoin blockchain
- Multi-asset Lightning channels
- Scalable asset transfers
- Privacy-preserving transactions
Key Features:
- Native Bitcoin security
- Lightning Network integration
- Low transaction costs
- Programmable assets
Active Comet node (mainnet or testnet)
Bitcoin balance for on-chain fees
Basic Lightning Network knowledge
Taproot Assets is automatically enabled on LITD nodes. You can verify it via the node’s Tapd API:
curl -X GET "https://{API_ENDPOINT}/v1/taproot-assets/assets/balance" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}"Basic Asset (using Tapd REST API):
curl -X POST "https://{API_ENDPOINT}/v1/taproot-assets/assets/mint" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}" \
-H "Content-Type: application/json" \
-d '{
"asset": {
"asset_name": "MyToken",
"asset_type": "NORMAL",
"amount": "1000000"
}
}'Parameters: - name: Asset identifier (max 64 chars) - amount: Total supply - type: normal or collectible - meta: Metadata (optional)
Collectible Asset:
curl -X POST "https://{API_ENDPOINT}/v1/taproot-assets/assets/mint" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}" \
-H "Content-Type: application/json" \
-d '{
"asset": {
"asset_name": "MyNFT",
"asset_type": "COLLECTIBLE",
"amount": "1",
"meta_data": {
"file_path": "metadata.json"
}
}
}'metadata.json:
{
"description": "Unique digital collectible",
"image": "ipfs://Qm...",
"attributes": [
{"trait_type": "Rarity", "value": "Legendary"},
{"trait_type": "Edition", "value": "1/1"}
]
}Normal Assets:
- Fungible tokens
- Divisible units
- Use cases: currencies, points, credits
Collectibles:
- Non-fungible tokens (NFTs)
- Unique items
- Use cases: art, tickets, certificates
Create Asset: Define parameters
Anchor Transaction: Commit to Bitcoin blockchain
Confirmation: Wait for block confirmations (6 recommended)
Finalization: Asset ready for transfers
Check Minting Status:
curl -X GET "https://{API_ENDPOINT}/v1/taproot-assets/assets/mint/{mint_id}" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}"All Assets:
curl -X GET "https://{API_ENDPOINT}/v1/taproot-assets/assets" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}"Response:
[
{
"asset_id": "abc123...",
"name": "MyToken",
"type": "normal",
"amount": 1000000,
"genesis_point": "txid:vout"
}
]curl -X GET "https://{API_ENDPOINT}/v1/taproot-assets/assets/{asset_id}" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}"Output:
{
"asset_id": "abc123...",
"name": "MyToken",
"type": "normal",
"total_supply": 1000000,
"circulating_supply": 850000,
"genesis_block": 820450,
"metadata": {...}
}curl -X GET "https://{API_ENDPOINT}/v1/taproot-assets/assets/balance?asset_id={asset_id}" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}"Send Assets:
curl -X POST "https://{API_ENDPOINT}/v1/taproot-assets/assets/transfer" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}" \
-H "Content-Type: application/json" \
-d '{
"asset_id": "{asset_id}",
"amount": "1000",
"destination": "{taproot_address}"
}'Generate Receiving Address:
curl -X GET "https://{API_ENDPOINT}/v1/taproot-assets/addrs/next?asset_id={asset_id}" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}"Transaction Fees:
- Bitcoin network fees apply
- Asset transfers use Taproot outputs
- Batch transfers for efficiency
Open Asset Channel:
curl -X POST "https://{API_ENDPOINT}/v1/taproot-assets/channels/open" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}" \
-H "Content-Type: application/json" \
-d '{
"peer_pubkey": "{pubkey}",
"asset_id": "{asset_id}",
"amount": "10000"
}'Send via Lightning:
curl -X POST "https://{API_ENDPOINT}/v1/taproot-assets/payments/send" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}" \
-H "Content-Type: application/json" \
-d '{
"asset_id": "{asset_id}",
"payment_request": "{lightning_invoice}"
}'Benefits:
- Instant settlement
- Minimal fees
- Scalable throughput
Open channels supporting multiple assets:
curl -X POST "https://{API_ENDPOINT}/v1/taproot-assets/channels/open" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}" \
-H "Content-Type: application/json" \
-d '{
"peer_pubkey": "{pubkey}",
"assets": [
{ "asset_id": "abc...", "amount": "10000" },
{ "asset_id": "def...", "amount": "5000" }
]
}'Taproot Asset Address Format:
Components: - Network prefix (taro1 for mainnet, tarot1 for testnet)
- Asset ID
- Script key
- Internal key
New Address:
curl -X GET "https://{API_ENDPOINT}/v1/taproot-assets/addrs/next?asset_id={asset_id}" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}"Decode Address:
curl -X GET "https://{API_ENDPOINT}/v1/taproot-assets/addrs/decode?addr={taro_address}" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}"Taproot Assets uses cryptographic proofs for:
- Ownership verification
- Transfer validation
- Supply auditing
Export Proof:
curl -X GET "https://{API_ENDPOINT}/v1/taproot-assets/proofs/export?asset_id={asset_id}" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}" \
--output
Verify Proof:
curl -X POST "https://{API_ENDPOINT}/v1/taproot-assets/proofs/verify" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}" \
--data-binary "@proof.bin"Proof Contents:
- Asset genesis
- Transfer history
- Merkle proofs
- Bitcoin anchors
Use Cases:
- Compliance audits
- Third-party verification
- Asset authenticity
Universe = Taproot Asset discovery and proof distribution network
Functions:
- Asset registry
- Proof synchronization
- Metadata hosting
Add Universe Server:
curl -X POST "https://{API_ENDPOINT}/v1/taproot-assets/universe/add" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}" \
-H "Content-Type: application/json" \
-d '{ "universe_uri": "https://universe.comet.dev" }'Sync Assets:
curl -X POST "https://{API_ENDPOINT}/v1/taproot-assets/universe/sync" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}"Enable Universe Server:
curl -X POST "https://{API_ENDPOINT}/v1/taproot-assets/universe/enable" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}"Register Assets:
curl -X POST "https://{API_ENDPOINT}/v1/taproot-assets/universe/register" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}" \
-H "Content-Type: application/json" \
-d '{ "asset_id": "{asset_id}" }'Permanently remove assets from circulation:
curl -X POST "https://{API_ENDPOINT}/v1/taproot-assets/assets/burn" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}" \
-H "Content-Type: application/json" \
-d '{
"asset_id": "{asset_id}",
"amount": "1000"
}'⚠️ Warning: Burning is irreversible.
Divide asset UTXOs:
curl -X POST "https://{API_ENDPOINT}/v1/taproot-assets/assets/split" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}" \
-H "Content-Type: application/json" \
-d '{
"asset_id": "{asset_id}",
"amounts": [500, 300, 200]
}'Use Cases:
- Payment preparation
- UTXO management
- Privacy enhancement
Batch Minting:
curl -X POST "https://{API_ENDPOINT}/v1/taproot-assets/assets/batch-mint" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}" \
-H "Content-Type: application/json" \
--data-binary "@assets.json"Batch Transfers:
curl -X POST "https://{API_ENDPOINT}/v1/taproot-assets/assets/batch-transfer" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}" \
-H "Content-Type: application/json" \
--data-binary "@transfers.json"Backup Proofs: Export and store asset proofs securely
Verify Transfers: Always verify proof validity
Test First: Use testnet before mainnet
Monitor Supply: Regularly audit asset balances
Secure Keys: Protect node access credentials
Export Asset State:
curl -X GET "https://{API_ENDPOINT}/v1/taproot-assets/state/export" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}" \
--output
Restore Assets:
curl -X POST "https://{API_ENDPOINT}/v1/taproot-assets/state/restore" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}" \
--data-binary "@assets-backup.tar.gz"Issue stablecoins, loyalty points, or community currencies:
curl -X POST "https://{API_ENDPOINT}/v1/taproot-assets/assets/mint" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}" \
-H "Content-Type: application/json" \
-d '{
"asset": {
"asset_name": "StableCoin",
"asset_type": "NORMAL",
"amount": "10000000",
"meta_data": {
"decimals": 2,
"symbol": "STBL"
}
}
}'Create unique digital collectibles:
for i in {1..100}; do
curl -X POST "https://{API_ENDPOINT}/v1/taproot-assets/assets/mint" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}" \
-H "Content-Type: application/json" \
-d "{
\"asset\": {
\"asset_name\":\"Collection#$i\",
\"asset_type\":\"COLLECTIBLE\",
\"amount\":\"1\",
\"meta_data\": {
\"file_path\":\"nft-$i.json\"
}
}
}"
doneRepresent real-world assets on Bitcoin:
Real estate shares
Commodity certificates
Equity tokens
Carbon credits
Track Performance:
curl -X GET "https://{API_ENDPOINT}/v1/taproot-assets/metrics?asset_id={asset_id}" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}"Key Metrics:
- Transfer volume
- Active addresses
- Channel liquidity
- Fee revenue
Configure Notifications:
curl -X POST "https://api.comet.dev/v1/alerts" \
-H "Authorization: Bearer <api_key>" \
-H "Content-Type: application/json" \
-d '{
"node_id": "{node_id}",
"type": "asset_transfer",
"asset_id": "{asset_id}",
"webhook_url": "<url>"
}'
Mint Asset:
curl -X POST "https://{API_ENDPOINT}/v1/taproot-assets/assets/mint" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}" \
-H "Content-Type: application/json" \
-d '{
"asset": {
"asset_name": "MyToken",
"asset_type": "NORMAL",
"amount": "1000000"
}
}'Send Asset:
curl -X POST "https://{API_ENDPOINT}/v1/taproot-assets/assets/transfer" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}" \
-H "Content-Type: application/json" \
-d '{
"asset_id": "abc...",
"amount": "100",
"destination": "taro1..."
}'Receive real-time asset events:
{
"event": "asset_received",
"asset_id": "abc123...",
"amount": 1000,
"sender": "taro1...",
"timestamp": "2025-01-06T10:30:00Z"
}Minting Fails:
- Verify sufficient Bitcoin balance
- Check fee rate settings
- Ensure node is synced
Transfer Stuck:
- Confirm blockchain confirmations
- Verify recipient address
- Check proof validity
Universe Sync Issues:
- Verify server connectivity
- Check firewall settings
- Retry synchronization
curl -X POST "https://{API_ENDPOINT}/v1/taproot-assets/debug/enable" \
-H "Grpc-Metadata-macaroon: {MACAROON_HEX}"Current Constraints:
- Maximum asset name: 64 characters
- Maximum supply: 2^64 units
- Minimum on-chain fee: 1 sat/vbyte
- Proof size: ~10-50 KB per transfer
Enable Taproot Assets on your node
Mint test asset on testnet
Practice transfers and proofs
Explore Lightning integration
Build asset-powered applications