The HOP Optimisation Protocol

v0.1 (Character Blocks, Inventory Universe, embedding search, mutex postings, intra-chain sink) + v0.2 (want declaration, divest posting, matchmaker agent, free-transfer settlement) · §2.1 Supply-Side Coordination, §4.2 Inventory Universe, §4.3 Vector-Space Proximity, §5 Agent Architecture, §3 Character Blocks (provenance)

Connecting the Halves

Connecting the Halves

You bought something expensive, large, and inconvenient, and now you do not need it. Selling it means photographing it, writing a description, guessing a price, fielding tyre-kickers, and arranging a handover — enough friction that most such things are simply kept, or thrown away. HOP asks one thing of you instead: keep a list of what you want and a list of what you would let go. Agents that already know what other people want do the rest — finding the person who needs exactly your thing, even when neither of you would have described it the same way. Waste falls out of the economy because matching it back in finally costs less than discarding it.

The situation

The second-hand economy is enormous and mostly fails to happen. The value is real — a usable thing in one person’s garage is exactly the thing someone three suburbs over is about to buy new — but the friction of listing, searching, and trusting exceeds the payoff for most goods, so usable things get stored until they are forgotten, or binned. The mattress, the exercise bike, the chest freezer, the surplus server, the half-roll of insulation, the kiln bought for one project. Landfill is the path of least resistance because every other path costs an afternoon.

Three structural failures sit underneath this.

Search cost. To sell, you must guess the words the buyer will type. To buy, you must guess the words the seller used. Keyword classifieds put the entire matching burden on two humans writing and reading prose at each other across a search box. Most viable matches never form, because the two descriptions never meet. The seller wrote “1200W bench PSU”; the buyer searched “power supply for laser cutter”; the match was there and the strings missed.

The lemons problem. Akerlof’s 1970 result is that a second-hand market with no way to verify quality collapses toward the worst plausible item: buyers discount for the risk of a dud, good sellers can’t get a fair price, good items leave, the average quality falls, and the discount deepens. The missing primitive is provenance — a trustworthy account of what the thing is and what it has been through. Platforms substitute their own escrow and ratings for it, and clip a margin for doing so.

The halves. A whole class of trades never forms because no keyword search spans what I have and what you lack. Someone has a thing useless without its complement; someone else has the complement. A controller for a console that was scrapped. A part for a discontinued model. A left-hand version of a right-hand thing. The workshop parting out a dead machine has the exact component that keeps another workshop’s machine alive — and neither lists it, because itemising a scrap machine is not worth anyone’s afternoon.

The thing you no longer need and the person who needs it both exist. The substrate does not connect them.

The example

Someone over-provisions: a short rack of compute, or a chest freezer, or a kiln — expensive, large, inconvenient, and suddenly surplus to a plan that changed. They will not deal with selling it. Photographing a rack, writing a spec sheet, pricing it against a thin and confusing used market, and vetting strangers is more work than the rack is worth to them in cash, so it sits.

Three suburbs over, someone is looking for exactly that — but searching the wrong words, or not searching at all, because they assumed it was out of reach at new prices and never thought to look used.

And the halves: a fabrication shop is parting out a machine it has written off. One module on it is the precise component another shop needs to keep an identical machine running for another five years. The component is worth four figures to the second shop and is currently bound for scrap, because itemising it costs more attention than the first shop has to spare.

None of these three trades happens today. All three are a vector query apart.

What HOP does

Five steps. Each is a real protocol operation against the participant’s chain and a marketplace Workchain, not a metaphor.

1. What you own is already on your chain

The Inventory Universe (§4.2) is a standing dimension of every Skillchain — physical assets, hardware, credentials, what you own and have access to. When you acquire the thing, a Character Block can record it: a receipt, a delivery confirmation, a build log. That block is the provenance spine the second-hand market has always lacked.

{
  "block_type": "attestation",
  "content_hash": "sha256:0b4e…",
  "inventory": {"kind": "chest_freezer", "model": "model_class_X",
                "serial_hash": "sha256:9c1d…", "condition": "as_new"},
  "context": {"acquired": "2026-02", "service_history": "none_required"},
  "signatures": {"worker_signature": "ed25519:…",
                 "poster_signature": "ed25519:<retailer>"},
  "prev_block_hash": "sha256:55af…"
}

2. You keep two lists — that is the whole interface

A divest declaration (things you would let go — with a price, or free) and a want declaration (things you are looking for). Both are lightweight signed blocks. A want is a growth-shaped declaration of intent (§3.3) pointed at acquisition rather than skill; a divest is a posting to a marketplace Workchain — which is exactly HOP’s native shape, since the protocol is supply-side: it broadcasts “here is a thing — who has a use for it?” and lets demand find it through gradient matching (§2.1). You do not write a listing. You name the thing; your agent embeds it.

{ "block_type": "divest",
  "subject": "sha256:0b4e…",
  "terms": {"price": 0, "mode": "give_away"},
  "inventory": {"kind": "chest_freezer", "condition": "as_new"} }

{ "block_type": "want",
  "target": {"kind": "freezer", "capacity_min_l": 300, "budget_max": 200},
  "radius_km": 25 }

3. Matchmaker agents walk the tree

A matchmaker agent — a Skill-Agent variant (§5.1) — embeds your wants and walks the global supply of divest postings, surfacing matches by vector proximity (§4.3) rather than keyword. This is the agents who already know what people want doing the work. The embedding bridges the description gap: the seller’s “1200W bench PSU” and the buyer’s “power supply for the laser cutter” sit near each other in the space even though no string is shared. The halves connect the same way — a want vector (part Y for model Z) lands next to a divest vector (parting out model Z, components available) with no shared keyword at all. The agent proposes; you approve. Matching is bilateral, the same shape as the mentorship matcher (§5.1): a trade forms when both sides’ agents surface the other near the top of their respective lists.

