🚀 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

🔧 SDKs & Tools

🤝 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.