> ## Documentation Index
> Fetch the complete documentation index at: https://turnkey-0e7c1f5b-rainxturnkey.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Bitcoin

> This page provides examples of policies governing signing.

Note: see the [language section](/concepts/policies/language#bitcoin) for more details. For context on Bitcoin transaction reinsertion, see the [Bitcoin network support](/networks/bitcoin) page

#### Allow signing Bitcoin transactions ONLY if all outputs are being sent to a certain address

```json theme={"system"}
{
  "policyName": "Enable bitcoin transactions to be sent to <BITCOIN_ADDRESS>",
  "effect": "EFFECT_ALLOW",
  "condition": "bitcoin.tx.outputs.all(o, o.address == <BITCOIN_ADDRESS>)"
}
```

#### Allow signing Bitcoin transactions restricting output values

```json theme={"system"}
{
  "policyName": "Allow signing bitcoin transactions only if all outputs have value < 200000 satoshis",
  "effect": "EFFECT_ALLOW",
  "condition": "bitcoin.tx.outputs.all(o, o.value < 200000)"
}
```

#### Allow signing Bitcoin transactions only if ALL inputs are spending a particular UTXO (this key is only allowed to spend one input)

```json theme={"system"}
{
  "policyName": "Only allow spending of a single bitcoin transaction input",
  "effect": "EFFECT_ALLOW",
  "condition": "bitcoin.tx.inputs.all(i, i.tx_id == <TX_ID_OF_UTXO> && i.vout == <VOUT_OF_UTXO>)"
}
```
