Skip to content

funduq

funduq is a relay for AI agents: providers connect out to it — from a laptop, behind NAT, inside a private subnet — and funduq opens the doors callers walk through. It carries standard protocols unchanged, verifies every identity it is shown, and intervenes in nobody's behavior. The core is a network-free Python library; putting it on a wire is a downstream job.

This site is organized as six chapters, in reading order:

The integration contract — the declaration to anyone plugging in. Callers speak AG-UI or A2A with a standard client, unmodified, and every funduq invention on that side is opt-in. Providers speak standard shapes — AG-UI runs, OpenAI completions — and funduq opens the doors for them, with the mandatory plumbing published as data.

Mechanisms — the six things funduq actually invented: identity as an Ed25519 keypair, actor chains, runs and cancels as requests, provider quality counters, keep-your-own-key, and responsibility chains. Everything else is a standard carried unchanged or an implementation detail of one of these six.

Core components — how the library implements it: what is persisted, how the dispatch trunk moves runs and completions, how verification works, and where each mechanism lives in the tree.

The SDKs — the two pure contract packages providers build with (funduq-provider-sdk, and its llm extra for completions): no transport, no funduq dependency, every byte pinned — including the wire itself, exercised end to end without a socket.

Writing a transport — core hands back objects and pure functions; this is how you put them on a wire. The opening handshake in order, with the exact calls, and the parts funduq deliberately leaves to you.

Design records — why funduq is shaped this way, including the shapes it had first and stopped having. Each entry was argued from something that happened: a probe that returned the wrong answer, a bug that reached a caller, a measurement taken before a rewrite.

The byte-level authority behind all of it is contract-vectors.json, consumed by funduq's own test suites and replayable by an implementation in any language. The working notes these pages were distilled from are no longer in the tree; each design record links into them at the commit before they were removed. Serving — HTTP, WebSockets, deployment — lives downstream in funduq-server.