🚀 Overview
GenoBank is a comprehensive Web3 platform for genomic data management, offering 310+ API endpoints across 9 specialized microservices. Built on blockchain technology with Story Protocol integration, it enables secure ownership, sharing, and monetization of biological data.
🛠️ Microservices
GenoBank's architecture consists of specialized microservices, each handling specific aspects of genomic data processing:
Main API
165 endpoints
Core platform functionality including biosample management, file storage, user authentication, and blockchain operations.
BioIP Registry NEW
17 endpoints
Tokenize biological data as IP assets on Story Protocol with PIL licensing and DICOM medical imaging support.
VCF Annotator
33 endpoints
Comprehensive variant annotation using OpenCRAVAT with automatic tokenization and expert curation.
AlphaGenome
10 endpoints
DeepMind's AlphaMissense predictions for variant pathogenicity scoring and visualization.
Clara/Parabricks
24 endpoints
GPU-accelerated FASTQ to VCF pipeline using NVIDIA Clara Parabricks on AWS.
SOMOS DAO
38 endpoints
Ancestry analysis with health, nutrigenomics, and pharmacogenomics add-on packages.
Newborn/Trio
45 endpoints
Family trio analysis for genetic disease detection with consent management.
Claude AI AI
23 endpoints
AI-powered genomic analysis with specialized agents for bioinformatics tasks.
DNA And Me
5 endpoints
Consumer genomics analysis similar to 23andMe with SNP fingerprinting.
🔐 Authentication
All GenoBank APIs use Web3 signature authentication. Users sign a message with their wallet and pass the signature as a parameter.
Standard Authentication Flow
// 1. User signs message with wallet
const message = "I want to proceed";
const signature = await wallet.signMessage(message);
// 2. Use signature in API calls
const response = await fetch(`https://genobank.app/api_endpoint?user_signature=${signature}`);
// 3. API recovers wallet address from signature
// and scopes all operations to that wallet
GET
/recover?signature={signature}
Verify signature and recover wallet address
Important Notes
- Always use
user_signature parameter (not user_sign or user_token)
- Signatures must start with "0x" (Web3 format)
- Never send Magic JWT tokens to API endpoints
- All data is scoped by wallet address for security
📝 Your First Request
Let's make your first API call to GenoBank. We'll retrieve public biosample data:
1. Public Endpoint (No Auth Required)
// Get all public biosamples
curl https://genobank.app/biosamples
// Response:
{
"biosamples": [
{
"serial": "55052008714000",
"owner": "0x5f5a60Ea...",
"status": "ACTIVE",
"type": "genomic"
}
]
}
2. Authenticated Endpoint
// JavaScript example with ethers.js
const provider = new ethers.providers.Web3Provider(window.ethereum);
const signer = provider.getSigner();
const signature = await signer.signMessage("I want to proceed");
// Make authenticated request
const response = await fetch(
`https://genobank.app/get_my_uploaded_file_list?user_signature=${signature}`
);
const files = await response.json();
3. Upload Genomic Data
// Upload VCF file for annotation
const formData = new FormData();
formData.append('user_signature', signature);
formData.append('file', vcfFile);
formData.append('gift_code', 'DEMO2024');
const response = await fetch('https://genobank.app/api_vcf_annotator/post_register_user', {
method: 'POST',
body: formData
});
⛓️ Story Protocol Integration
GenoBank tokenizes biological data as IP assets on Story Protocol mainnet, enabling programmable licensing and royalty distribution.
Active Collections
| Collection |
Address |
Purpose |
| VCF Files |
0x19A615224D03487AaDdC43e4520F9D83923d9512 |
Genomic variants |
| Medical Imaging |
0x5021F7438ea502b0c346cB59F8E92B749Ecd74B5 |
DICOM files |
| AlphaGenome |
0x88Ed5b47ea8f609Ee14ac60968C3f76f9138a171 |
AI predictions |
| Ancestry |
0x7fB09610594a2952144B5cADbD47972684dEfA86 |
Heritage data |
PIL License Types
- Non-Commercial Social Remixing - 0% royalty, academic use
- Commercial Use - 10% royalty for commercial products
- Commercial Remix - 15% royalty for derivatives
- Research AI Training - 20% royalty for AI/ML training
💾 S3 Storage Architecture
All biological files are stored in S3 before blockchain tokenization, ensuring data integrity and availability.
Storage Patterns
# BioIP Registry
production/users/{wallet_address}/bioip/{registration_id}/
# VCF Annotator
production/users/{wallet_address}/VCF_ANNOTATOR/{timestamp}/
# AlphaGenome
production/users/{wallet_address}/alphagenome_results/{job_id}/
# Clara/Parabricks
production/users/{wallet_address}/clara_vcf/{timestamp}/
# SOMOS DAO
production/somos/{wallet_address}/
# Newborn/Trio
production/users/{wallet_address}/newborn/family_{family_id}/
Key Principle: Every blockchain claim is backed by actual data in S3.
💡 Common Use Cases
Upload and Tokenize Genomic Data
POST
/api_bioip/register_bioip
const formData = new FormData();
formData.append('user_signature', signature);
formData.append('file', vcfFile);
formData.append('license_type', 'research_ai_training');
const response = await fetch('https://genobank.app/api_bioip/register_bioip', {
method: 'POST',
body: formData
});
// Returns IP asset ID and IPFS metadata
Analyze VCF with AI
POST
/api_alphagenome/register_analysis
const response = await fetch('https://genobank.app/api_alphagenome/register_analysis', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
user_signature: signature,
vcf_file_path: 's3://bucket/path/to/file.vcf',
phenotype: 'cancer predisposition'
})
});
// Monitor job progress and get AI predictions
Get Ancestry Analysis
GET
/api_somos_dao/get_results
const response = await fetch(
`https://genobank.app/api_somos_dao/get_results?user_signature=${signature}`
);
const ancestryData = await response.json();
// Returns ancestry percentages and geographic origins
🤝 Support & Resources
📌 For AI Assistants: This documentation is optimized for AI consumption. Use the structured markdown files in the /api, /infrastructure, and /quickstart directories for detailed technical information. All endpoints follow consistent patterns with user_signature authentication and wallet-based data scoping.