UCEP lets a libp2p peer offer extensions — small services with named commands — that any other peer can discover and call, with no registry or server in between. It is written for browser-to-browser and mobile-to-mobile peers, connected over WebRTC or through a circuit relay. Discovery rides on libp2p identify; every call is one request and one response on a short-lived stream; commands that change state or reveal data require a grant obtained by pairing.
Status: Working Draft, wire revision 2. Expect changes; feedback is welcome as issues and pull requests.
| Document | Content |
|---|---|
| ucep.md | Core protocol: protocol IDs, discovery through identify, catalogue and online status, adding providers by PeerId, framing, manifest, commands, errors, versioning, limits, user interface |
| ucep-auth.md | Pairing (invitation by QR code, or in-band over libp2p), grants, scopes, revocation, optional DID binding |
| messages.proto | Wire messages (proto3), compatible with the 0.1 draft |
| extensions/ | Specified extensions: invoice |
| test-vectors/ | Deterministic vectors for the pairing proof, with the generator |
| SECURITY.md | Threat model |
| Implementation | Role | Revision |
|---|---|---|
| js-libp2p-examples: yjs-libp2p spreadsheet | Provider (sheet) |
0.1 |
| Universal Connectivity js-peer | Consumer | 0.1 |
| @le-space/ucep | Reference library: provider and consumer, both pairing modes, DID binding; passes the test vectors | 0.2 |
| Invoice PWA (Le-Space) | Provider (invoice) |
planned, 0.2 |
| Belege (Le-Space) | Consumer (invoice) |
planned, 0.2 |
To list an implementation, open a pull request that adds it to this table.
./build/pdf.shNeeds pandoc and Google Chrome or Chromium. Writes build/ucep-spec.pdf.
- The specification text (all
.mdfiles) is licensed under Creative Commons Attribution 4.0 International (CC-BY-4.0): use, adapt and redistribute it, also commercially, with attribution to "Le-Space contributors, UCEP" and a link to this repository. - Code —
messages.proto,test-vectors/andbuild/— is licensed under the MIT License, so implementations can copy it without friction.