# Bitcoin

Send, receive, and manage BTC on Bitcoin L1.

### Check balance

```bash
xverse-wallet bitcoin balance --json
```

Returns `native` (spendable, used for sends and Spark deposits), `taproot` (may be locked by Ordinals/Runes), and `total`.

> **Important:** Only the `native` (segwit) balance is spendable for BTC sends and Spark deposits. The `taproot` balance may contain Ordinals or Runes and should not be spent directly.

To check balances across multiple accounts:

```bash
xverse-wallet bitcoin balance --accounts 0-4 --json
```

### Receive BTC

```bash
xverse-wallet bitcoin receive --json
```

Returns both your native segwit address (for receiving BTC) and taproot address (for receiving Ordinals).

### Send BTC

Amount is in BTC (e.g. `0.001` = 100,000 sats).

```bash
# Preview (dry run)
xverse-wallet bitcoin send --to <address> --amount 0.001 --json

# Execute
xverse-wallet bitcoin send --to <address> --amount 0.001 --yes --json
```

#### Options

| Option              | Description                                      |
| ------------------- | ------------------------------------------------ |
| `--to <address>`    | Destination Bitcoin address                      |
| `--amount <btc>`    | Amount in BTC (e.g. `0.001`)                     |
| `--fee-rate <rate>` | Fee rate in sat/vB (uses recommended if omitted) |
| `--yes`             | Execute the transaction (omit for dry run)       |

### Check fee rates

```bash
xverse-wallet bitcoin fees --json
```

Returns recommended fee rates (sat/vB) for different confirmation targets.

### Transaction history

```bash
xverse-wallet bitcoin history --json
xverse-wallet bitcoin history --offset 10 --limit 5 --json
```
