> For the complete documentation index, see [llms.txt](https://doc.bittap.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.bittap.org/developer-guides/overview.md).

# Overview

## Architecture

Tapd is the official implementation of[ Taproot Assets Protocol](https://docs.lightning.engineering/the-lightning-network/taproot-assets/taproot-assets-protocol), but with an issue that end users must deploy an own Tapd and LND locally to master their wallet keys; otherwise, they have to escrow their wallet keys to the service provider who is running [Tapd](https://github.com/lightninglabs/taproot-assets) and [LND](https://github.com/lightningnetwork/lnd) locally.

BitTap solves this issue by introducing another layer, which Bittapd stands for. Bittapd is a service deployed on the Tapd side, working like an Taproot Assets Protocol's agent to help facilitate the interactions between Tapd and end users which have their self-custodial keys.

The architecture of BitTap Wallet shows below. End users aka. Browser Extension Wallet don't communicate with Tapd directly, instead they call Bittapd's API for everything except that they will  generate their own private/public keys for BTC and Taproot Assets.&#x20;

<figure><img src="/files/XExvF0y5uatBZ0PxTDSc" alt=""><figcaption><p>BitTap wallet architecture</p></figcaption></figure>

End users generate and manage the keys, and Bittapd don't need private keys to work. When private keys are needed to sign a transaction, Bittapd will ask for it to be conducted on the wallet side by the end user. In this way, BitTap wallet is a truly non-custodial wallet for Taproot Assets.

## API Resources

While BitTap team has developed the first non-custodial browser extension wallet for Taproot Assets in the world, we would like to open the capability to our partners to build truly decentralized web3 together so that in our partners' products, end users can truly own their Taproot Assets as well.&#x20;


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.bittap.org/developer-guides/overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
