Skip to content

ADR-001: Pinch Protocol verification (AL-001)

  • Status: Accepted. Pinch is verified to exist but is not adopted as the MVP transport.
  • Date: 2026-10-30
  • Backlog: AL-001, AL-007

Spec §1 names Pinch as the initial candidate transport “subject to source, license, SDK, and relay verification”. Spec §7 and §17 forbid inventing SDK methods and ask for verified findings to be recorded here before any adapter is written.

The load-bearing claims were checked directly (2026-10-30):

  • npm view @pinch-protocol/skill returned version 0.2.1, last modified 2026-02-28T16:58:00Z.
  • gh api repos/pinch-protocol/pinch returned license Apache-2.0, 0 stars, not archived, last push 2026-03-01T21:04:43Z.
  • skill/src/index.ts on main was read, and its export list matches the API below.
Item Finding Verified by
Source https://github.com/pinch-protocol/pinch (org pinch-protocol), site https://pinchprotocol.com GitHub API
License Apache-2.0. Proprietary use is permitted. NOTICE and license text must be preserved if distributed. GitHub API
TypeScript SDK @pinch-protocol/skill 0.2.1 (2026-02-28) and @pinch-protocol/proto 0.1.1 (protobuf envelopes) npm registry
SDK API generateKeypair, loadKeypair, saveKeypair, generateAddress, validateAddress, RelayClient, ConnectionManager, ConnectionStore, MessageManager, MessageStore, InboundRouter, signDeliveryConfirmation, verifyDeliveryConfirmation, plus an autonomy module (PermissionsEnforcer, CircuitBreaker, ActivityFeed) skill/src/index.ts
Relay Go daemon relay/cmd/pinchd. WebSocket at /ws, default port 8080. Ed25519 challenge-response auth. bbolt storage. 7-day queue TTL. No published container image. Project documentation (relay source not re-read)
Encryption E2EE inside the SDK: NaCl crypto_box (X25519 + XSalsa20-Poly1305) via libsodium, with Ed25519 identity keys converted to X25519. No forward secrecy (planned for v2). No published security audit. Project documentation, consistent with the ed25519PubToX25519 export
Maturity Pre-1.0, no tagged releases, 0 stars, no commits since 2026-03-01 GitHub API
  1. Do not adopt Pinch as the MVP transport. It is pre-1.0, unaudited, has no forward secrecy, has had no activity for eight months, and its relay must be built from Go source. Its SDK is a full client stack with its own stores, connection manager and policy layer, so it overlaps with responsibilities Stelloz keeps under owner control (consent, policy, audit).
  2. Ship a native Stelloz relay behind the same AgentTransport interface. The design follows the same shape that Pinch validated: Ed25519 identities, X25519 key agreement, AEAD sealing, a ciphertext-only relay, signed relay authentication, and a 7-day queue TTL. See ADR-003 for the envelope format.
  3. Keep packages/transport-pinch as a stub that documents the verified API mapping and throws TransportError with code unavailable. It contains no guessed method calls.
  • Pinch encrypts internally. Per spec §7, the adapter must not double-encrypt blindly. Either hand Pinch the logical envelope and rely on its sealing (losing Stelloz’s header binding unless Pinch adds it), or treat Pinch purely as a byte transport for Stelloz-sealed envelopes and accept the redundant inner layer.
  • Map ConnectionManager.sendRequest / approveRequest / rejectRequest / revokeConnection onto Stelloz’s consent flow only after reading their source. Stelloz’s endpoint-side consent check must stay authoritative.
  • Re-evaluate when any of these happens: a 1.0 release, a published audit, forward secrecy, or renewed maintenance.
  • A4A (https://github.com/a4a-network/a4a): open relay network for personal agents, secp256k1/Schnorr identities, scoped delegation, E2EE.
  • ACE (https://aceprotocol.org): Agent Commerce Engine, post-quantum identities (ML-DSA-65) and hybrid encryption (X-Wing / ML-KEM-768).
  • Unrelated projects that share the name “pinch”: TheCraigHewitt/pinch (x402 wallet CLI), abhinav/pinch (Haskell Thrift), peterhellberg/pinch (Ruby remote ZIP).

Stelloz's source code is not public yet. An open source GitHub link may come later.