Epoch 6 Migration Guide

This guide outlines how to bring an existing DataDAO into compliance with Vana’s latest protocol standards to be eligible for Epoch 6 rewards.


VRC-15 Compliance

To make your refinement pipeline VRC-15 compliant:

  1. Start with the QuickStart guide

    Follow Step 4: Create a Data Refiner to fork and initialize your repo.

  2. Customize Your Logic

    Instead of the default schema:

    • Update refiner/models/unrefined.py to reflect your raw dataset
    • Define your refined schema in refiner/models/refined.py
    • Update mapping logic in refiner/transformer/
    • Edit refiner/config.py with your schema name, version, and other metadata
  3. Wire into Your Existing Product

    Your application should call the /refine endpoint after Proof-of-Contribution verifies data. To implement it, send a POST request like this:

    POST <refinement-service-url>/refine
    Content-Type: application/json
    
    {
      "file_id": 1234,
      "encryption_key": "0xabcd1234...", //REFINEMENT_ENCRYPTION_KEY from the guide
      "refiner_id": 12,
      "env_vars": {
        "PINATA_API_KEY": "xxx",
        "PINATA_API_SECRET": "yyy"
      }
    }

    Use the following endpoints depending on environment:

    • Mainnet: https://592387e3ed196d95ce8df7af54dab6ebca21a3c8-8000.dstack-prod5.phala.network/refine
    • Moksha Testnet: https://a7df0ae43df690b889c1201546d7058ceb04d21b-8000.dstack-prod5.phala.network/refine

    You can see this implemented in https://github.com/vana-com/dlp-ui-template/blob/main/app/api/refine/route.ts


VRC-20 Compliance

To make your existing DAT-based token VRC-20 compliant, follow these steps:

  1. Mint Remaining Supply

    Use the mint() function on your token contract to mint the full intended supply. This must be called from the owner address.

  2. Freeze Minting

    Call blockMint() on the token contract to permanently disable further minting.

  3. Lock Team Tokens

    Move any team-allocated tokens into a vesting contract. Minimum requirements:

    • 6-month cliff
    • Linear unlock thereafter

    We recommend using OpenZeppelin’s VestingWallet contract for deployment.

  4. Define Token Utility

    Document how your token functions within the data ecosystem:

    • Specify how tokens are earned by or distributed to data contributors
    • Describe how the token governs or enables access to data
    • Explain its integration with the Vana Data Access Architecture
  5. Verify Smart Contracts

    Verify the token contract and all related contracts (e.g., vesting) on the block explorer.

  6. Submit for Review

    Once vesting is in place and minting is locked, send your token address to the Vana team in Discord for final approval.

📘

Tip

If your token was not deployed using the DAT template, contact the Vana team for migration support. Custom paths may be required.


VRC-14 Compliance

To be eligible for VRC-14 rewards, your DataDAO token must be paired with $VANA on DataDex and backed by sufficient liquidity to handle daily reward-related buys with less than 2% slippage.

Step 1. Create the Pool

  1. Go to datadex.com

  2. Verify Vana mainnet network is selected

  3. Navigate to PoolsNew Position

  4. Select your token and $VANA as the pair

    1. If your token is not whitelisted yet, input the contract address and proceed as described below. It will appear as ‘Unknown’, and the Vana team will whitelist it once you pass VRC-20 compliance.
  5. Use Full Range liquidity and choose your Starting Price

    1. The starting price will affect the initial FDV of your token.
    2. For example, if your total supply is 100,000,000 tokens and the price is set to 100 tokens per VANA (with VANA at ~$6), the FDV would be: 100,000,000 × 6 × 0.01 = $6,000,000.
    3. A common best practice is to set the initial price close to your expected market valuation to minimize impermanent loss
  6. Deposit both tokens

Step 2: Provide Enough Liquidity

Epoch 6 will distribute 150,000 $VANA over 91 days. If your DLP receives 10% of that pool:

  • That’s ~164 $VANA/day of volume
  • Half of that (~82 $VANA/day) will be used to buy your token
  • The purchased amount + 82 $VANA will be added back as liquidity to the same pool

Your pool needs to absorb a $VANA-only buy (~$533/day at $6.50 per $VANA) buy each day with <2% slippage — before rewards are re-added as LP.

Start with what you can:

  • ~$5–10K total liquidity may be enough at launch
  • Monitor slippage — if >2% on daily swaps, scale up


Once you’ve completed these steps and the Minimal Requirements from VRC-5, your DataDAO will be fully compliant after a quick review from the Vana team.

Need help? Reach out in the Vana Builders Discord under #tech-questions.