Start here

Why DeDi Node exists

Author: Chakshu (FWAI Technologies / Flywheel) Date: July 2026 Status: Narrative / rationale. How it works is in architecture; the proof it works is in the Beckn use case. This is the why the other two assume. The original plan is kept as design.


The short version

I built this because I was running a real Beckn network in production, and the single most important component in it — the registry, the thing every party trusts to answer "who is this and is their signature valid" — was the least trustworthy, least observable, and least ownable piece of the whole stack. The only "real" registry was a hosted, blockchain-anchored service I couldn't self-host and couldn't audit. So the choice was: trust a black box, or build the box.

DeDi Node is the box. It's a self-hostable registry that makes its own answers verifiable — every lookup can carry a cryptographic inclusion proof against a signed checkpoint, and an independent witness node continuously proves the log was never rewritten. It gets there with a transparency log, not a blockchain, which is what makes it a single Go binary you can docker run beside a Postgres instead of a platform you have to join.

Where this actually started

Not in the abstract. On OpenAgriNet / Amul — a production agricultural Beckn network where a farmer-facing chat pulls schemes, weather, and mandi prices across network boundaries from another network (Bharat Vistaar) over Beckn. Getting that cross-network flow live meant standing up and operating the full canonical Beckn discovery stack myself:

consumer → ONIX BAP adapter (signs) → gateway (broadcast) → registry (resolves identity)
         → partner BPP → on_search callback → BAP receiver (validates signature) → consumer

Five moving parts — adapter, gateway, registry, a registry-aggregating middleware, and an async callback leg — all of which have to be correct at the same time for one search to return one result.

What kept breaking — and the pattern underneath it

Over a long stretch of operating this, it broke in distinct, repeatable ways:

Every one of these is really the same problem wearing different clothes. The registry is the trust root of a Beckn network, and the registry I had gave me no trust — no verifiability, no audit, no ownership, and a discovery model whose failure modes were invisible until a demo went dark. And the one registry that was meant to be authoritative — the hosted fabric.nfh.global, anchored on a blockchain — I could neither self-host nor inspect. For a public-good network that's supposed to be sovereign, depending on someone else's unauditable black box for the definition of "who is on the network" is exactly backwards.

The realization

Two facts collided:

  1. Beckn made DeDi load-bearing. The ONIX adapter's dediregistry plugin is on the signature-validation hot path of every message; VC revocation is checked against DeDi. The registry is a DeDi registry. But there is no self-hostable, open-source DeDi node — only the hosted platform. So a sovereign Beckn network is, with a stock stack, impossible.
  2. DeDi's trust properties don't need a blockchain. What DeDi actually requires is tamper-evidence, provenance, version history, and offline verifiability. Every one of those is exactly what a transparency log delivers — a Merkle tree over an append-only record log, signed checkpoints, and external witnesses — at a fraction of the operational weight of a chain. The blockchain was accidental complexity, not essential.

Put those together and the gap is obvious: the first self-hostable, Beckn-One-compatible DeDi registry, backed by a transparency log instead of a chain. That's this repo.

What I built

Why it matters

The old way With DeDi Node
Trust because the registry says so Trust because you can verify the proof
root/root, opaque, no audit Governance is an auditable, witnessed log
Hosted black box, can't self-host Single binary, self-hosted, sovereign
5 moving parts that need a babysitter One node; witnessing/anchoring are env flags
Blockchain-weight for chain-free needs Transparency-log-weight, chain optional

What it does not solve (the honest part)

A rationale that only lists wins is marketing. The real boundaries:

The one-line case

The reliability, trust, and ownership rot I kept fighting all lived in one place — the registry at the center of the network. DeDi Node fixes the center and pushes interop to the edge, and does it with a transparency log light enough that owning your own trust root is a docker compose up, not a platform you have to ask permission to join.

← All documentation