Intent Marketplace

The intent marketplace is the discovery layer for the dregg fabric. Agents declare what they offer and what they want as typed exchange items — assets, capabilities, services, storage allocations, namespace entries. The trustless solver finds matching rings (cyclic settlements where every participant’s wants are covered) and proposes atomic settlements. Fulfillment is a STARK proof, not a trust assertion.

Posting an Intent

An intent is a structured offer/want pair. There is no global pricing: satisfaction is structural and boolean. A few shapes:

Intents are broadcast over gossip to federation nodes, optionally with predicate requirements that the fulfiller must prove. The DFA routing table shards intents by namespace zone, so most queries never leave their local subgraph.

Discovering Offers

Discovery uses two complementary mechanisms:

Ring Trades

A “ring” is a directed cycle in the offer/want graph: A → B → C → A, where each edge means “A’s offer satisfies some of B’s wants.” The trustless solver finds such cycles and proposes an atomic settlement. The settlement uses escrow + commit-reveal: every participant locks their offer into a deterministic escrow cell, then reveals fulfillment proofs in a single coordinated turn. If any leg fails, every leg reverts.

No party needs to trust any other party. The federation orders the reveal; the STARK proves the legs add up. Pricing — if any — is in the offer/want shape, not in a global ledger.

Three-party ring: A → B → C → A, settled atomically.

Three parties, three legs, one cycle. Each arrow means “my offer covers your want.” The trustless solver locates the cycle, locks every leg in escrow, then reveals fulfillment proofs in one coordinated turn.

Fulfilling an Intent

When you can satisfy an intent, fulfillment is a STARK proof that you hold the required capability or asset. The poster learns “your offer is valid for this intent” and nothing else — not your identity, not your other capabilities, not the rest of your portfolio.

Predicate Requirements

Intents can require predicate proofs: “prove balance >= 1000”, “prove reputation >= 50”, “prove membership in approved-vendors ring without revealing which entry.” Fulfillment generates unlinkable predicate proofs (fresh blinding per presentation, BlindedMerkle ring membership) so the same agent can fulfill many intents without being correlated across them.

For the developer API behind intents, see SDK Quickstart. For the privacy architecture of PIR-based discovery, see Privacy Architecture.