Fund escrow
Paid reads use your app identity’s Data Portability escrow balance. You only fund it — the SDK resolves the escrow contract for the network you select, so there’s no contract address to configure in your app. Escrow is funded from the Fund escrow section of the same signed-in Developers page you used to create the app identity.Open and sign in to Vana Account developers
Open
account-dev.vana.org/developers and sign in.Confirm the network
Set the Protocol network toggle to Testnet (Moksha). Mainnet deployment is being finalized — build on testnet for now.
Enter the app identity address in Fund escrow
In the Fund escrow section, the Funding source is your connected External wallet. Set App identity address to the grantee app address you created or registered — this is the address that pays for Personal Server reads.
Enter the amount and fund
Enter the Amount of native VANA to deposit, click Fund escrow, and submit the wallet transaction.
For Moksha, get testnet VANA from
faucet.vana.com/moksha; the faucet dispenses 10 VANA per address per 24 hours. Data request creation and user approval can succeed before escrow is funded, but data reads fail with Insufficient finalized balance until the app address has finalized escrow balance.Check current fees
Creating an access request does not spend escrow. Payment happens when your backend reads approved data from the user’s Personal Server. A paid read can include:| Fee | When it applies |
|---|---|
grant_registration | one-time fee for registering the user grant, when enabled |
data_access | fee for a successful data read, when enabled |
You don’t set or pay fees yourself. When a read needs payment, the Personal Server returns a
402 challenge with the exact amount owed; the SDK pays it from your escrow and retries. Fee amounts and assets are set by Vana onchain in FeeRegistry and can change, so treat any number below as an example, not a fixed price.- Mainnet:
0xb4FA18443E0FA6cdC0280D20b8cCDB2377D13Bf2 - Testnet:
0xb4FA18443E0FA6cdC0280D20b8cCDB2377D13Bf2