> For the complete documentation index, see [llms.txt](https://cvnnt.gitbook.io/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cvnnt.gitbook.io/documentation/how-it-works/bridgeless-stateful-transfers/channel-btc-creation.md).

# Channel BTC creation

To create the channel, an amount of BTC should be deposited via the special transaction Covenant system master nodes can recognize.

After successful depositing, an unique Channel NFT asset with the corresponding amount of BTC and channel-related metadata is minted to the channel owner' address (wallet).

This Channel NFT can be used to trade, lend or stake the Channel NFT itself or the BTC handled within it, for cross-chain transfers and participating in all DeFi activities all over the EVM / \*VM ecosystems.

BTC channel creation using Covenant system is programmable, fast, predictable and safe due to verifiable operation statefulness and complete automation without any trusted entities, custody, intermediaries or off-chain operations.

### Creating BTC channel: General flow

1. Choosing your channel type:&#x20;

* Self-custody for ownership perseverance,
* Pooled channel for actions that don't require to preserve your ownership over the original BTC asset (e.g. sell operation).

2. Providing info your channel to the Covenant system:

* Amount of BTC to deposit, pool type, Covenant system address (where to the channel asset will be minted), Bitcoin public key for BTC recovery script.

3. Reading and accepting the data Covenant system provides about current Covenant commissions, current gas fees, and other channel-related data.
4. Receiving the transaction script Covenant system builds based on the data you've provided.
5. Performing the depositing transaction on Bitcoin blockchain.

<figure><img src="https://content.gitbook.com/content/IrCs7se0X60UkwSdNUVw/blobs/VFEbWhUdroLjCCQWJQDQ/image.png" alt=""><figcaption></figcaption></figure>

### Transaction time expiration

Each deposit transaction has time expiration tied to Covenant system epochs (specific amount of blocks). After the expiration, deposit transaction becomes worthless.

Covenant system shows current epoch parameters on the user interface, epoch data can be retrieved using API and it can be observed onchain.&#x20;

DO NOT execute outdated transaction, regenerate a new one.&#x20;

Also, always provide recovery public key for the recovery script to recover your BTC funds in case of time delays.

### If something goes wrong?&#x20;

In case of execution of the expired depositing transaction, you can withdraw your BTC to the recovery address you provided using recovery script after defined amount of time (at specific block height).

Know more about BTC deposit recovery: [BTC deposit recovery →](/documentation/how-it-works/bridgeless-stateful-transfers/btc-deposit-recovery.md)

### Frequently asked questions

<details>

<summary>Can I build Bitcoin deposit transaction myself?</summary>

Technically yes, but we strongly advise you to avoid this action. Covenant system reverts (sends back) unrecognized incoming assets (transactions) if there is enough amount to pay the gas fees.

</details>

<details>

<summary>What if I won't provide the recovery Bitcoin address (public key)?</summary>

Without the recovery Bitcoin address you won't be able to release your BTC in case sending it to the outdated deposit address. Covenant system won't be able to help as well because master nodes can't manage the outdated deposits. That is why we strongly advise you to provide recovery Bitcoin address (public key).&#x20;

<mark style="color:blue;">**Know more about BTC deposit recovery:**</mark> [BTC deposit recovery →](/documentation/how-it-works/bridgeless-stateful-transfers/btc-deposit-recovery.md)

</details>
