The FoodBlockProtocol.

One primitive. Three fields. Every food interaction on earth.

The primitive.

id = SHA-256(type + state + refs)

Every food system in history has failed to interoperate because each one invented its own data model. FoodBlock compresses the entire domain into three fields. That compression is what makes universal adoption viable for the first time: a protocol rigorous enough for a multinational supply chain is also simple enough that a reasoning AI can write a valid block from a sentence of plain English. The market stall trader and the logistics operator speak the same grammar.

actor

Who is in the system. Every participant (farmer, maker, venue, courier, inspector, agent) needs an identity that other blocks can reference. Without this, there is no authorship and no trust graph.

place

Where things happen. A field, a kitchen, a warehouse, a market stall. Location is not optional metadata, it is the ground truth that connects food to the land it came from.

substance

What moves through the system. An ingredient, a product, a surplus batch. The thing that a provenance chain is ultimately about: what it is, where it started, how it changed.

transform

How one thing becomes another. Wheat becomes flour becomes bread. Each step is a block that references what came before, making the chain of custody traversable from any endpoint.

transfer

How value moves between participants. An order, a payment, a delivery, a gift. The economic layer of the protocol: the record that makes trade auditable without a central ledger.

observe

What one participant says about another. A certification, a review, a sensor reading, a trust signal. Observation is how the system learns what is true beyond what participants declare about themselves.

Infrastructure.

Every industry that coordinates at scale has a shared data standard underneath it. Banking has SWIFT. The web has HTTP. Healthcare has HL7. What each has in common is that the protocol is not owned by any participant, it is the neutral substrate on which all participants compete.

SWIFT
Banking
HTTP
Web
GS1
Logistics
HL7
Healthcare
FoodBlock
Food

A shared format lets systems built by different organisations, in different countries, with different technologies, interoperate without asking permission. No central authority to route through. No platform that extracts rent for connecting buyer to seller. The grammar is public. The infrastructure belongs to everyone who uses it.

Content-addressed identity.

A block's identifier is derived deterministically from its content. Any modification changes the hash. Every record is tamper-evident by construction, not by access control.

Tamper-evident

Change a single character in a block and the hash changes entirely. There is no way to alter the historical record without producing a block with a different identity, which every peer in the network will reject.

Offline-valid

Hashing requires no network connection. A fisherman at sea, a farmer in a valley with no signal: both can generate cryptographically valid, signed blocks and sync them the moment connectivity returns. The record is intact either way.

Globally unique without a registry

Two actors generating the same block independently produce the same hash. No central authority assigns IDs. No coordination is required. The identifier emerges from the content itself.

Provenance.

Every FoodBlock can carry refs that point to other blocks. Follow them backwards and you reconstruct the full history of anything in the system: the chain of custody, block by block, each one signed and tamper-evident, back to the origin. A loaf of bread points to the baking, which points to the flour, which points to the mill, which points to the certification that said the grain was what the farmer claimed it was.

Bread (substance.product)
  <- Baking (transform)
    <- Dough (transform)
      <- Flour <- Mill <- Certification
      <- Water <- Location
    <- Starter
      <- 14 days of fermentation

The emergence of trust.

A signed lie remains a lie. Cryptography establishes who said what and when. It cannot establish whether it is true. Trust must be inferred from the wider pattern of conduct recorded in the graph over time.

1
Authenticity
Cryptographic
Signature proves WHO created the FoodBlock.
2
Authority
Registry
Known authority public keys pre-installed.
3
Economic Proof
Sybil Resistance
Real payments = real interaction. Weight trust by financial history.
4
Temporal Validity
Decay
Certifications expire. Trust scores check timestamps.
5
Contextual Trust
Relevance
Trust is per-type, not global. A great baker might be a terrible caterer.

Governance.

No single entity can own the standard through which an economy records its food data.

01
Open source, MIT licence
The specification and all reference implementations are public, permissively licensed, and available to anyone. No permission is required to implement FoodBlock.
02
Federated by design
FoodBlock is federated like email. Operators run their own servers and exchange blocks with peers. There is no central authority that can deny access or revoke participation.
03
Participant data stays participant capital
Producers, venues, and makers own the blocks they create. No platform intermediary accumulates a proprietary copy of an industry's operational history and uses it as leverage.
04
Natural-language entry lowers the floor
Any AI system that understands natural language can produce standards-compliant FoodBlocks. Small producers with no technical staff are not excluded from the shared record.

Agent infrastructure.

Autonomous agents are first-class actors in the FoodBlock protocol.

1
Registration
actor.agent
Agents register as actor.agent FoodBlocks with Ed25519 keypairs and scoped capabilities.
2
Permissions
capabilities[]
Scoped by block type, amount caps, auto-approve thresholds, and rate limits.
3
Draft → Approve
two-phase commit
Low-value actions auto-approve. High-value actions queue for human confirmation.
4
Event Subscriptions
pub/sub
Subscribe to block type patterns. New blocks trigger handlers in real-time.
5
Memory
observe.preference
Preferences and learned state stored as append-only observe.preference blocks.

The rules.

01
A FoodBlock is a JSON object with three fields: type, state, refs.
02
id is derived from content. Same content = same hash.
03
FoodBlocks are append only. Never edit, only create new.
04
State updates ref the previous version: refs: { updates: previous_hash }.
05
Genesis FoodBlocks (no updates ref) establish entity identity.
06
The base type determines the refs schema; subtypes inherit it.
07
Authentication: { foodblock, author, sig }. Signature proves authorship.
08
Encrypted state: keys prefixed with _ are access-controlled.
09
Any system that understands the 6 base types can process any FoodBlock.
10
The protocol is open. Anyone can create FoodBlocks, no registration needed.
11
App-specific state lives in a namespaced type. Core types model the real world.

Status.

Model (3 fields, 6 types)
Complete
Hash determinism
Complete
Content-addressed identity
Complete
Trust computation
Complete
Cryptographic signing
Complete
Encryption
Complete
Selective disclosure (Merkle)
Complete
Agent registration & permissions
Complete
Agent draft/approve lifecycle
Complete
Agent memory & learning
Complete
Vocabularies (14 built-in)
Complete
Templates (9 built-in)
Complete
Federation & discovery
Complete
Merge & conflict resolution
Complete
Tombstone & GDPR erasure
Complete
Snapshots & attestation
Complete
Natural language entry (fb())
Complete
SDKs (JS, Python, Go, Swift)
Complete
MCP server (AI agents)
Complete
OpenAI & Gemini integration
Complete
Whitepaper v1.2
Complete
Technical spec v0.5
Complete