Lightning Nodes

Taproot Assets Guide

Taproot Assets Guide

Issue, manage, and transfer digital assets on Bitcoin using Taproot Assets Protocol.

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.

Taproot Assets Guide

Issue, manage, and transfer digital assets on Bitcoin using Taproot Assets Protocol.

Overview

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


Getting Started

Prerequisites

  • Active Comet node (mainnet or testnet)

  • Bitcoin balance for on-chain fees

  • Basic Lightning Network knowledge

Enable Taproot Assets

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}"

Asset Issuance

Create New Asset

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"}
  ]
}

Asset Types

Normal Assets:

- Fungible tokens

- Divisible units

- Use cases: currencies, points, credits


Collectibles:

- Non-fungible tokens (NFTs)

- Unique items

- Use cases: art, tickets, certificates


Minting Process

  1. Create Asset: Define parameters

  2. Anchor Transaction: Commit to Bitcoin blockchain

  3. Confirmation: Wait for block confirmations (6 recommended)

  4. 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}"

Asset Management

List Assets

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"
  }
]

Asset Details

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": {...}
}

Asset Balances

curl -X GET "https://{API_ENDPOINT}/v1/taproot-assets/assets/balance?asset_id={asset_id}" \
  -H "Grpc-Metadata-macaroon: {MACAROON_HEX}"

Asset Transfers

On-Chain Transfers

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


Lightning Transfers

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


Multi-Asset Channels

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" }
    ]
  }'

Asset Addresses

Address Types

Taproot Asset Address Format:

Components: - Network prefix (taro1 for mainnet, tarot1 for testnet)

- Asset ID

- Script key

- Internal key


Generate Addresses

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}"

Asset Proofs

Proof System

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 Files

Proof Contents:

- Asset genesis

- Transfer history

- Merkle proofs

- Bitcoin anchors


Use Cases:

- Compliance audits

- Third-party verification

- Asset authenticity


Universe Servers

Overview

Universe = Taproot Asset discovery and proof distribution network

Functions:

- Asset registry

- Proof synchronization

- Metadata hosting


Connect to Universe

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}"

Host Universe

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}" }'

Advanced Features

Asset Burning

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.

Asset Splitting

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 Operations

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"

Security

Best Practices

  1. Backup Proofs: Export and store asset proofs securely

  2. Verify Transfers: Always verify proof validity

  3. Test First: Use testnet before mainnet

  4. Monitor Supply: Regularly audit asset balances

  5. Secure Keys: Protect node access credentials

Asset Recovery

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"

Use Cases

Digital Currencies

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"
      }
    }
  }'

NFT Collections

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\"
        }
      }
    }"
done

Tokenized Assets

Represent real-world assets on Bitcoin:

  • Real estate shares

  • Commodity certificates

  • Equity tokens

  • Carbon credits

Monitoring

Asset Metrics

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


Alerts

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>"
  }'

API Integration

REST API

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..."
  }'

Webhooks

Receive real-time asset events:

{
  "event": "asset_received",
  "asset_id": "abc123...",
  "amount": 1000,
  "sender": "taro1...",
  "timestamp": "2025-01-06T10:30:00Z"
}

Troubleshooting

Common Issues

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


Debug Mode

curl -X POST "https://{API_ENDPOINT}/v1/taproot-assets/debug/enable" \
  -H "Grpc-Metadata-macaroon: {MACAROON_HEX}"

Limitations

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


Resources

Next Steps

  1. Enable Taproot Assets on your node

  2. Mint test asset on testnet

  3. Practice transfers and proofs

  4. Explore Lightning integration

  5. Build asset-powered applications

Table of Contents

Copyright © 2025 Comet Cash

Czech Republic VASP License Registration Nº 22053751

info@cometcash.com

All rights reserved.

Copyright © 2025 Comet Cash

Czech Republic VASP License Registration Nº 22053751

info@cometcash.com

All rights reserved.