4. Trust travels with the thing

The provenance graph (§3) plus the inverted reputation geometry (§4.2, §14) is what dissolves the lemons problem. The item’s Character Block carries its attested history — who owned it, signed condition reports, service records, prior sale blocks. The buyer’s agent reads that bloodline before the handover. A second-hand market with verifiable provenance does not collapse toward the worst item, because good items can prove they are good and command a fair price; the bad item cannot fake a clean history it never had. This is the load-bearing reason this is a HOP materialisation and not merely a classifieds app: the trust that platforms rent out as escrow is here a property of the data, and it is portable — it does not evaporate when you leave the marketplace, because it lives on the item’s chain, not the platform’s.

5. It settles — paid or free

The match is a mutex posting (§2.6): the first qualified claimer locks it, both parties sign, and the handover proceeds against a cryptographic mutex that cannot be revoked underneath them. Price can be set, negotiated, or zero — a giveaway forms the want/divest match exactly the same way; only the settlement leg is free. On a paid trade, the small intra-chain transaction fee (§6.2) funds the marketplace commons; a free transfer carries none. Ownership transfers as a Character Block: the buyer’s Inventory Universe gains the asset with its full provenance intact, ready to be re-divested again later. Circularity is the default state, not a special effort — the thing keeps its bloodline through every owner.

What’s different

  • Waste falls out of the economy because matching costs less than discarding. The friction that kept usable things out of the second-hand market — write a listing, guess the keywords, vet a stranger, run the escrow — is absorbed by agents working over a signed inventory graph. The marginal cost of offering a thing to the entire network drops to add a line to your divest list. Below that cost, the circular economy stops being a virtue people opt into and becomes the path of least resistance.
  • Halves find halves. An entire class of trades that no keyword market could ever form — complementary inventory held by strangers who would never describe it the same way — now forms, because the matching is geometric rather than lexical.
  • Provenance kills the lemons problem without a platform clipping a rent for it. Per the No-Free-Clip principle (§1.6, P3), a platform cannot extract a margin for trust it does not actually provide; here the trust is provided by attested provenance and portable reputation, both of which the participant carries on their own chain. The escrow rent is competed away.
  • You maintain two lists. That is all. Everything else — embedding the lists, walking the tree, surfacing the match, locking the mutex, transferring the provenance block — is protocol the agent already runs for work-matching. The second-hand economy turns out to be the work-matching engine pointed at objects instead of tasks.

Why this is impossible today and tractable in HOP

Keyword markets put matching on humans. Two people must write and read prose at each other and hope the strings collide. HOP puts matching on agents working over embeddings, so the want and the have meet in vector space rather than in a search box — and complementary halves meet even with no shared word.

The lemons problem needs portable, attested provenance, and platforms structurally cannot provide it. A platform’s reputation is non-portable by design — leave eBay and you lose your history — which is exactly the lock-in the Forking Rule (§6.7) dissolves. In HOP the item’s provenance and the participant’s reputation live on chains they control (§4.1) and travel with them, so trust survives leaving any particular marketplace.

Two lists is genuinely all the human does. The protocol already runs every other step for matching work to workers. Re-pointing it at objects requires no new market machinery — only the two declaration block-types and a matchmaker variant of the Skill-Agent.

What’s in v0.1 and what’s pending

In v0.1, today — works in the Python reference implementation:

  • The Inventory Universe on the Skillchain (§4.2), with assets recorded as Character Blocks
  • Attested condition and ownership history via signed blocks and derived_from / prior-sale references (§3)
  • Embedding-space search across postings (§4.3)
  • Mutex postings and the first-acceptance handshake (§2.6, §5.2)
  • The intra-chain transaction sink that funds the marketplace commons (§6.2)

Pending v0.2:

  • The want declaration and divest posting as first-class lightweight block types (proposed in the concerns log, §J.14)
  • The matchmaker agent — a Skill-Agent variant that hunts the divest supply against an owner’s want list, bilateral in the §5.1 sense
  • The free-transfer settlement path (a zero-price mutex that emits no intra-chain fee)

Pending v0.3:

  • Logistics integration: the handover or shipping leg posted as its own sub-bead, so the courier is matched by the same engine
  • A standardised condition-attestation schema per category, so “as new” means the same thing across sellers and a third-party inspector can co-sign the condition block

A v0.1 implementer could ship a single-category, single-region instance — say, lab and workshop equipment in one city — with manual postings and embedding-matched search, in roughly a month, and most of the trust layer comes for free from v0.1 primitives wired together. The want/divest auto-matcher and the free-transfer path are the v0.2 build. The provenance-trust layer is what makes it more than a classifieds clone, and it is mostly assembly, not new cryptography.

See also

  • The sibling materialisation03 Training Data with a Lineage — the same matching-and-provenance engine, pointed at data instead of objects
  • The underlying frameworkPaying the Bees for Honey (bees-for-honey/, Brendan) — the circular economy as anti-evaporation: pulling value back into circulation instead of letting it melt into landfill
  • The trust failure this dissolves — Akerlof (1970), The Market for Lemons — quality uncertainty collapses a market; attested provenance is the missing primitive
  • The spec primitives this uses§2.1 Supply-Side Coordination, §4.2 Inventory Universe, §4.3 Vector-Space Proximity, §5 Agent Architecture, §3 Character Blocks, §6.2 The Three Sinks