# Swapping

## Swapping

Sova enables cross-chain token swaps across 50+ networks with native Bitcoin and Zcash support. This guide covers outbound (EVM → BTC/ZEC) and inbound (BTC/ZEC → EVM) swap flows.

***

### Settlement Times

| Direction       | Description                 | Time          |
| --------------- | --------------------------- | ------------- |
| **Outbound**    | EVM tokens → Native BTC/ZEC | \~15 minutes  |
| **Inbound**     | Native BTC/ZEC → EVM tokens | \~20 minutes  |
| **Cross-Chain** | EVM ↔ EVM (50+ chains)      | \~2-5 minutes |

***

## Outbound Swaps

Convert EVM tokens to native Bitcoin or Zcash.

### Overview

| Parameter        | Value                 |
| ---------------- | --------------------- |
| **Settlement**   | \~15 minutes          |
| **Transactions** | 1-2 (approval + swap) |
| **Gas**          | \~$0.10-0.20          |

### Prerequisites

* [ ] Tokens on supported EVM chain
* [ ] ETH for gas
* [ ] Destination BTC or ZEC address
* [ ] Connected wallet

### Process

#### 1. Configure Swap

Navigate to [app.sova.io/swap](https://app.sova.io/swap)

1. Connect wallet
2. Select source chain and token in **Sell**
3. Select **BTC** or **ZEC** in **Buy**

{% hint style="info" %}
**Fee Optimization:** Use USDC as source token for lowest fees (1.0% vs 1.3%).
{% endhint %}

#### 2. Enter Amount

The interface displays:

* Expected output amount
* Current exchange rate
* Total fees
* Estimated settlement time

#### 3. Enter Destination Address

Provide your Bitcoin or Zcash wallet address.

**Bitcoin Formats:**

* `bc1q...` (SegWit) — Recommended, lowest network fees
* `bc1p...` (Taproot)
* `1...` (Legacy P2PKH)
* `3...` (P2SH)

**Zcash Formats:**

* `t1...` (Transparent only)

{% hint style="danger" %}
**Verify your destination address.** Transactions to incorrect addresses cannot be reversed.
{% endhint %}

#### 4. Execute

1. **Approve** — Grant token spending (first time only)
2. **Swap** — Review and confirm transaction
3. **Wait** — Settlement completes in \~15 minutes

#### 5. Settlement Timeline

| Stage             | Duration |
| ----------------- | -------- |
| Base confirmation | Instant  |
| Bridge processing | \~10 min |
| BTC/ZEC delivery  | \~5 min  |
| **Total**         | \~15 min |

***

## Inbound Swaps

Bring native Bitcoin or Zcash onto EVM chains.

### Overview

| Parameter        | Value                |
| ---------------- | -------------------- |
| **Settlement**   | \~20 minutes         |
| **Transactions** | 1 (BTC/ZEC transfer) |
| **Fees**         | 1.0% bridge fee      |

### Process

#### 1. Configure Swap

Navigate to [app.sova.io/swap](https://app.sova.io/swap)

1. Connect EVM wallet (destination for received tokens)
2. Select **BTC** or **ZEC** in **Sell**
3. Select target chain and token in **Buy**

#### 2. Generate Deposit Address

1. Enter BTC/ZEC amount
2. Review quote (output, fees, timing)
3. Click **Generate Deposit Address**

{% hint style="warning" %}
Each deposit address is unique to your order. Do not reuse addresses from previous swaps.
{% endhint %}

#### 3. Send BTC/ZEC

From your Bitcoin or Zcash wallet:

1. Copy deposit address exactly
2. Send specified amount
3. Wait for network confirmations

{% hint style="danger" %}
**Do NOT send from centralized exchanges.** Use a personal wallet where you control private keys. Exchange withdrawals use pooled addresses, causing refund issues if problems occur.
{% endhint %}

#### 4. Settlement Timeline

| Stage                | Duration    |
| -------------------- | ----------- |
| BTC/ZEC confirmation | \~10 min    |
| Bridge processing    | \~5 min     |
| Token delivery       | \~2 min     |
| **Total**            | \~15-20 min |

#### 5. Receive Tokens

Tokens arrive in your connected EVM wallet automatically.

***

## Tracking Orders

### Order Status

Track swaps on the **Transactions** page:

| Status      | Description                                 |
| ----------- | ------------------------------------------- |
| `PENDING`   | Submitted, awaiting processing              |
| `BRIDGING`  | Cross-chain settlement in progress          |
| `COMPLETED` | Funds delivered                             |
| `FAILED`    | Error occurred (automatic refund initiated) |

### Block Explorers

| Network     | Explorer                                                 |
| ----------- | -------------------------------------------------------- |
| **Bitcoin** | [mempool.space](https://mempool.space)                   |
| **Zcash**   | [zcashblockexplorer.com](https://zcashblockexplorer.com) |
| **Base**    | [basescan.org](https://basescan.org)                     |

***

## Fee Summary

| Route                 | Fee    |
| --------------------- | ------ |
| USDC → BTC/ZEC        | 1.0%   |
| Other Token → BTC/ZEC | \~1.3% |
| BTC/ZEC → EVM         | 1.0%   |

Fees deducted from output. Gas costs (\~$0.10-0.20) are additional.

***

## Troubleshooting

<details>

<summary><strong>"Invalid Address" Error</strong></summary>

* **Bitcoin:** Must start with `bc1`, `1`, or `3`
* **Zcash:** Must start with `t1` (shielded `zs...` not supported)
* Remove spaces or extra characters
* Verify checksum validity

</details>

<details>

<summary><strong>"Insufficient Liquidity" Error</strong></summary>

* Try smaller amount
* Use USDC as input (best liquidity)
* Retry during lower activity periods

</details>

<details>

<summary><strong>Swap Taking Longer</strong></summary>

* **Outbound:** Normal settlement \~15 minutes
* **Inbound:** Allow 20-30 minutes for BTC confirmations
* Check Transactions page for status
* Contact support if over 1 hour

</details>

<details>

<summary><strong>Swap Failed</strong></summary>

Refunds are automatic:

* **Outbound:** Tokens returned to EVM wallet
* **Inbound:** BTC/ZEC returned to source address

Refunds typically complete within minutes. Up to 24 hours in rare cases.

</details>

<details>

<summary><strong>Sent from Exchange</strong></summary>

If you sent inbound swap from an exchange, refunds (if needed) go to the exchange's pooled address. Contact exchange support to recover funds.

</details>

***

## Next Steps

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Limit Orders</strong></td><td>Set target prices for automatic execution</td><td><a href="limit-orders">limit-orders</a></td></tr><tr><td><strong>Vaults</strong></td><td>Earn yield on Bitcoin</td><td><a href="depositing">depositing</a></td></tr></tbody></table>


---

# 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://docs.sova.io/using-sova/swapping.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.
