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.Switch networks
One environment variable selects the network in both the example app and the SDK: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:
VANA_NETWORK, register your app identity on mainnet (same flow, Protocol network: Mainnet), and fund mainnet escrow. Nothing else changes.
Fund your wallet (mainnet)
On mainnet, the only asset your app’s escrow needs is USDC.e — it settles paid reads from your escrow balance. Gas for the on-chain actions you take through Vana Account and the SDK (registering your app, funding escrow) is sponsored on Vana, so you don’t need native VANA to build and run your app. (Bridging USDC in still costs a little ETH on the source chain — see the walkthrough.)Walkthrough: fund escrow from USDC on Base
If you already hold USDC on Base, this is the whole path start to finish. (Bridging from Ethereum is identical — swap Base for Ethereum throughout.) Each step links to the reference details further down.1
Confirm Vana Account is set to Mainnet
Open Vana Account → Developers and set Protocol network to Mainnet. Your app identity and its escrow both live on whichever network you select here.
2
Check the wallet you'll bridge from
In your Base wallet you need two things: the USDC you want to fund with, plus a little ETH on Base to pay the bridge gas. See the two gotchas below for the ETH-on-Base trap.
3
Bridge USDC → USDC.e on Stargate
Open Stargate and set the route: from Base, asset USDC → to Vana, asset USDC.e. Enter the amount (how much?) and confirm.You’ll see the warning “You have 0.00 VANA on Vana which is insufficient to pay for gas.” That’s expected — proceed anyway. Delivery gas is prepaid, so no VANA is needed (why). Send the transaction and wait for USDC.e to arrive on Vana (usually a few minutes).

4
(Optional) Confirm USDC.e arrived
Add Vana to your wallet and add USDC.e as a custom token to see the balance land before you fund.
5
Deposit USDC.e into your app's escrow
Back in Vana Account → Developers (Protocol network: Mainnet), open Fund escrow, set App identity address to your app, enter the amount in USDC.e, and click Fund escrow. This deposit is gas-sponsored — no VANA needed. Field-by-field steps: Fund escrow and check fees.
Add Vana to your wallet
Add Vana as a custom network in MetaMask, Rabby, or any EVM wallet so you can see your USDC.e balance and confirm transfers:
USDC.e won’t show up until you add it as a custom token:
0xF1815bd50389c46847f0Bda824eC8da914045D14 (6 decimals).
Get USDC.e on Vana
USDC.e is bridged USDC on Vana mainnet — the asset your escrow is funded and charged in. Bridge USDC from Base or Ethereum with Stargate and it arrives on Vana as USDC.e, ready to deposit into escrow.
Check fees before you fund
Fee amounts and assets are set on-chain inFeeRegistry and can change — check it (and the Fund escrow section of Vana Account) before funding:
- Mainnet:
0xb4FA18443E0FA6cdC0280D20b8cCDB2377D13Bf2 - Testnet:
0xb4FA18443E0FA6cdC0280D20b8cCDB2377D13Bf2
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.Get native VANA (optional)
You don’t need VANA for the funding flow above — gas on Vana is sponsored. Reach for this only if you want native VANA for something else, such as interacting with the network directly. 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 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. Swap USDC for VANA on Aerodrome (Base) or Uniswap v3 (Ethereum), then bridge to Vana with Stargate — it arrives as native VANA, gas-ready, no unwrapping step.
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.