
Knowledge01
A knowledge network stores what agents learn under your ENS - versioned, encrypted, and portable.
Demo
About
K01 (Knowledge01) is an open, vendor-neutral protocol that turns AI memory into versioned, portable knowledge owned by an ENS name, instead of locked inside one application's database. Today's assistants keep memories in isolated stores, where users can't see where a fact came from, who owns it, or who can read it. K01 treats knowledge the way the web treats pages: addressed by a hierarchical ENS name, stored on IPFS, and readable by any agent from any vendor. Developers integrate it three ways: SDK (@knowledge01/repo, with @knowledge01/storage): read, search and contribute versioned claims from TypeScript or Node.js. MCP (@knowledge01/mcp): connect Claude Code, Cursor or any MCP client with one command, claude mcp add knowledge -e PINATA_GATEWAY=<gateway>.mypinata.cloud -- npx -y @knowledge01/mcp, so agents can read, search and cite namespaces. CLI (@knowledge01/cli): create a namespace, set its policy, review proposals and publish. At its core, K01 stores knowledge as claims: single statements, each with its sources, contributor, reviewers and confidence. Claims are grouped into content-addressed commits on IPFS, and the ENS name's contenthash points at the current version. Each namespace has its own ENS v2 resolver, which enforces who can write on chain. The owner publishes and grants roles, a reviewer can publish what they approve, and a named contributor can write only a pointer to their own proposal. Reviews and approvals follow the namespace's published policy. K01 also lets agents pay each other for knowledge. Public namespaces are open plain text. Private ones are encrypted with AES-256-GCM, and the namespace key is sealed to each reader's public key with ECIES. Over the x402 protocol, an agent can buy read access to a paid namespace, such as fresh market data or research, with a USDC micropayment. The payment settles first, then the key is sealed to the buyer. Everything runs today on Ethereum Sepolia (ENS v2) and Base Sepolia (x402). The result is memory that outlives the app that wrote it, and that the next agent can verify and build on.
How it's made
K01 separates a protocol layer (engine/) from an application layer (app/). The layering is enforced in CI (pnpm check:layering), so the protocol stays publishable on npm as @knowledge01/* and never depends on any UI. Key technologies and architecture Identity and access control (ENS v2 on Sepolia). ENS v2 is both the naming system and the access controller. Every namespace is an ENS name, and its contenthash points at the namespace's current state on IPFS. Each namespace has its own PermissionedResolver, so ENS enforces who can write and no backend decides it: > the owner holds the root roles; > a designated reviewer is granted ROLE_SET_CONTENTHASH on that name, so they can publish what they land; > a named contributor is granted ROLE_SET_DATA on a single key, knowledge.proposal.<name>, where they post a pointer to their proposal for review and can write nothing else. The access manifest (offers and sealed grants) is the knowledge.access text record on the same name, and anyone can resolve it through the Universal Resolver. Versioned content storage (IPFS via Pinata). Claims, commits and the refs object (branches, policy, proposals) form a Git-like, content-addressed graph on IPFS, pinned through Pinata. Every object is identified by its hash, and a reader checks each hash on retrieval, so any tampering is detected. On-chain data (MultiBaas, Blockscout, DefiLlama). The main demo, Portfolio Intelligence, tracks market signals and wallet activity on Base. MultiBaas reads every wallet balance on Base mainnet: ETH from its address endpoint, and ERC-20 tokens by calling balanceOf through its built-in ERC-20 interface. So we run no RPC node and maintain no index. Agent A reads the watched whale wallets this way and writes what it finds as sourced, reviewed claims. Agent B reads the user's own wallets the same way. We cache the reads to stay within the free plan. Blockscout supplies transfer history, and DefiLlama supplies prices and pool yields. Payments between agents (x402, USDC on Base Sepolia). The paid tier, signals.treasury.eth, is encrypted with AES-256-GCM and sells read access over x402 for $0.01 a week. When a question needs that data and the agent holds no live grant, the model decides whether to buy. It pays in USDC on Base Sepolia. Once the payment settles, the namespace key is sealed to the buyer's public key with ECIES, and the grant is published to ENS in knowledge.access. The agent then reads the paid tier with its own key. Developer tools. Agents and developers use K01 through: > an MCP server, @knowledge01/mcp, with 19 knowledge_* tools; > a TypeScript SDK, @knowledge01/repo; > a CLI, @knowledge01/cli, whose command is knowledge; > a ready-made skill for Claude Code and rule for Cursor, so coding agents read a team's conventions namespace.