The forum

No moderators, no karma. Standing is a Brier score.

Every forum ranks by something. Reddit ranks by votes, which measures agreement. Twitter ranks by engagement, which measures provocation. Both are trivially farmed, because the thing being measured costs nothing to produce.

Here, the ranking input is a public, resolved, out-of-sample forecasting record. You cannot farm it, because producing it requires being right about the future, in advance, repeatedly, on the record.

Listings of the first onchain stock options exchange

A symbol becomes tradable on the exchange the moment a price adapter for it is ratified. That is what makes "any listed stock" a real claim rather than a slogan, and it is why adapter authorship is open to anyone rather than decided by a committee. Open the terminal.

Status, read this first

The forum is not built. This page is its design, published before implementation so it can be argued with. The protocol engine, the scoring and the explorer are real and running today; the forum is the next project. Nothing below describes software you can currently use.

Architecture

Federated, so nobody can delete the board

Built on Nostr

Posts are signed events relayed across independent servers. Your identity is a secp256k1 keypair you hold, not an account we issue. If every relay we run disappeared tomorrow, the board would still exist, which is the same property the record itself has, applied to the conversation about it.

We will run relays. So can you. No relay operator, including us, can remove a post from the network, only decline to carry it, at which point clients read it from somewhere else.

Ranking is client-side, and that is the point

The client fetches posts from relays and the calibration record from the public log, then computes the ranking locally. There is no ranking server to capture, bribe or subpoena. Two clients with the same data produce the same order, and anyone can verify the ordering themselves, the Stage 0 property, applied to discourse.

event, prior-linked post
{
  "kind": 30402,           // parameterised replaceable
  "pubkey": "<author secp256k1>",
  "created_at": 1789...,
  "tags": [
    ["d",      "thread:nvda-q3-guide"],
    ["prior",  "<commitment hash>"],
    ["epoch",  "241"],
    ["claim",  "NVDA.gm.guide"]
  ],
  "content": "...",
  "sig": "<schnorr>"
}

──────────────────────────────────────

the prior tag is what makes this
different from any other forum:

  a post may cite a commitment the
  author sealed before the outcome.

  the client verifies the inclusion
  proof against the anchored epoch
  root, locally, before it renders
  the badge.

  an uncited opinion is still allowed.
  it just carries no weight.

Standing

The same maths that weights the pool weights the board

No separate reputation system. Forum standing reuses the aggregation weight exactly, because inventing a second reputation currency is how you get a second thing to farm.

standing
wᵢ = [max(0, skillVsBaselineᵢ)]^γ · ( nᵢ / (nᵢ + n₀) ) · ( 1 − ρᵢ )   n₀ = 100

A new keypair has zero standing

Not low standing, zero. The shrinkage term is n/(n+100), so a fresh identity with no resolved record contributes nothing regardless of how confidently it posts. Sybil resistance is inherited from the record, not from Nostr.

Negative skill clips to zero, never inverts

A reliably wrong forecaster is not a contrarian signal. Inverting noise produces noise. They keep posting; the posts simply carry no weight, and their record stays visible.

Herding is penalised

ρ is the mean pairwise correlation of log-odds. A bloc that always agrees is downweighted toward being one participant, which is what it actually is.

Dispute committees come from here

Seats are sampled per dispute, weighted by skill on that specific claim class. Because records are soulbound, a seat cannot be bought, only earned, slowly, in public, in the domain being disputed. The protocol bootstraps its own adjudication from the thing it measures.

What this does not solve

The shotgun attack: register many identities, forecast randomly, surface the lucky one. Shrinkage and market-relative scoring raise its cost substantially but do not eliminate it. Proof-of-uniqueness is not solved in general, and we are not claiming to have solved it. This is risk #2 on the roadmap.

Why a community is structurally necessary

If five employees could do it, a token just buys a chat room

A real community comes from work only a distributed group can do. There are exactly three such jobs here.

  1. Adapter authorship. Every claim class needs domain knowledge no core team has, release calendars, revision policies, corporate-action quirks. A semiconductor engineer writes the fab-utilisation adapter; a freight dispatcher writes the spot-rate adapter. The protocol's value scales with how much of the economy it can express claims about, and no core team can cover that. This is the protocol's package ecosystem.
  2. Resolution attestation. Independent operators signing the same observation. This must be distributed or the core claim, a record nobody can edit, is simply false.
  3. Agent authorship. Open competition on one board, identical scoring, author earns attributable revenue. The leaderboard is the marketing.

Cold start

50 adapter bounties, paid in dollars

Named, specific, scoped. This turns the cold-start bottleneck into paid, parallel work, and paying in USD rather than tokens attracts domain experts instead of speculators. That selection effect is the entire point.

What a bounty looks like

bounty · open
id          adapter/eia.ng.storage
source      EIA weekly natural gas storage
fields      net_change, total_working_gas
quirks      revisions land 2 weeks later;
            the adapter must pin the
            vintage, not the latest value
bond        required, slashable
shadow      90 days resolving in public
bounty      USD, on ratification
then        fee share to the author, ongoing

Bootstrap sequence

WhenWhat
0–3moForecasting tournament. No brokerage, no token, nothing at risk. Competitive forecasters already do this free, and the corpus takes calendar time to exist, so start the clock first
1–6mo50 adapter bounties in USD, named and specific
3–9moAgent competition, real prize money, held-out claim set. Cheap, high-signal, builders bring audiences
6–12moPublish everything that failed. Technical credibility comes from negative results. This audience checks
12mo+Open the resolvers, then the adapter registry

Handing control to a population that exists works. Handing it to one you hope will exist does not.

The first thousand

Not retail traders

The wedge is people who already forecast for status and get paid nothing for it. Prediction-market and superforecasting communities. Quantitatively minded finance people who post publicly. Domain specialists who already argue about outcomes in their field. Identifiable, reachable, and currently unmonetised.


Health metrics

The left column is hard to fake. The right column is what most projects report.

DimensionHealthyVanity
Adaptersdistinct authors, low dispute ratetotal count
Forecastersshare reaching Established (200+ resolved)registrations
ResolversHerfindahl index of resolution shareoperator count
Corpusaggregate skill vs market, out-of-samplepriors submitted
Demandpaying institutionsDiscord members

The single most important number

The share of forecasters reaching a statistically meaningful record. A corpus of 100,000 people with twelve priors each is worth approximately nothing, the Wilson interval on twelve resolved claims is so wide that the record carries no information at all.

One thing we will not do

No points programme, no implied airdrop

This is not a style preference. For this protocol a points programme is actively destructive: farmers submit noise, and noise poisons the calibration corpus, which is the only asset the protocol has.

Every other project can survive low-quality participation as dead weight. Here it contaminates the product itself.