> For the complete documentation index, see [llms.txt](https://docs.bitcoinos.build/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bitcoinos.build/technical-documentation/grail/operator-assisted-withdrawal.md).

# Operator-assisted Withdrawal

If a user requests to withdraw tokens, the operation can be completed by an operator holding Bitcoin.

The following smart contract functions are available:

* **Initiate Withdrawal:** The user specifies an amount and target address. The smart contract collects the funds and registers the withdrawal request.&#x20;
* **Operator Assignment:** An operator responds and selects a set of UTXOs they control to service the request. The withdrawal is assigned to them. As soon as the state is confirmed, they transfer Bitcoin to the target address using the preselected UTXOs.
* **Complete Withdrawal:** The operator completes the operation by presenting proof of inclusion in the Bitcoin blockchain for the transaction to the target address. The smart contract then transfers the target amount in tokens to the operator.

<figure><img src="/files/oAJIlr6m62K6loCjAoaR" alt=""><figcaption></figcaption></figure>


---

# 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://docs.bitcoinos.build/technical-documentation/grail/operator-assisted-withdrawal.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.
