// Bounties — open paper-bounties: anyone funds drafts, reviewers claim // after review, only the editor releases on publish or cancel. function BountyRail({ active }) { return ( <>
BOUNTIES · OVERVIEW
$418K
open · 184 papers
); } function BountiesDapp() { return ( }> Bounties · Open} title="Paper bounties" sub="Anyone can fund a bounty on a draft to attract reviewers and accelerate review. Reviewers claim after a signed review. Only the assigned editor releases payment — on publish, or refunds it on cancel." actions={<> Filter · 12 Following · 22 Fund a bounty } />
{/* KPIs */}
{/* Lifecycle banner */}
BOUNTY LIFECYCLE
{[ { n: '1', t: 'DRAFT · funded', sub: 'Anyone can add UBR / USDC. Pool grows until review opens.', col: UB.accent, who: 'Anyone' }, { n: '2', t: 'UNDER REVIEW · claimable', sub: 'Reviewers stake reputation, write & sign a review, attach claim.', col: 'oklch(0.66 0.13 240)', who: 'SBT REVIEWER' }, { n: '3', t: 'PUBLISHED · release', sub: 'Editor signs release. Pool splits across signed reviewers + author.', col: UB.ok, who: 'SBT EDITOR' }, { n: '4', t: 'CANCELLED · refund', sub: 'Editor or 2/3 funders. Pro-rata refund minus reviewer-paid portion.', col: UB.warn, who: 'EDITOR · 2/3 funders' }, ].map((s, i, arr) => (
{s.n}
{s.t}
{s.sub}
{s.who}
))}
{/* Filters */}
STATE {['All · 184', 'Draft · accepting · 92', 'Under review · 56', 'Released · 28', 'Cancelled · 8'].map((c, i) => ( {c} ))} Sort: {['Largest pool', 'Closing soon', 'Most-funded'].map((d, i) => {d})}
{/* Featured cards */}
{[ { state: 'DRAFT · ACCEPTING', stateTone: 'accent', title: 'Astrocytic GAT-3 modulators preserve LTP under chronic inflammation', authors: 'Harriot M., Lin C., Park S. · Glia Init.', funders: 84, pool: '$4,210', goal: '$8,000', progress: 0.52, ts: '14d active · funding closes when editor opens review', cta: 'Add funds · UBR/USDC', }, { state: 'UNDER REVIEW · CLAIMABLE', stateTone: 'info', title: 'A reproducibility-weighted index for systems-neuroscience replications', authors: 'Tanaka M., Osei J. · MIT', funders: 142, pool: '$8,420', goal: '$8,420 · capped', progress: 1.0, ts: '3 of 4 reviewers signed · 6d to bid window close', cta: 'Claim · stake REVIEWER SBT', }, { state: 'PUBLISHED · RELEASE PENDING', stateTone: 'ok', title: 'Open imaging benchmark for two-photon glia kinetics', authors: 'Open Glia Consortium · 12 authors', funders: 312, pool: '$22,420', goal: 'released by editor', progress: 1.0, ts: 'editor t.alvarez.eth signs in 2d · auto-release fallback', cta: 'View release schedule', }, ].map((c, i) => (
{c.state} {c.funders} funders
{c.title}
{c.authors}
{c.pool} {c.goal}
{c.ts}
{c.cta}
))}
{/* Big table */}
PaperStatePoolReviewersFundersEditor
{[ { t: 'GAT-3 modulators · LTP under inflammation', s: 'DRAFT', st: 'accent', pool: '$4,210', rev: '0 / 0', fnd: 84, ed: '—', act: 'Fund' }, { t: 'Reproducibility-weighted index · sys-neuro', s: 'REVIEW', st: 'info', pool: '$8,420', rev: '3 / 4', fnd: 142, ed: 't.alvarez', act: 'Claim' }, { t: 'Open imaging benchmark · 2-photon glia', s: 'PUBLISHED', st: 'ok', pool: '$22,420', rev: '4 / 4', fnd: 312, ed: 't.alvarez', act: 'Release' }, { t: 'Tau aggregation inhibitor · seedless screen', s: 'DRAFT', st: 'accent', pool: '$1,840', rev: '0 / 0', fnd: 36, ed: '—', act: 'Fund' }, { t: 'Senolytic small-molecule · selectivity panel', s: 'REVIEW', st: 'info', pool: '$3,180', rev: '1 / 3', fnd: 64, ed: 'k.olsen', act: 'Claim' }, { t: 'mRNA scaffold · cold-chain stability', s: 'REVIEW', st: 'info', pool: '$1,420', rev: '2 / 3', fnd: 28, ed: 'k.olsen', act: 'Claim' }, { t: 'Off-target Crispr filter · in-silico → in-vitro', s: 'PUBLISHED', st: 'ok', pool: '$11,840', rev: '4 / 4', fnd: 218, ed: 'a.shah', act: 'Release' }, { t: 'BCI electrode array · long-term stability', s: 'DRAFT', st: 'accent', pool: '$420', rev: '0 / 0', fnd: 14, ed: '—', act: 'Fund' }, { t: 'Photonic adder · sub-fJ logic', s: 'REVIEW', st: 'info', pool: '$6,180', rev: '1 / 3', fnd: 92, ed: 'r.gupta', act: 'Claim' }, { t: 'Microbiome diagnostic · ROC curves on cohort C', s: 'CANCELLED', st: 'warn', pool: '$1,140', rev: '0 / 3', fnd: 22, ed: 'a.shah', act: 'Refund' }, ].map((r, i, arr) => { const cta = r.act === 'Fund' ? Fund : r.act === 'Claim' ? Claim · stake : r.act === 'Release' ? {r.ed === 't.alvarez' ? 'Release' : 'View'} : View refund; return (
{r.t} {r.s} {r.pool} {r.rev} {r.fnd} {r.ed} {cta}
); })}
{/* Editor release queue + your funded */}
{[ { paper: 'Open imaging benchmark · 2-photon glia', pool: '$22,420 USDC · pool', state: 'PUBLISHED 2d ago', auto: 'auto-release in 2d', split: [['4 reviewers', '$13,452', 0.60], ['Author wallet', '$5,605', 0.25], ['Reviewer pool · TRID', '$2,242', 0.10], ['Protocol fee', '$1,121', 0.05]], }, { paper: 'Off-target Crispr filter · in-silico → in-vitro', pool: '$11,840 USDC · pool', state: 'PUBLISHED 6d ago', auto: 'auto-release in 8h', split: [['4 reviewers', '$7,104', 0.60], ['Author wallet', '$2,960', 0.25], ['Reviewer pool · TRID', '$1,184', 0.10], ['Protocol fee', '$592', 0.05]], }, ].map((r, i, arr) => (
{r.paper} {r.state}
{r.pool} · {r.auto}
{r.split.map((s, j) => (
{s[0]} · {(s[2] * 100).toFixed(0)}% {s[1]}
))}
Cancel · refund all Sign & release
))} {[ ['GAT-3 modulators · LTP', '$1,400', 'DRAFT', 'accent', '+$0 expected'], ['Reproducibility-weighted index', '$2,200', 'REVIEW', 'info', 'pending'], ['Open imaging benchmark', '$840', 'PUBLISHED','ok', '+$268 due in 2d'], ['Tau aggregation inhibitor', '$420', 'DRAFT', 'accent', '+$0 expected'], ['Senolytic selectivity panel', '$1,840', 'REVIEW', 'info', 'pending'], ['mRNA scaffold · cold-chain', '$240', 'REVIEW', 'info', 'pending'], ['Off-target Crispr filter', '$1,180', 'PUBLISHED','ok', '+$378 due in 8h'], ['Microbiome diagnostic', '$300', 'CANCELLED','warn', '+$300 refunded'], ].map((r, i, arr) => (
{r[0]} {r[1]} {r[2]} {r[4]}
))}
); } window.BountiesDapp = BountiesDapp;