- ID: NFH-002
- Status: Draft
- Authors:
- Created: 2026-05-11
- Updated: 2026-05-11
- Version history: Repository history on
maindoes not yet show commits for this file - Latest editor's draft: Click here
- Implementation report: Not available. This document is at Initial Draft status; report will be linked in the next formal release of this RFC, following merge to main.
- Stress test report: Not available. This document is at Initial Draft status; report will be linked in the next formal release of this RFC, following merge to main.
- Conformance impact: Not determined. This document is at Initial Draft status; impact will be classified in the next formal release of this RFC, following merge to main.
- Security/privacy implications: -NA-
- Replaces / relates to: -NA-
- Feedback: Issues Click here, discussions Click here, pull requests Click here.
- Errata: -NA-
This document outlines the normative definitions of keywords that are commonly used in technical specifications, standards, and protocols. The aim is to provide a uniform interpretation of these terms to avoid ambiguity and misinterpretation.
- Keyword Definitions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described below. These definitions aim to ensure that the terms are understood precisely and consistently to avoid confusion in the interpretation of standards, specifications, and protocols.
The term "MUST" implies an absolute requirement.
The term "MUST NOT" indicates an absolute prohibition.
The term "REQUIRED" is synonymous with "MUST".
The term "SHALL" is equivalent to "MUST".
The term "SHALL NOT" is equivalent to "MUST NOT".
The term "SHOULD" indicates a strong recommendation.
The term "SHOULD NOT" indicates a strong recommendation against.
The term "RECOMMENDED" is synonymous with "SHOULD".
The term "MAY" indicates that an item is truly optional.
The term "OPTIONAL" is synonymous with "MAY".
The following terms identify the principal actors and infrastructure components of the Beckn Protocol. These definitions apply across all Beckn Protocol RFCs unless explicitly qualified otherwise.
A software platform that initiates value-exchange transactions on behalf of a user or agent by invoking Beckn Protocol APIs. The CN is the caller in all stateless transaction endpoints and receives callback responses from the PN.
A software platform that receives transaction requests from a CN, processes them, and responds via callback endpoints. The PN is the implementer of all stateless transaction endpoints and produces the canonical response objects — such as Catalog and Contract — that are consumed by the CN.
Legacy terminology and backward compatibility. Consumer Node (CN) and Provider Node (PN) were previously referred to as Beckn Application Platform (BAP) and Beckn Provider Platform (BPP) respectively. Prose throughout the specification uses the new terms, but wire-level field names —
bapId,bapUri,bppId,bppUri— are retained unchanged in thecontextobject to preserve backward compatibility with existing integrations. ReadbapId/bapUrias the CN's identity and address, andbppId/bppUrias the PN's.
The foundation that governs, hosts, and evolves the Universal Value-exchange Fabric. NFH publishes the canonical Beckn Protocol Specification and operates the shared infrastructure that Beckn network participants connect to. It was previously known as Foundation for Interoperability in Digital Economy, which was previously known as Beckn Foundation.
The Universal Value-exchange Fabric, hosted by the Networks for Humanity Foundation. The Fabric provides shared infrastructure — including the Discovery Service, Registry, and catalog infrastructure — through which CNs and PNs discover each other, establish trust, and coordinate transactions.
A Fabric-hosted service that indexes PN catalogs and responds to discovery requests from CNs. The Discovery Service enables catalog-first discovery without requiring CNs to query PNs directly at runtime.
A Fabric-hosted service that maintains the authoritative list of network participants (CNs and PNs), their signing keys, and their callback URIs. The Registry is used to validate the identity and authorisation of participants in a Beckn network.
In this section, we provide examples that demonstrate the correct usage of the key words defined in this document. The examples are related to a hypothetical Consumer Node (CN) that interacts with a Provider Node (PN) using beckn protocol APIs.
- REQUIRED. The PN MUST implement the
discoverendpoint to receive anIntentobject sent by CNs. - REQUIRED. The PN MUST return a catalog of products on the
on_discovercallback endpoint specified in thecontext.bppUrifield of thediscoverrequest body. - REQUIRED. Any provider-related information like
name,logo,short_descMUST be mapped to theProvider.descriptorschema. - REQUIRED. If the PN does not want to respond to a
discoverrequest, it MUST return anack.statusvalue equal toNACK.
- RECOMMENDED. Upon receiving a
discoverrequest, the PN SHOULD return aCatalogthat best matches theIntent. This can be done by indexing the catalog against the various probable paths in theIntentschema relevant to the use case.
The definitions provided in this document are intended to clarify the interpretation of key terms used in technical specifications, standards, and protocols. Adherence to these definitions will ensure a consistent understanding and implementation of such documents.
Note : This document is subject to change and may be updated to include additional terms or to refine existing definitions.
This RFC reflects contributions from Beckn Protocol contributors who developed and reviewed the architecture, interoperability, and trust-model guidance represented in this stack description.