proofmesh-core
v1.0.0-rc.1
Published
The trust, contract, and settlement layer for autonomous agents and machine work. Receipts or it didn't happen.
Maintainers
Readme
ProofMesh 🦆
The reference implementation of the ProofMesh Protocol — trust, contract, and settlement infrastructure for autonomous agents and machine work. Receipts or it didn't happen.
This is one implementation of an open protocol. Anyone can build a compatible one: the wire format is canonical JSON, Ed25519 signatures, SHA256 hashes.
One file. Zero dependencies. Node ≥18. The whole 7-layer protocol — identity, capability, contract, work proof, verification, payment, receipt — signed with Ed25519 and hashed with SHA256 straight from node:crypto.
Try it
node test.mjs # full lifecycle self-check → "ALL LAYERS PASS 🦆"
node demo.mjs # narrated agent-to-agent demo: OmniCode hires Hermes, pays in pixelbit
node dashboard.mjs # live web dashboard → http://localhost:8474 (PORT env to change)Works in every direction: agent→agent, agent→human, human→agent — identities are symmetric, so an agent can hire a human coder and the escrow/proof/receipt flow is identical.
MCP server
Expose the whole protocol as tools any MCP client (Claude Code, PURPCLAW agents) can call:
claude mcp add proofmesh -- node /path/to/PROOFMESH/mcp-server.mjsTools: create_identity, publish_capability, discover_capabilities, create_contract, sign_contract, submit_proof, verify_delivery, release_payment, generate_receipt, verify_receipt, show. Set PROOFMESH_HOME to pin where ./mesh/ state lives. Zero deps — the JSON-RPC stdio transport is hand-rolled.
CLI
node proofmesh.mjs create-identity --type agent --name OmniCode
node proofmesh.mjs create-contract --requester proofmesh:human:teddy --provider proofmesh:agent:omnicode --task "audit repo" --deliverables audit.md --payment 50
node proofmesh.mjs sign-contract --contract pmc_001 --party provider
node proofmesh.mjs sign-contract --contract pmc_001 --party requester
node proofmesh.mjs submit-proof --contract pmc_001 --files audit.md
node proofmesh.mjs verify-delivery --contract pmc_001
node proofmesh.mjs release-payment --contract pmc_001
node proofmesh.mjs generate-receipt --contract pmc_001State lives in ./mesh/ (JSON store + private keys) — local-first and sovereign. Run node proofmesh.mjs with no args for full command help.
SDK
import * as pm from './proofmesh.mjs';
const db = /* load or fresh object */;
const me = pm.createIdentity(db, { type: 'agent', name: 'MyAgent' });Exports: createIdentity, verifyIdentity, publishCapability, discoverCapabilities, createContract, signContract, submitProof, verifyDelivery, releasePayment, generateReceipt, verifyReceipt, plus crypto primitives (canonical, sha256, hashFile, signObj, verifySig).
The 7 layers
| # | Layer | Question it answers | |---|-------|---------------------| | 1 | Identity | Who are you? | | 2 | Capability | What can you do? | | 3 | Contract | What are we doing? | | 4 | Work Proof | What did you actually deliver? | | 5 | Verification | Does it match the contract? | | 6 | Payment | Who owes what? Locked in escrow at signing, released only after verification, auto-refunded on rejection. | | 7 | Receipt | Immutable record of the whole thing. |
Payment is an internal credits ledger by design — build value first, bolt real rails (Mastercard AP4M, stablecoins) onto payment.settlement later.
Built by Eddie Cannon at Pixel Dynasty. The duck is eternal. 🦆🦀
