> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vana.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Choose your network

> Vana apps run on Moksha (testnet) and Vana mainnet. Develop and test on testnet for free; launch on mainnet with real fees.

Vana supports building on **two networks**. Your app code is identical on both — you pick the network with one setting, and the SDK resolves the right chain, contracts, and escrow for you.

|                                      | **Moksha (testnet)**                                                                                | **Mainnet**                                                                                         |
| ------------------------------------ | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| Use it for                           | Development and testing                                                                             | Your live app                                                                                       |
| Chain ID                             | `14800`                                                                                             | `1480`                                                                                              |
| Block explorer                       | [`moksha.vanascan.io`](https://moksha.vanascan.io)                                                  | [`vanascan.io`](https://vanascan.io)                                                                |
| Vana Account (app identity + escrow) | [`account.vana.org/developers`](https://account.vana.org/developers), **Protocol network: Testnet** | [`account.vana.org/developers`](https://account.vana.org/developers), **Protocol network: Mainnet** |
| Vana app (test users connect data)   | [`app.vana.org/sources`](https://app.vana.org/sources), network set to **Testnet**                  | [`app.vana.org/sources`](https://app.vana.org/sources), network set to **Mainnet**                  |
| Fee asset for paid reads             | native VANA                                                                                         | USDC.e                                                                                              |
| How to get funds                     | [Faucet](https://faucet.vana.com/moksha) — free, 10 VANA per address per 24h                        | [Fund your wallet](#fund-your-wallet-mainnet) below                                                 |

<Note>**Testnet and mainnet data do not mix.** A grant approved on testnet cannot be read on mainnet, and escrow balances are separate per network. Use the same network on your app (`VANA_NETWORK`) and in the Vana app your test user signs into.</Note>

## Switch networks

One environment variable selects the network in both the example app and the SDK:

```shell theme={null}
VANA_ENV=production
VANA_NETWORK=moksha   # development and testing
# VANA_NETWORK=mainnet  # your live app
```

`VANA_ENV` stays `production` in both cases — it selects the Vana product stack, while `VANA_NETWORK` selects the chain. In SDK code, the same choice is the `network` option:

```ts theme={null}
const vana = createDirectDataController({
  env: "production",
  network: "moksha", // or "mainnet"
  // ...
});
```

When you move an app from testnet to mainnet: switch `VANA_NETWORK`, register your app identity on mainnet (same flow, **Protocol network: Mainnet**), and [fund mainnet escrow](/build-a-vana-app/escrow-and-fees). Nothing else changes.

## Fund your wallet (mainnet)

Mainnet paid reads settle in **USDC.e**, and on-chain actions (registration, escrow funding) need a small amount of **VANA** for gas. You'll need both in the wallet you use on [`account.vana.org`](https://account.vana.org/developers).

### Get VANA

VANA is the network's native token, used for gas (and for all fees on testnet). Two ways to get it:

**Withdraw from an exchange (simplest).** Major exchanges that list VANA (Binance, Bybit) support deposits and withdrawals directly on the **Vana network**: withdraw to your wallet address and native VANA lands on Vana L1, gas-ready — no bridging or wrapping needed. See [CoinGecko markets](https://www.coingecko.com/en/coins/vana) for the current venue list.

**Buy on-chain and bridge in.** VANA trades as a cross-chain ERC-20 at the same address on every supported chain: [`0x7FF7Fa94b8b66Ef313f7970d4EEbd2CB3103a2C0`](https://etherscan.io/token/0x7FF7Fa94b8b66Ef313f7970d4EEbd2CB3103a2C0). Swap **USDC for VANA** on [Aerodrome (Base)](https://aerodrome.finance/swap?from=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\&to=0x7FF7Fa94b8b66Ef313f7970d4EEbd2CB3103a2C0\&chain0=8453\&chain1=8453) or [Uniswap v3 (Ethereum)](https://app.uniswap.org/swap?chain=mainnet\&inputCurrency=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\&outputCurrency=0x7FF7Fa94b8b66Ef313f7970d4EEbd2CB3103a2C0), then bridge to Vana with [Stargate](https://stargate.finance) — it arrives as **native VANA**, gas-ready, no unwrapping step.

<Note>These DEXs only list VANA once you select it by contract address (`0x7FF7…a2C0`) — the links above pre-select it. Sell **USDC** (the paired asset), and keep test swaps small: the VANA/USDC pools are new (\~\$130K liquidity each), so a large swap moves the price.</Note>

|                        |                                                                                                                                                                                                                                                                                                                                                                                                         |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Exchange withdrawal    | Binance / Bybit → withdraw on the **Vana network** → native VANA                                                                                                                                                                                                                                                                                                                                        |
| Buy VANA on-chain      | [Aerodrome (Base)](https://aerodrome.finance/swap?from=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\&to=0x7FF7Fa94b8b66Ef313f7970d4EEbd2CB3103a2C0\&chain0=8453\&chain1=8453) · [Uniswap v3 (Ethereum)](https://app.uniswap.org/swap?chain=mainnet\&inputCurrency=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\&outputCurrency=0x7FF7Fa94b8b66Ef313f7970d4EEbd2CB3103a2C0) — VANA/USDC, token `0x7FF7…a2C0` |
| Bridge to Vana mainnet | [Stargate](https://stargate.finance) — delivers native VANA                                                                                                                                                                                                                                                                                                                                             |

### Get USDC on Vana

Paid reads on mainnet are charged in **USDC.e** from your app's escrow balance. Bridge USDC from Base or Ethereum with [Stargate](https://stargate.finance) — it arrives on Vana as USDC.e.

|                              |                                                                                                                                                                |
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| USDC.e token on Vana mainnet | [`0xF1815bd50389c46847f0Bda824eC8da914045D14`](https://vanascan.io/address/0xF1815bd50389c46847f0Bda824eC8da914045D14) — "Bridged USDC (Stargate)", 6 decimals |
| Bridge USDC in               | [Stargate](https://stargate.finance): USDC on Base/Ethereum → USDC.e on Vana                                                                                   |

### Check fees before you fund

Fee amounts and assets are set on-chain in `FeeRegistry` and can change — check it (and the **Fund escrow** section of Vana Account) before funding:

* **Mainnet:** [`0xb4FA18443E0FA6cdC0280D20b8cCDB2377D13Bf2`](https://vanascan.io/address/0xb4FA18443E0FA6cdC0280D20b8cCDB2377D13Bf2)
* **Testnet:** [`0xb4FA18443E0FA6cdC0280D20b8cCDB2377D13Bf2`](https://moksha.vanascan.io/address/0xb4FA18443E0FA6cdC0280D20b8cCDB2377D13Bf2)

<Info>You never pay fees manually. When a read requires payment, the Personal Server returns a `402` challenge and the SDK settles it from your escrow automatically — see [Fund escrow and check fees](/build-a-vana-app/escrow-and-fees).</Info>
