Observed since 20 Oct, 19:19 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
ADD Protocol — an open discovery, delegation, and trust overlay for the Agentic Web
Python reference implementation of the ADD Protocol (Agent Discovery, Delegation & Trust) — an open overlay for the Agentic Web that adds discovery, capability delegation, and trust attestation on top of A2A and MCP.
Specifications live in spec/; the normative cross-language
conformance vectors live in test-vectors/.
pip install add-mesh
from add_mesh.core import generate_signer, sign_envelope, verify_envelope
key_pair, signer = generate_signer()
print(key_pair.did) # did:key:z6Mk...
envelope = sign_envelope(signer, "add/delegation", {
"aud": "did:key:z6MkSubAgent...",
"maxSpendUsd": 5,
"ttl": 1200,
})
result = verify_envelope(envelope)
print(result.issuer, result.payload)
Verification establishes only that the holder of iss's key signed this
payload at the claimed time. It says nothing about whether they were entitled
to what the payload requests — that is the delegation layer's job.
sign_envelope takes any object satisfying the Signer protocol, so an agent
identity can live in a KMS or HSM rather than in local memory:
from add_mesh.core import Signer
class KmsSigner:
@property
def did(self) -> str:
return "did:key:z6Mk..."
def sign(self, message: bytes) -> bytes:
return my_kms.sign(key_id, message)
The wire format is identical and validated by a bidirectional interop harness.
The APIs differ in one deliberate, idiomatic way: these functions are
synchronous, because signing is a microsecond-scale CPU operation and
cryptography exposes it synchronously. The TypeScript API is async because
WebCrypto and remote KMS clients are async there.
Two portability details are handled internally and are worth knowing about if you implement ADD in another language:
repr (1e-7 not 1e-07, 1 not 1.0, 100000000000000000000 not 1e+20).sorted() produces a different
signature over the same payload.pip install -e ".[dev]"
pytest
Apache-2.0.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.0 | 25 Jul 2026 | 6 |
This describes our collected data; it is not a security assessment.
Shared repository data · GitHub
Observed since 20 Oct, 19:19 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:db59240e73862763369a7fe0185dccc4b4f49b7e76933361ebfc385c036efd49