# 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>
