Prerequisites
Before starting, ensure you have:- Completed the Setup guide
- Connected Phantom wallet set to Devnet
- NullGraph frontend running at
http://localhost:5173 - Some devnet SOL in your wallet for transaction fees
You can get devnet SOL from the Solana Faucet or by running:
Submit Your First NKA
Null Knowledge Assets (NKAs) are on-chain records of negative scientific results. Each NKA is stored as a permanent PDA on Solana.Optional: Upload a data file. The frontend will compute a SHA-256 hash and store it on-chain as a tamper-proof fingerprint. The file itself remains off-chain.
Hypothesis: Increasing temperature to 42°C will enhance bacterial growth...
Methodology: Incubated E. coli cultures at 42°C for 24h...
Expected Outcome: OD600 > 1.2 at 24h timepoint
Actual Outcome: OD600 = 0.3 at 24h, culture showed minimal growth
P-value: 0.8700
Sample Size: 50
Data Hash: 5a7d...3f2e (if file uploaded)
Your NKA is now permanent and browsable on the Dashboard.
How It Works
When you submit an NKA, the frontend:- Fetches the current
nka_counterfromProtocolState - Derives the
NullResultPDA using seeds:["null_result", researcher_pubkey, specimen_number] - Calls
submit_null_resultinstruction with all metadata - Increments the global counter
- Emits
NullResultSubmittedevent
Create a Bounty
Bounties allow researchers and BioDAOs to pay for specific null results. When you create a bounty, BIO tokens are escrowed into a vault PDA until the bounty is fulfilled or closed.For testing on devnet, you’ll need to mint test BIO tokens to your wallet. Contact the protocol administrator or use a test token faucet.
Seeking null results on the effect of caffeine on C. elegans lifespan. Need p-value > 0.6, sample size > 100.
NullBounty PDAbounty_counter["null_bounty", creator_pubkey, bounty_number]["bounty_vault", bounty_pda]GkjGV1ZF5BsMs6oAvk8jZiuXM8KwuygFCHLBpqR5Q14jHow It Works
Submit to a Bounty
If you have an NKA that matches a bounty’s requirements, you can submit it for review.Browse the Market page for open bounties. Click a bounty card to view details.
Phantom prompts for approval. This creates a
BountySubmission PDA linking your NKA to the bounty and transitions the bounty status to Matched.View Your NKAs
All submitted NKAs are browsable on the Dashboard. Click an NKA card to view full details including:- Specimen number (e.g.,
NKA-0042) - Researcher public key
- Full hypothesis, methodology, outcomes
- P-value and sample size
- Data hash (if provided)
- Timestamp and status
- Solana Explorer link
Protocol Fee Structure
When a bounty is fulfilled:- Researcher payout: 97.5% of reward amount
- Protocol fee: 2.5% (250 basis points)
- Fee recipient: Treasury wallet (set during protocol initialization)
- Researcher receives: 487.5 BIO
- Treasury receives: 12.5 BIO
Account Structure
NullGraph uses four main account types, all stored as PDAs:| Account | Seeds | Description |
|---|---|---|
ProtocolState | ["protocol_state"] | Singleton with counters, fee rate, treasury |
NullResult | ["null_result", researcher, specimen_number] | One per NKA |
NullBounty | ["null_bounty", creator, bounty_number] | One per bounty |
BountySubmission | ["bounty_submission", bounty, null_result] | Links NKA to bounty |
| Vault | ["bounty_vault", bounty_pda] | Token account holding escrowed BIO |
Common Workflows
Researcher Journey
- Connect wallet (devnet)
- Submit NKA with negative result data
- Browse Market for matching bounties
- Submit NKA to bounty
- Receive BIO payout upon approval
BioDAO Journey
- Connect wallet (devnet)
- Acquire BIO tokens
- Create bounty describing needed null result
- BIO tokens escrowed to vault
- Review submissions from researchers
- Approve matching submission (triggers payout)
- Or close bounty (reclaim escrowed BIO)
Next Steps
- Explore Core Concepts to understand NKAs in depth
- Learn about the Bounty Marketplace
- Review API Reference for all program instructions
- Check Frontend Integration for custom integrations
NullGraph is currently deployed to Solana Devnet. All transactions use test tokens and devnet SOL. No real value is at risk.