How do I provide access to my data?
If you’re running a DataDAO and someone wants to access your dataset — great. This guide walks you through how to approve that request securely, by granting data access and approving their compute job on-chain.
🧠 You Approve Two Things
When someone wants to access your DataDAO's data, you’ll typically get:
- What data they want (a schema, table, or column in the specific
refinerId
) - How they plan to process it (a Docker-based compute job — by
computeInstructionId
)
You’ll approve both with two on-chain calls.
Note:
Be thoughtful about who you give access to. You're responsible for protecting your data contributors — especially for sensitive datasets.
📣 Step 1: Make It Easy to Reach You
Don’t forget to share how data consumers can contact you — Telegram, Twitter, Discord handle, etc. This makes it easier for builders and researchers to request access.
You can publish this in your DataDAO’s metadata, on your website, or directly in your schema descriptions.
🪪 Step 2: Grant Access to Your Data
Call this function on the QueryEngine contract:
function addPermission(
address grantee,
uint256 refinerId,
string calldata tableName,
string calldata columnName,
uint256 price
)
grantee
— the wallet address of the data consumerrefinerId
— your published schema IDtableName
/columnName
— leave blank for broader accessprice
— amount in $VANA charged per query
Contract: QueryEngine
-> 0xd25Eb66EA2452cf3238A2eC6C1FD1B7F5B320490
⚙️ Step 3: Approve Their Compute Job
Each compute job (aka instruction) must also be approved to run on your data — even the default one. You only need to approve each compute job once.
Call this function on the ComputeInstructionRegistry:
function updateComputeInstruction(
uint256 instructionId,
uint256 dlpId,
bool approved
)
instructionId
— provided by the data consumerdlpId
— your DataDAO IDapproved
— set totrue
to allow
Contract: ComputeInstructionRegistry
-> 0x5786B12b4c6Ba2bFAF0e77Ed30Bf6d32805563A5
Tip
If they’re using the default compute job with
instructionId = 1
, you still need to approve it once like any other.
✅ That’s It
Once both approvals are on-chain, the data consumer can securely run compute jobs against your dataset using the permissions and logic you’ve approved.
In the current version (v0), you’ll earn $VANA from every query — 80% of the access fee goes directly to your DataDAO treasury. In future versions, that same share will be used to purchase your DataDAO token on-chain, tying revenue directly to your token’s demand.
Have questions or want help setting up default flows? Ping the Vana team in our Builders Discord.
Updated 5 days ago