# SendAsset

<details>

<summary>Step1: TransferAsset</summary>

Wallet calls this to transfer an asset to a specific Taproot Assets address. Virtual psbts are returned for the end user's first sign.&#x20;

</details>

<details>

<summary>Step 2: AnchorVirtualPsbt</summary>

Continuingly from Step1, the end user signs the virtual psbts locally, to provide witnesses for Taproot Assets spend. Wallet should NOT finalize or extract that transaction. Then make this call to  send the signed virtual psbts back.&#x20;

Bittapd will verify the signatures to make sure it meets the spending conditions of Taproot Assets Protocol. Then Bittapd will make anchored psbt to anchor this transfer to BTC. The result is another psbt to be returned for the end user's second sign.&#x20;

</details>

<details>

<summary>Step 3: PublishTransfer</summary>

The end user will sign the psbt returned from Step 2, and before call this to broadcast to BTC blockchain, the signed psbt needs to be finalized. In the end, if the transaction get confirmed, that means the Taproot Assets transfer successfully. The receiver will find the new asset on chain, and verify the proof which sender made to it.

</details>


---

# Agent Instructions: 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/api-reference/sendasset.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.
