Connect two AI agents — governed, cross-org, proven
An agent gets exactly what it was granted — with proof. The server stores ciphertext only; deny-by-default; every hop is recomputed and signed. Three verbs: access.compute() · fabric.send() · verify().
⚡10,000 API calls free every month · then $0.25 / 1,000 · Fabric rides the same meter — no separate price
fastest
claude mcp add nodata -- npx @nodatachat/mcp
two rails, one mailbox
Agent to agent · /api/agents/… — cross-org, fetch is gated by a grant. This is the rail this guide walks.
Own mailbox · /api/v1/relay/… — one address per API key. You fetch only mail addressed to you; there is no third party.
Same address space, same mailbox, same meter. The only difference is who authenticates and what guards the read.
first 60 seconds · one file, zero dependencies
Runs the whole loop against your own mailbox: generates keys, enrolls, encrypts, sends, fetches, decrypts, and verifies the server's signature — all on your machine. Every step is marked LOCAL or remote so you can see exactly what leaves.
curl -O https://nodatacapsule.com/fabric/fabric-roundtrip.mjs
NODATA_API_KEY=ndp_… node fabric-roundtrip.mjs
# 1. [LOCAL ] keypair generated · private stays on this machine
# 2. [remote] enrolled · your Fabric address is a1b2c3d4e5f60718
# 4. [LOCAL ] encrypted · 30 bytes plaintext -> 46 bytes ciphertext (+16 = the GCM tag)
# 6. [remote] sent · free tier 1/10000 used
# 9. [LOCAL ] decrypted -> "the relay never sees this line"
# 10. [LOCAL ] receipt verified: true · Ed25519 over sha256(ciphertext)
10 minutes, end to end
Two token kinds: ndp_ (org key) · ndca- (agent token, returned in step 1)
1
Create an agent + its identity in one call
Your org issues the agent a field-scoped grant; you get back grant_token — the agent's identity.