Skip to main content

factbond

Bonded assertions and information insurance for factual claims — a mechanism design for attaching economic guarantees ("someone will pay if this is wrong") to millions of ordinary facts: opening hours, database entries, knowledge-graph edges.

Status: design stage, first code 2026-09-19. The design documents are the substance; the code is the assertion primitive's consumer-facing edge and the procedure around it:

  • contracts/Assertions.sol: assert with a bond at a stated confidence, with a challenge window, a ruling window and, optionally, the key the claim concerns; dispute at the odds the confidence sets; certify by timeout; concede; a ruling in which the loser pays the adjudicator's fee and nothing more; an arbiter as the final rung, first rulings held for appeal at the doubled stake, a reversal forfeiting the first rung's deposit; a lapsed rung's case moving up with the stakes held, since only a ruling moves money. A consumer contract is told hold(subject) and resolve(subject, outcome), the latter isolated so that no consumer can block a close. Built for loopmarket's escrow, whose contested claims it adjudicates (docs/plans/loopmarket-coupling.md §3b; the cross-repo gate is loopmarket's tests/test_escrow.py). On Gnosis at 0x3c1B4C944398bcc30890d6A6c78f1F9AA2dFe270 since 2026-09-29 (the source above, with an arbiter; test amounts only — both rungs are the operator's keys), the resolver loopmarket's escrow 0xddDB7276F705671673F0885aEf93B99b890Eb5A9 reservations may name. Since 2026-10-01 loopmarket's default resolver is one named arbitrator both sides accept, whose ruling is final; this bonded ladder is the option for higher stakes among strangers;
  • factbond.assertions, the client; factbond.policy, evidence policy as data (per-domain documents, one rule per claim type, a named and bonded final rung required at load); factbond.procedure, the adjudicator's checks before the merits (labels refused, the notice step for a claim on a reservation, ex parte after a notified silence) and the ruling record; factbond.ledger, the calibration ledger's views from events alone (the loss view, the adjudicator view, never a count);
  • the Phase-0 simulation harness (factbond.sim, v0), which runs exploratory cells, models a controlled fact as covered only by its controller's warranty or a surety, and refuses a scored run until the pre-registration block is filled; the go/no-go it computes (docs/DESIGN.md §10) still gates the insurance product.

CLAUDE.md maps what is built to the plans; CHANGELOG.md has the detail. On PyPI: pip install factbond.

Decided 2026-09-25 with loopmarket and the assurance drafts: docs/plans/credentials-cover-and-options.md (the cross-repository plan for credentials, cover and options: what factbond's assertions, evidence policy, ledger and reserve carry for them) and docs/plans/assertion-extensions.md. Compliance with any jurisdiction's law is the makers' concern; the standard the design holds itself to is good commercial practice (loopmarket's docs/plans/commercial-practice-review.md).

The idea in one paragraph

Prediction markets cannot scale down to millions of mundane, near-certainly- true statements: every bet needs a matched counterparty, full-notional collateral locked for the claim's lifetime (the "99-cent problem"), and a mandatory settlement even when nobody ever disagreed. The right primitive for that regime is the bonded assertion (the optimistic-oracle pattern): one party posts a claim backed by a bond sized to the cost of adjudication, not the value at stake; the whole world is the latent counterparty during a challenge window; undisputed claims certify by timeout for free; and the expensive machinery — evidence, adjudication, real price discovery — spins up only on the ~1% of claims where someone actually disagrees, which is exactly where the information value lives. On top of that sits the consumer product, information insurance: the person (or AI agent) about to act on a fact buys a cheap hedge against it being wrong — which couples verification demand to consumption, pays exactly the right person to discover each error, and makes the pool's quoted premium a market-priced reliability signal for every fact, without anyone betting on most of them.

Documentation

  • docs/USER-GUIDE.md — how to use what is built: the life of a claim and its money, deploying, the client, writing a consumer, evidence policy, the adjudicator's procedure, the ledger's views, the simulation harness.
  • ROADMAP.md — what is built, what is next, and what waits on a decision.
  • docs/DESIGN.md — the design: why markets fail at this scale, the bonded-assertion primitive, odds-weighted bonds, the insurance coupling, the five-layer architecture, the claim lifecycle, capital pools, build order, and the two hardest open problems.
  • docs/INTEGRATION.md — how factbond composes with the sister stack: ontodag as the claim layer and netting fragment, recordstore/Swarm for evidence and proofs, and loopmarket as the first structured consumer (its P3 "guarantee fabric" is this design).
  • docs/prediction-markets-transcript.pdf — the founding discussion (Peter Földiák with Claude, 2026; also at https://claude.ai/share/2d3c2fe8-adfc-4c01-8f36-ff3ab29baf6d), from which DESIGN.md is distilled. Where the two disagree, the transcript is the record of the discussion and DESIGN.md is the current position.

Origin

The starting ideas (bets on facts rather than future events; capital efficiency; batching; bets embedded in a knowledge graph) are Peter Földiák's, developed in discussion with Daniel A. Nagy — whose observation about capital lock-up on near-certain claims (the 99-cent problem) shapes much of the design — and, following the ETHPrague 2026 prediction-markets workshop, with Krzysztof Paruch (Token Engineering Labs) and Mark B Richardson (Bancor). The synthesis and the architecture sketch come from the transcript above.

Honest scope

Even a perfect version of this system does not certify truth. It certifies "nobody found it profitable to dispute this, under a specific adjudication procedure, at current bond and subsidy levels" — which is genuinely more than most databases offer today, and the design documents are careful to keep the distinction explicit throughout.

Metadata

Release files for factbond 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for factbond 0.2.1
File Size Uploaded Provenance Actions
factbond-0.2.1.tar.gz 69.7 kB With provenance Details for factbond-0.2.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for factbond 0.2.1
File Interpreter ABI Platform Actions
factbond-0.2.1-py3-none-any.whl Python 3 none any Details for factbond-0.2.1-py3-none-any.whl

Total release size: 125.4 kB

Release files / factbond-0.2.1.tar.gz

Download URL factbond-0.2.1.tar.gz
Size 69.7 kB
Tags Source
SHA-256 checksum
How to use checksums
df00dc7d05daa70c5bb969070dd5fe256b0453aafbc91e017f7340106b6ad95e
BLAKE2b-256 checksum
How to use checksums
dbd8fb40ef2c355542980066cfed29dfc47f9e47a5fda619059bed0df3673e13
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / factbond-0.2.1-py3-none-any.whl

Download URL factbond-0.2.1-py3-none-any.whl
Size 55.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d1f629ffcb0aa050d00c12ea6bb2d8f7ef9e26f0cb627d9a399a47aab9b6eaf7
BLAKE2b-256 checksum
How to use checksums
7829f6b9f6e10e49a5935916a7fc3ba7becd5fd4482186b597cc3fac44a7a201
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Security for factbond 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for factbond-0.2.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page