BLUZAR
A verification layer for private company data
Whitepaper v1 · September 2026
Abstract
Private markets and public markets are converging into one market. One market cannot run on unverifiable claims. Public companies have GAAP, audits, and a filing record; private companies have press releases, broker quotes, and numbers that stack on each other with no key and no age. BLUZAR is the verification layer underneath that convergence. Every fact about a private company becomes a claim with a key, a source, a state, and an age; claims are published daily as content addressed snapshots and their Merkle root is attested on Base. Verified data is free. Analysts and agents build on it with something at stake, and a reward formula pays for the facts that were missing.
1. The problem
Two supercycles are arriving at once: the supercycle of tokenization, and the supercycle of agents and other new participants entering the market. Both need the same thing public markets already have, a shared record of what is known about an asset, by whom, from where, and how old it is. Private markets have no such record. A valuation vendor prints a number, a press article repeats it, a second vendor cites the article, and the page shows three sources for one fact.
The hardest part is not the wrong claim, which a contradicting source exposes. It is the absent claim: the revenue nobody can verify, the cap table nobody publishes. A wrong claim is a presence problem. A missing claim is an absence problem, and absence is what every verification product quietly hides behind an estimate. BLUZAR shows it as Unlit, with a bounty.
2. The ladder
Every claim carries one of five states, assigned by rule.
- Proven. zkTLS proof at the source verified by two attestors, or a signed API response from the source. Not shipped; no row has earned it.
- Corroborated. Two independent sources that cannot see each other agree within tolerance. Two articles quoting one release are one source.
- Synced. Pulled from a primary filing, register, or chain, with the document hash and reference.
- Declared. One named source: self reported, press, or estimate.
- Unlit. No permissionless source exists. Shown as a count and a bounty, never as a placeholder.
Three invariants. Anchoring never promotes: an attestation fixes what was seen and when, not whether it is true. A filing parse is Synced, never Proven, even when a fiduciary signed under penalty. A number moves only when an input lands; there are no synthetic ticks.
3. Six objects, nothing else
Entity. A company, fund, firm, person, venue, public company, or macro series. Has a BLZR id, a type, aliases, external ids (CIK, LEI, Companies House number, Form D file number, ticker), and a DNA (section 7).
Source. Where a fact came from: source class (filing, register, venue page, onchain, proof, report, press, social, podcast, analyst, macro), publisher, locator, fetch method, hash of the raw bytes, fetch time.
Claim. One fact about one entity. Key = (entity, field, unit, period, source class). Value, unit tag (share class, instrument, currency), state, depth, as of date, source id, evidence hash, attestation UID, contributor key, version. A new version supersedes; old versions stay in history. Nothing stacks.
Link. A typed edge: holds, invested, competes, supplies, employs, lists, marks, mentions, affects. Affects carries a sign, a lag, and a weight.
Signal. An event that may change a claim: a filing, a mark, a quote move, odds, a news item, a transcript passage, a macro release. Four scores and an admission decision (section 6).
Assertion. An opinion with something at stake: a range, a call, a challenge. Carries the posting key, the claim UIDs cited, the stake, the horizon, and the resolution.
4. The pipeline
Every collector runs the same nine steps.
- Fetch and hash. Proof of fetch on web pages.
- Extract with spans: which bytes support which value. One document, one question per pass, never a summary.
- Resolve to an entity: external id first, then name plus a second key (jurisdiction, address, domain, alias). Confidence stored. Below 0.9 the page says "matched by name, unconfirmed." SPVs resolve to a vehicle with a holds link, never to the target.
- Classify to a rubric field, a unit tag, and a source class. Unknown fields wait in quarantine.
- Key and supersede. Same key, same source class: new version. Same key, different source class: second claim, independence test runs.
- State by rule (section 2).
- Score signals (section 6).
- Recompute price, momentum, sphere, and fund metrics.
- Anchor (section 5). Corrections log entry for every changed value.
Postgres holds the working state. No table is ever truncated. Every table carries created_at, source_id, version, and a hash.
5. Published truth and anchoring
The database is never what a reader trusts. Each day the engine exports one file per entity, data/published/<entity_id>.json, holding the latest claim per key with value, state, source locator, evidence hash, attestation UID, and age. Pages render only from those files.
Daily: a Merkle root over the published files is attested on Base through the Ethereum Attestation Service (schema UID 0x382e9448b0a66da972e72296ea0b662039f7bb62087a2027448bae79e111163d), leaves are pinned to IPFS, and the root is logged to Sigstore. A reader downloads the snapshot, recomputes the hashes, and checks the root on chain. The daily root is the audit trail; the corrections log is the change history.
6. The signal model
Signals never change a claim directly. They propagate through links with a weight and a lag, and they reach a page only through an analyst or agent that admits and cites them.
Four scores, each 0 to 1.
relevance: direct mention 1.0, one hop 0.6, two hops 0.3, weighted by link confidence materiality: N-PORT mark 1.0, Form D 1.0, odds move over 10 points 0.7, headcount delta over 10% 0.6, transcript passage naming the entity 0.5, macro release 0.4 × affects weight, press rumor with no number 0.1 novelty: 1.0 if no claim or admitted signal carries the same fact in the period, else 0 verifiability: primary 1.0, proof of fetch 0.7, named publisher 0.4, anonymous 0.1 admit if relevance × materiality × novelty × verifiability > 0.15, or if the signal is itself a primary source
Admitted signals appear as cards with the admitting key. Dropped signals stay in the log.
Worked example one: the jobs report. The BLS release lands as a macro claim on "US nonfarm payrolls, information sector," with an affects link to the sector "software and AI services" (positive sign, one quarter lag, weight 0.3). Anthropic links to that sector. Relevance 0.3 (two hops), materiality 0.4 × 0.3 = 0.12, novelty 1.0, verifiability 1.0. Product 0.036, below threshold. No card on Anthropic's page. The release appears in the momentum context line and is available to any model that consumes macro inputs. If an agent's revenue range moves because of it, the agent's card cites the release. Macro reaches a company only through a model that names it.
Worked example two: a Google earnings transcript. Fetched from investor relations with proof of fetch, hashed. Passage one: the CFO states the size and carrying value of the Anthropic investment. That is a claim, entity Anthropic, field valuation mark, unit Google's stake, source class public company filing, Synced because the transcript and the 10-Q agree and both are primary. Passage two: a comment on Gemini pricing against Claude. That is a signal: relevance 1.0, materiality 0.5, novelty 1.0, verifiability 1.0, admitted, card with the passage and the transcript hash. Agents subscribed to competitor signals on Anthropic rerun. The page moves only if their ranges move, and the ranges cite the transcript UID.
7. DNA and the sphere
DNA(e) is the set of rubric fields that apply to entity e, computed daily from its type, links, and claims. A Delaware C corp with priced rounds gets round and class fields; a company held by mutual funds gets mark fields; a company with public repos gets code fields; a European company gets register revenue fields. A young company has about 12 fields, Anthropic about 40.
Doors are DNA fields, laid out in fixed sectors by category (marks, funding, revenue, team, technology, cap table, traction). Door color is the state of the latest claim on the field. Yellow marks the door being viewed.
weight(state): Proven 1.0, Corroborated 0.8, Synced 0.6, Declared 0.2, Unlit 0 decay(claim) = max(0.5, 1 − age_days / refresh_period(field)) score(e) = Σ over f in DNA(e) of weight(state(f)) × decay(f), divided by |DNA(e)|
Brightness is the score. The number is never printed. A company with five Synced fields out of five scores 0.6 and glows brighter than one with forty fields half Declared. Version string dna-1. A formula change is a version bump and a new test vector, never a silent edit.
Price and momentum are computed from marks only, with depth and age on every input. Version mom-1, range −1 to 1.
8. Rewards: credits now, alpha later
Contribution reward, paid on acceptance:
R_claim = base(field) × state_multiplier × novelty × rarity base(field) from the published table (409A 50, print 80, headcount proof 20) state_multiplier: Proven 1.0, Corroborated 0.6, Synced 0.3, Declared 0 novelty: 1.0 if the field was Unlit or stale, 0.3 if it refreshes a current claim rarity: 1 + fraction of the universe where the field is Unlit
First valid submission for a key is paid. Later identical submissions get zero. Copying pays nothing.
Assertion reward, paid on resolution against a Proven or Synced claim only:
score = baseline_loss − assertion_loss, proper scoring rule (CRPS for ranges, pinball for quantiles) R_assertion = stake × max(0, score) × horizon_multiplier, capped at 3 × stake baseline: last mark carried forward
Below baseline pays nothing and the stake is held one more period. Repeated below baseline forfeits.
Challenge: the challenger posts a bond equal to the poster's stake. If a Proven or Synced claim overturns the challenged claim within the window, the challenger takes the bond and the stake. Otherwise the challenger's bond goes to the poster.
Reputation: rep(t) = α × score(t) + (1 − α) × rep(t − 1), α = 0.1. Early correct calls compound; one bad call does not erase a record. A key flagged as compensated by the subject entity is excluded from that entity's assertions.
Rewards are paid in credits today. When the subnet exists, credits convert one to one to alpha, the contribution reward becomes mechanism 0, the assertion reward mechanism 1, challenges mechanism 2, and the 18% owner take funds the company. Nothing in the formulas changes.
Subnet conditions (v1, to be confirmed): the daily job runs seven consecutive days unattended; at least one Proven row exists through two attestors; the scoring spec is public and at least one assertion has resolved and paid; the universe reaches 7,000 entities with at least Form D rows each.
9. Business model
The verified data is free, the way a map or an encyclopedia is free. Revenue comes from three places on top of it.
- Tokenized LP interests and share verification. Tokenizing LP interests in private companies, or the shares or assets directly, and charging on that. The verified page is the prospectus that never goes stale.
- The analyst layer. Human analysts and AI agents evaluate companies over verified facts, with stakes, scored records, and a token that pays for being right.
- A proprietary API for enterprises and funds: claims with proofs, signals, assertions, fund metrics, every response carrying UIDs. Read is REST and MCP; write needs a key and, where the rule requires, a stake.
The free layer is the acquisition. Tokenization and the API are the monetization.
10. What is on file
As of September 8 2026: 178,758 entities from SEC Form D quarterly datasets (2021 Q1 to 2026 Q2) with 711,590 claims; N-PORT fund marks by share class (Fidelity marks Anthropic Series D preferred at $622.94 per share); 13F holdings for Atreides Management LP and Situational Awareness LP; 661 published entity files. Coverage widens one collector at a time: GLEIF, Companies House and EU registers, job boards, prediction markets, public venue quotes with proof of fetch, earnings transcripts three years back for related listed companies, Hacker News, and a curated X account list. Every source enters through the same nine steps and none promotes above Synced.
11. Roadmap
Shipped in this order: schema, Form D collector, resolution, claim key, state rules, corrections log, published export, daily anchoring, the Anthropic page from the engine, N-PORT, 13F, daily prices, signals feed.
Next: sphere DNA on every page; the /news scroll; fund pages with Form D size and vintage; the analyst rows; the BLUZAR X poster with an approval queue for two weeks then a cap of 8 posts a day, every post citing a claim UID or page URL.
Not shipped, stated plainly: the Proven state and both attestor paths; venue quotes with proof of fetch; Certificate of Incorporation pulls; staked assertions; /ask citing claim UIDs; fund performance rows (Unlit with bounty until a public pension report lands); the subnet.
Parked during the September 8 to 10 build: nothing as of September 8. The list is copied from the build log at each integration round and published on the About page.
12. Open formulas
The sphere formula, the reward formula, the state rules, and the resolution rules each have a version string and a golden test vector in the repository. A formula change is a version bump. A reader can rerun every score in this document against the published snapshot.
BLUZAR · September 2026