P03

Conduit

A peer-to-peer marketplace for AI inference. GPU owners sell model access over encrypted connections, and buyers pay per request.

Role
Design and implementation
When
2026
Stack
  • TypeScript
  • QVAC
  • Hyperswarm
  • Solidity
  • Electron
The problem

Inference capacity is unevenly distributed. A GPU sitting idle in one place is worth nothing to somebody who needs one somewhere else, and the usual answer, a central API with a fixed price list, charges the same for a request that needed a large model and one that did not.

Conduit treats inference as a market. Sellers advertise capacity, buyers find it themselves, and payment is the access handshake rather than a monthly bill.

The sketch
Buyer agentConfidencerouterOn-deviceQVAC, freeDiscoveryHyperswarm DHTEscrowEIP-712 voucherSeller GPUweights stay put

A buyer agent asks a confidence router, which either answers on-device with QVAC for free or discovers a seller over the DHT, opens an escrow voucher and runs inference on the seller's GPU.

How it works

Discovery

Peers find each other over a Hyperswarm DHT with NAT hole-punching, so a seller behind a home router is reachable without any hosting.

Route locally first

An on-device confidence router answers easy prompts locally for free and escalates only the ambiguous ones to a paid peer. That decision sets both what the system costs and what it discloses.

On an RTX 4050, Qwen3-0.6B runs at roughly 180 to 290 tokens per second with 8 to 25 ms to first token, and Qwen3-4B at 60 to 65 tokens per second.

Payment as the handshake

Escrow channels settle off-chain with EIP-712 vouchers. No payment means no model access: a freeloader is refused at the Noise handshake having transferred zero bytes, rather than being served and billed later.

Weights never move

Execution happens on the seller's own device through the QVAC runtime, end to end encrypted. Only prompt bytes in and token bytes out cross the wire, and inference events record zero cloud bytes throughout.

What was hard

The confidence router could not be built the obvious way. QVAC exposes no logprobs, so there was no token-level signal to threshold on. Confidence is derived from self-consistency instead, by sampling and measuring whether the answer is stable, which costs more than reading a number off the model but is the only signal actually available.

Sellers cannot be asked to configure what they sell. A prober benchmarks the machine and picks the largest model it can serve at a sensible rate, because a marketplace where every seller has to hand-tune a config file has no sellers.

What I'd do differently

It runs on a testnet, with test USD₮ on Sepolia, and settlement measured at around 7 seconds. Nothing about the economics has been tested against real money or an adversarial counterparty, which is where a payment system actually gets interesting.

Self-consistency buys confidence by spending compute. If a runtime that exposes logprobs were an option, the routing decision would get cheaper and sharper at the same time.