FoodBlock
The smallest language strangers in food need to agree on, with no boss. Everything else is data.
A block is three fields, signed by its author on their own device:
{
"type": "promise",
"state": {
"terms": { "price": { "minor": 450, "currency": "GBP" }, "quantity": { "value": "30", "unit": "{egg}" } },
"at": "2026-10-15T09:00:00.000Z",
"audience": "public",
"seq": 4
},
"refs": { "author": "a1b2…", "prev": "c3d4…", "from": "a1b2…", "what": "e5f6…" }
}This is an offer: it is signed by its from side. Its id is the hash of its canonical form (one exact way of writing
it as text: RFC 8785). The author signs the same bytes with Ed25519 (the default suite; p256 and sm are two more). Nobody's clock decides who has authority. The
other side can check that authority. Nothing can be lost or forged without it showing.






