// DAO Tokens — invest in research DAOs that, post-patent or product, generate revenue. // 3 screens: directory, DAO detail, my holdings + active proposals. function DAORail({ active }) { return ( <>
DAO HOLDINGS
$84,210
▲ +$1,420 · +1.71% 24h
8 DAOs 3 voting
); } function DAOCrumb({ items }) { return (
{items.map((it, i) => ( {it} {i < items.length - 1 && } ))}
); } const DAOS = [ { sym: 'GLIA', name: 'Glia Initiative DAO', cat: 'Neuroscience', members: 1840, treas: '$14.2M', mark: 1.84, d24: '+2.4%', mc: '$84M', rev: '$1.2M', stage: 'PRODUCT', tone: 'accent' }, { sym: 'AGEX', name: 'AgeX Longevity DAO', cat: 'Longevity', members: 4210, treas: '$42.4M', mark: 2.42, d24: '+5.1%', mc: '$240M', rev: '$3.4M', stage: 'PATENT', tone: 'accent' }, { sym: 'OPENVAX',name: 'OpenVax Cooperative', cat: 'Open biotech', members: 2840, treas: '$22.1M', mark: 0.94, d24: '+1.4%', mc: '$94M', rev: '$2.1M', stage: 'PRODUCT', tone: 'accent' }, { sym: 'NEURO', name: 'NeuroTwin DAO', cat: 'Neuroscience', members: 1420, treas: '$8.4M', mark: 0.62, d24: '−0.8%', mc: '$22M', rev: '$0', stage: 'RESEARCH', tone: 'ok' }, { sym: 'CRSPR', name: 'OpenCrispr Foundation', cat: 'Open biotech', members: 3120, treas: '$28.2M', mark: 1.42, d24: '+3.2%', mc: '$140M', rev: '$0.8M', stage: 'PATENT', tone: 'accent' }, { sym: 'FUSION', name: 'Fusion Commons DAO', cat: 'Climate', members: 980, treas: '$11.4M', mark: 0.34, d24: '+11%', mc: '$18M', rev: '$0', stage: 'RESEARCH', tone: 'ok' }, { sym: 'PV+', name: 'Open Photovoltaics', cat: 'Climate', members: 1240, treas: '$6.8M', mark: 0.48, d24: '+0.6%', mc: '$24M', rev: '$0.4M', stage: 'PATENT', tone: 'accent' }, { sym: 'GUTOM', name: 'Microbiome Open DAO', cat: 'Open biotech', members: 820, treas: '$3.4M', mark: 0.22, d24: '+2.0%', mc: '$8M', rev: '$0.1M', stage: 'PRODUCT', tone: 'accent' }, { sym: 'AISCI', name: 'AI for Science DAO', cat: 'AI · science', members: 5840, treas: '$18M', mark: 1.18, d24: '+0.4%', mc: '$140M', rev: '$0', stage: 'RESEARCH', tone: 'ok' }, { sym: 'PHAGE', name: 'PhageBank Cooperative', cat: 'Open biotech', members: 412, treas: '$2.1M', mark: 0.42, d24: '+8.2%', mc: '$6.4M', rev: '$0.2M', stage: 'PATENT', tone: 'accent' }, { sym: 'COMM', name: 'Open Materials Commons', cat: 'Climate', members: 1820, treas: '$9.4M', mark: 0.58, d24: '+1.1%', mc: '$22M', rev: '$0', stage: 'RESEARCH', tone: 'ok' }, { sym: 'TRIAL', name: 'Decentralized Trials DAO',cat: 'Open biotech', members: 612, treas: '$4.4M', mark: 0.84, d24: '−1.4%', mc: '$14M', rev: '$0.6M', stage: 'PRODUCT', tone: 'accent' }, ]; // ─────────────────────────────────────────────── DIRECTORY ─────────────────── function DAOTokensDapp() { return ( }> } title="Research DAO directory" sub="Every research DAO with a token on UB-Chain. Once a DAO ships a patent or a product, its token earns a programmable cut of revenue. Invest before that point, hold through it." actions={<>
{Icon.search} Search DAO · category · contract
Alerts · 12 Launch your DAO } />
{/* Top KPIs */}
{/* Filters */}
FILTER {['All · 184', 'Product stage · 56', 'Patent stage · 78', 'Research · 50', 'Paying revenue · 38', 'Top movers'].map((c, i) => ( {c} ))} Category: {['Longevity', 'Neuro', 'Open bio', 'Climate', 'AI · sci', 'Public'].map((d, i) => ( {d} ))}
{/* Featured row */}
{[ { sym: 'AGEX', name: 'AgeX Longevity DAO', thes: 'Senolytic small molecule · 2 patents granted, 1 in commercial pilot.', mark: '$2.42', d24: '+5.1%', members: 4210, rev: '$3.4M' }, { sym: 'GLIA', name: 'Glia Initiative DAO', thes: 'Astrocyte modulators · GAT3-LTP shipped to BMS for $120K + 6%.', mark: '$1.84', d24: '+2.4%', members: 1840, rev: '$1.2M' }, { sym: 'OPENVAX', name: 'OpenVax Cooperative', thes: 'mRNA scaffold IP-NFT, 4 paid licensees, 200K-dose run completed.', mark: '$0.94', d24: '+1.4%', members: 2840, rev: '$2.1M' }, ].map(d => (
{d.sym.slice(0, 2)}
FEATURED
{d.name}
${d.sym} · {d.members.toLocaleString()} members
{d.thes}
MARK
{d.mark}
24H
{d.d24}
REV TTM
{d.rev}
Read thesis Buy ${d.sym}
))}
{/* Full table */}
SymbolDAO · categoryStageMembersMark24hMkt capTreasuryRev TTM
{DAOS.map((d, i) => (
${d.sym}
{d.name}
{d.cat}
{d.stage} {d.members.toLocaleString()} ${d.mark.toFixed(2)} {d.d24} {d.mc} {d.treas} {d.rev} Buy
))}
+ 172 more · scroll to load
); } // ────────────────────────────────────────────────────── DAO DETAIL ─────────── function DAOTokenDetailDapp() { return ( }> } title="$AGEX · AgeX Longevity DAO" sub="A senolytic-discovery DAO with two granted patents and a commercial pilot underway. 4,210 members, $42.4M treasury, $3.4M TTM revenue paid through the contract." actions={<> Charter · whitepaper Watchlist Buy $AGEX · $2.42 } />
{/* Left column */}
{[40, 80, 120].map(y => )} {(() => { const pts = []; for (let i = 0; i <= 60; i++) { let v = 150 - i * 1.4 + Math.sin(i * 0.4) * 12; if (i > 22) v -= 14; // patent grant bump if (i > 42) v -= 18; // pilot bump pts.push(v); } let d = `M 0 ${pts[0]}`; let f = `M 0 ${pts[0]}`; pts.forEach((y, i) => { const x = (i / 60) * 600; d += ` L ${x} ${y}`; f += ` L ${x} ${y}`; }); f += ` L 600 180 L 0 180 Z`; return <>; })()} {[ [220, 'patent #1 granted', 78], [330, 'NIH grant · $4.2M', 60], [420, 'commercial pilot', 38], [540, 'BMS license · $480K', 22], ].map(([x, l, y], i) => ( {l} ))}
Mark
$2.42
24h
+5.1%
Mkt cap
$240M
FDV
$420M
Holders
4,210
AgeX exists to industrialise senolytic discovery: small molecules that selectively eliminate senescent cells implicated in age-related disease. The DAO has assembled a 14-member discovery pipeline — using its own AI hypothesis agent — that has shipped two granted USPTO patents, with a third in examination. Revenue is generated by license-back arrangements with pharmaceutical partners and direct-to-consumer assays produced by the DAO's wet-lab subsidiary.
{['Senolytic', 'Discovery agent', '2 granted patents', 'BMS · pilot', 'NIH-funded', 'AAA · audit'].map(t => {t})}
{/* Donut placeholder */}
{(() => { const segs = [ { v: 0.42, c: UB.accent }, { v: 0.22, c: UB.ink }, { v: 0.16, c: 'oklch(0.66 0.13 240)' }, { v: 0.10, c: UB.ok }, { v: 0.06, c: UB.warn }, { v: 0.04, c: UB.ink3 }, ]; let acc = 0; return segs.map((s, i) => { const start = acc * 2 * Math.PI; acc += s.v; const end = acc * 2 * Math.PI; const x1 = 70 + Math.cos(start - Math.PI / 2) * 60; const y1 = 70 + Math.sin(start - Math.PI / 2) * 60; const x2 = 70 + Math.cos(end - Math.PI / 2) * 60; const y2 = 70 + Math.sin(end - Math.PI / 2) * 60; const large = end - start > Math.PI ? 1 : 0; return ; }); })()} TVL $42.4M
{[ ['USDC', '$17.8M', '42%', UB.accent], ['UBR', '$9.3M', '22%', UB.ink], ['$AGEX (treasury)', '$6.8M', '16%', 'oklch(0.66 0.13 240)'], ['Patent tokens · own', '$4.2M', '10%', UB.ok], ['stETH', '$2.5M', '6%', UB.warn], ['Other · 8 assets', '$1.7M', '4%', UB.ink3], ].map((r, i) => (
{r[0]} {r[1]} {r[2]}
))}
{[ { id: 'AIP-118', t: 'Allocate $4.2M to senolytic library expansion', votes: { yes: 0.74, no: 0.18, abst: 0.08 }, ends: '3d 14h', tone: 'accent' }, { id: 'AIP-117', t: 'License GAT3-LTP from Glia Initiative DAO', votes: { yes: 0.62, no: 0.24, abst: 0.14 }, ends: '6d 02h', tone: 'ok' }, { id: 'AIP-116', t: 'Hire 4 wet-lab postdocs · 18-month contracts', votes: { yes: 0.81, no: 0.10, abst: 0.09 }, ends: '8d 04h', tone: 'accent' }, { id: 'AIP-115', t: 'Quarterly revenue distribution · $0.42 / token', votes: { yes: 0.91, no: 0.04, abst: 0.05 }, ends: '12d 06h', tone: 'accent' }, ].map((p, i, arr) => (
{p.id} ENDS {p.ends}
{p.t}
YES {(p.votes.yes * 100).toFixed(0)}% NO {(p.votes.no * 100).toFixed(0)}% ABST {(p.votes.abst * 100).toFixed(0)}% quorum 412 · 84% reached
))}
{/* Right column */}
{['MARKET', 'LIMIT'].map((m, i) => {m})}
YOU PAY
2,500 USDC
balance · 18,420 USDC
YOU RECEIVE
1,033.0 $AGEX
1 $AGEX = $2.42 · slippage 0.4%
RouteUBP-AMM v1
Network fee$0.02 · 0.0014 UBR
Vestingnone · liquid
Confirm purchase
$AGEX captures revenue at three checkpoints. You earn on each, in proportion to tokens held.
{[ ['1', 'Patent grant', '6% of any license royalty', 'CURRENT', UB.ok], ['2', 'Pilot pay-out', '$0.42/token quarterly while pilot runs', 'AIP-115', UB.accent], ['3', 'Product ship', '14% of net wholesale margin', 'EST. Q4 2025', 'oklch(0.66 0.13 240)'], ].map((s, i) => (
{s[0]}
{s[1]}
{s[2]}
{s[3]}
))}
{[ ['t.kim.eth', 'PI · senolytic discovery', '★ 0.94'], ['s.park.eth', 'Co-PI · chem', '★ 0.91'], ['agex-twin.eth', 'AI agent · hypotheses', '★ 0.86'], ['a.ortega.eth', 'CRO ops · pilot', '★ 0.82'], ['+ 10 more', 'researchers · ops', ''], ].map((m, i) => (
{m[0]}
{m[1]}
{m[2]}
))}
{[ ['Code audit · OpenZeppelin', 'PASS', 'ok'], ['Treasury audit · Llama', 'PASS', 'ok'], ['Reproducibility · CzBiohub','PASS', 'ok'], ['Litigation flags', '0', 'ok'], ['Token concentration', '0.62 G', 'warn'], ].map((r, i) => (
{r[0]} {r[1]}
))}
); } // ────────────────────────────────────────────── MY HOLDINGS + VOTES ────────── function DAOHoldingsDapp() { const holdings = [ { sym: 'AGEX', units: 12400, basis: 1.10, mark: 2.42, vp: 1240, votes: 14, status: 'voting · AIP-118' }, { sym: 'GLIA', units: 18400, basis: 0.42, mark: 1.84, vp: 1840, votes: 22, status: 'co-founder · 18.4%' }, { sym: 'OPENVAX',units: 4200, basis: 0.62, mark: 0.94, vp: 420, votes: 8, status: 'voted · AIP-204' }, { sym: 'CRSPR', units: 1800, basis: 0.94, mark: 1.42, vp: 180, votes: 4, status: 'lp · pool A' }, { sym: 'AISCI', units: 2400, basis: 0.84, mark: 1.18, vp: 240, votes: 2, status: 'voting · AIP-014' }, { sym: 'PHAGE', units: 8400, basis: 0.18, mark: 0.42, vp: 840, votes: 6, status: 'pre-token · vesting' }, { sym: 'PV+', units: 3200, basis: 0.42, mark: 0.48, vp: 320, votes: 1, status: '—' }, { sym: 'NEURO', units: 1400, basis: 0.78, mark: 0.62, vp: 140, votes: 0, status: 'underwater · −20%' }, ]; return ( }> } title="My DAO holdings" sub="Eight DAOs you've invested in, with vesting schedules, voting power, and active proposals you can vote on right now." actions={<> Statement · Q2'25 Pending votes · 3 Find more DAOs } />
{/* KPIs */}
{/* Holdings */}
SymbolStatusUnitsBasisMarkP/LVoting pwr
{holdings.map((h, i) => { const value = h.units * h.mark; const cost = h.units * h.basis; const pl = value - cost; const plpct = (pl / cost) * 100; return (
${h.sym} {h.status} {h.units.toLocaleString()} ${h.basis.toFixed(2)} ${h.mark.toFixed(2)} = 0 ? UB.ok : UB.bad }}> {pl >= 0 ? '+' : ''}${Math.round(pl).toLocaleString()} · {plpct >= 0 ? '+' : ''}{plpct.toFixed(0)}% {h.vp} · {h.votes} votes
); })}
{/* Pending votes — your priority queue */} {[ { dao: 'AGEX', id: 'AIP-118', t: 'Allocate $4.2M to senolytic library expansion', stance: null, ends: '3d 14h', vp: 1240 }, { dao: 'AISCI', id: 'AIP-014', t: 'Open-source the AISCI hypothesis-agent weights', stance: 'YES', ends: '6d 02h', vp: 240 }, { dao: 'GLIA', id: 'GIP-042', t: 'Reduce reviewer-pool fee from 3% to 2%', stance: null, ends: '8d 18h', vp: 1840 }, ].map((p, i, arr) => (
${p.dao} · {p.id} ENDS {p.ends}
{p.t}
your VP · {p.vp} {p.stance ? ( VOTED · {p.stance} ) : ( <> Abstain No Yes )}
))}
{[ ['$AGEX · founder grant', '8,400', '14m left', 0.42], ['$PHAGE · pre-token', '8,400', '6m left', 0.78], ['$GLIA · co-investigator','5,600','22m left', 0.18], ].map((v, i) => (
{v[0]} {v[1]} units · {v[2]}
))}
{Array.from({ length: 12 }).map((_, i) => { const x = i * (320 / 12) + 4; const w = (320 / 12) - 6; const h = 8 + Math.sin(i * 0.6) * 6 + i * 1.6; return ; })}
Average · $265 / mo · primary source: AGEX pilot pay-out
1,420
voting power · across 8 DAOs
Your raw token VP is 1.0×. TRID adds 0.42× because of your reproducibility κ and active reviewing record.
{[ ['Tokens held', '1.0×'], ['Reviewer record', '0.18×'], ['Reproducibility', '0.14×'], ['Continuous holding ≥ 6m', '0.10×'], ].map((r, i) => (
{r[0]} {r[1]}
))}
); } window.DAOTokensDapp = DAOTokensDapp; window.DAOTokenDetailDapp = DAOTokenDetailDapp; window.DAOHoldingsDapp = DAOHoldingsDapp;