본문으로 건너뛰기

Sponsor Marketplace

Pharmaceutical companies, CROs, biotech firms, AI companies, universities, and NGOs can create data programs, fund patient compensation, and access aggregate compliance data — all without ever seeing individual patient records.

TypeTypical Use CaseData Interest
PharmaDrug development, post-market surveillanceMedication response, adverse events, biomarkers
CROClinical trial feasibility, site selectionPatient demographics, condition prevalence
BiotechTarget validation, companion diagnosticsGenomic data, molecular biomarkers
AI CompanyTraining diagnostic/predictive modelsMedical imaging, clinical text, wearable signals
UniversityEpidemiological research, population healthLongitudinal health records, survey data
NGOGlobal health initiatives, rare disease registriesUnder-served population data, treatment access

Program Creation Flow

Sponsor → Create Program → Define Requirements → System Generates Commitments → Program Goes Live

1. POST /api/SponsorPrograms
├── title, description, category
├── promisedAnnualUsd (per patient)
├── budgetCommitted (total)
├── termMonths
└── requirements[] (with hidden thresholds)

2. For each requirement:
├── requirementKey: "weekly_glucose"
├── dataCategory: "vitals" (patient sees this)
├── patientInstruction: "Submit your glucose readings" (patient sees this)
├── dataType: "glucose_mg_dl" (oracle-only)
├── threshold: 180 (oracle-only, HIDDEN)
├── comparator: 1 (LTE = must be ≤ 180)
└── frequency: "weekly"

3. System generates:
├── Poseidon(salt, dataType, threshold, comparator) → commitment
├── Stores commitment publicly (patients can verify it exists)
└── Stores threshold encrypted (oracle decrypts at evaluation time)

What Patients See vs. What's Hidden

Visible to PatientHidden from Patient
"Submit your activity data"Threshold: ≥ 5,000 steps
"Submit your vitals weekly"Threshold: systolic ≤ 140
"Submit glucose readings"Threshold: fasting 70–130 range
Commitment hash (0x1a2b...)Salt, threshold, comparator
Data categoryData type (internal key)
FrequencyExact evaluation logic

Funding & Escrow

Sponsors fund programs through Stripe Connect escrow:

Budget States:
committed → deposited → spent
$50,000 $25,000 $8,340

Program Funding Status:
seeking_sponsor → partially_funded → fully_funded
(0% deposited) (1-99%) (100% of projected need)

Funding Formula

Total Needed = promisedAnnualUsd × maxParticipants × (termMonths / 12)

Example:
$120/yr × 500 patients × 2 years = $120,000 total needed
Deposit $30,000 → partially_funded (25%)
Deposit $90,000 more → fully_funded (100%)
Early Bird Economics

Programs in seeking_sponsor status still accept patient enrollments. These early enrollees earn a 1.5x multiplier because they took the risk of contributing before funding was guaranteed. When funding arrives, their promised credits convert to real payouts first.

Sponsors access an aggregate-only dashboard. Individual patient data is never exposed.

Available Metrics

MetricDescriptionPrivacy Level
Active participantsCount of enrolled patientsAggregate
Average complianceMean compliance score across all enrolleesAggregate
Fulfillment rate% of submissions that pass oracle verificationAggregate
Total submissionsCount of all blind submissions receivedAggregate
Geographic breakdownCountry-level counts (opt-in)Country-level
Budget committed/deposited/spent/remainingFinancial trackingSponsor-only
Total credits earned/paid/pendingCredit conversion trackingAggregate

What Sponsors Cannot See

  • Individual patient identities
  • Raw health data values
  • Individual compliance scores
  • Specific requirement thresholds that were missed
  • Patient location beyond country level
  • Data commitment contents (Poseidon hashes only)

API Reference

Create Program

POST /api/SponsorPrograms
Authorization: Bearer {token}
Content-Type: application/json

{
"title": "Type 2 Diabetes Glucose Monitoring",
"description": "Real-world glucose response data...",
"category": "chronic_condition",
"promisedAnnualUsd": 120,
"budgetCommitted": 50000,
"termMonths": 12,
"maxParticipants": 500,
"organizationName": "Acme Pharma",
"sponsorType": "pharma",
"requirements": [
{
"requirementKey": "weekly_glucose",
"dataCategory": "vitals",
"patientInstruction": "Submit your weekly glucose readings",
"frequency": "weekly",
"dataType": "glucose_mg_dl",
"threshold": 180,
"comparator": 1
}
],
"targetCountries": ["US", "GB", "NG", "TH", "IN"]
}

Fund Program

PATCH /api/SponsorPrograms/{programId}/fund
Authorization: Bearer {token}

{
"amount": 25000,
"stripePaymentIntentId": "pi_3abc..."
}

Get Dashboard

GET /api/SponsorPrograms/{programId}/dashboard
Authorization: Bearer {token}

Response:
{
"program": { "id": "...", "title": "...", "currentParticipants": 127 },
"budget": { "committed": 50000, "deposited": 25000, "spent": 8340, "remaining": 16660 },
"compliance": { "averageScore": 84, "totalSubmissions": 1847, "fulfillmentRate": 78 },
"geographic": { "US": 45, "NG": 31, "TH": 22, "GB": 18, "IN": 11 },
"credits": { "totalEarned": 12450, "totalPaid": 8340, "pendingConversion": 4110 }
}

Future: Sponsor Marketplace Discovery

Planned features for a public sponsor marketplace:

  • Program templates: Pre-built requirement sets for common conditions
  • Competitive bidding: Multiple sponsors bid on the same dataset
  • Data licensing: Perpetual royalty model (patients earn when model generates revenue)
  • Cross-program analytics: Aggregate insights across multiple programs
  • Regulatory compliance packages: HIPAA/GDPR-ready program templates
  • Diversity goals: Auto-adjust pricing to fill geographic representation gaps