Skill: manuelfelipearias/soulprint (version 1.0.25)

--- name: soulprint description: "Soulprint decentralized identity verification for AI agents. v0.6.4 — blockchain-first architecture (no libp2p): state lives on Base Sepolia, 4 validator nodes on Railway, ZK proofs (Circom, local verification). Use when: proving a real human is behind a bot, issuing privacy-preserving identity proofs, running a validator node, adding identity verification middleware to an API or MCP server, checking bot reputation scores, or enforcing protocol-level configurable trust thresholds." homepage: https://soulprint.digital metadata: { "openclaw": { "emoji": "🌀", "requires": { "bins": ["node", "npx"] }, "install": [ { "id": "node", "kind": "node", "package": "soulprint", "bins": ["soulprint"], "label": "Install Soulprint CLI (npm)", }, ], }, } --- # Soulprint — Decentralized Identity for AI Agents Soulprint proves a real human is behind any AI bot using privacy-preserving ZK proofs — no centralized authority, no biometric cloud uploads. State lives on Base Sepolia blockchain. **GitHub:** https://github.com/manuelariasfz/soulprint **npm:** https://www.npmjs.com/package/soulprint-network **Docs:** https://soulprint.digital **Network:** 4 validator nodes on Railway (Base Sepolia testnet) **Version:** v0.6.4 --- ## Architecture (v0.6.4 — blockchain-first, local ZK verification) ``` User verifies once → ZK proof generated locally (no Registraduría scraping) → Nullifier registered on-chain (Base Sepolia) → Any agent queries on-chain: isRegistered(nullifier) → true/false No P2P sync, no central server — blockchain IS the network ``` **Contracts on Base Sepolia:** - `PeerRegistry`: [REDACTED_SECRET] - `NullifierRegistry`: (pending deployment — requires testnet ETH) - `ReputationRegistry`: (pending deployment — requires testnet ETH) - `ProtocolThresholds`: [REDACTED_SECRET] - `MCPRegistry`: [REDACTED_SECRET] --- ## When to Use ✅ **USE this skill when:** - "Verify my identity for an AI agent" - "Run a Soulprint validator node" - "Add identity verification to my MCP server or API" - "Check the reputation score of a bot or DID" - "Generate a privacy proof from a Colombian cédula" - "Verify a cédula against Registraduría Nacional" - "Issue or verify an SPT (Soulprint Token)" ❌ **DON'T use this skill when:** - Storing or transmitting biometric data remotely (Soulprint runs 100% locally) - Verifying identities from countries not yet supported (only Colombia is full) --- ## Quick Start ### 1. Verify Your Identity (one-time) ```bash npx soulprint install-deps # OCR + face recognition — only once npx soulprint verify-me # all local, nothing uploaded ``` ### 2. Run a Validator Node ```bash npx soulprint-network # or ADMIN_PRIVATE_KEY=0x... ADMIN_TOKEN=... PORT=4888 node dist/server.js ``` **Node API:** ``` GET /info — node version, network, contracts, capabilities GET /health — code integrity hash POST /verify — verify ZK proof GET /verify/cedula?numero=X&fechaNac=YYYY-MM-DD — Registraduría validation GET /network/stats — live stats (peers, verified, MCPs) GET /mcps/verified — verified MCPs from MCPRegistry on-chain GET /protocol/thresholds — on-chain protocol thresholds ``` --- ## Integrate in Your API ### MCP Server (3 lines) ```typescript import { requireSoulprint } from "soulprint-mcp"; server.tool("premium-tool", requireSoulprint({ minScore: 80 }), async (args, ctx) => { const { did, score } = ctx.soulprint; }); ``` ### Express / Fastify ```typescript import { soulprintMiddleware } from "soulprint-express"; app.use(soulprintMiddleware({ minScore: 65 })); // req.soulprint.did, req.soulprint.score ``` --- ## Trust Score (0–100) | Component | Max | Source | |---|---|---| | Email verified | 8 | credential: email | | Phone verified | 12 | credential: phone | | GitHub account | 16 | credential: github | | Document OCR | 20 | credential: document | | Face match | 16 | credential: face_match | | Biometric proof | 8 | credential: biometric | | Bot reputation | 20 | Validator attestations | | **Total** | **100** | | --- ## Protocol Constants (on-chain via ProtocolThresholds) | Constant | Value | |---|---| | `SCORE_FLOOR` | 65 | | `VERIFIED_SCORE_FLOOR` | 52 | | `MIN_ATTESTER_SCORE` | 65 | | `DEFAULT_REPUTATION` | 10 | | `IDENTITY_MAX` | 80 | | `REPUTATION_MAX` | 20 | --- ## Country Support | Country | Document | Status | |---|---|---| | 🇨🇴 Colombia | Cédula de Ciudadanía | ✅ Full (OCR + MRZ + face match + Registraduría) | | Others | — | 🚧 Planned | --- ## npm Packages | Package | Version | Purpose | |---|---|---| | `soulprint-network` | 0.6.4 | Validator node (HTTP + blockchain clients) | | `soulprint-mcp` | latest | MCP middleware | | `soulprint-express` | latest | Express/Fastify middleware | | `soulprint-core` | latest | DID, tokens, protocol constants | | `soulprint-zkp` | latest | ZK proofs (Circom + snarkjs) | | `soulprint-verify` | latest | OCR + face match | | `soulprint` | latest | CLI | --- ## Integration with mcp-colombia `mcp-colombia-hub@1.3.0` uses Soulprint natively — no extra setup needed. - `soulprint_status` tool available directly in mcp-colombia: checks on-chain identity and reputation - `trabajo_aplicar` (job applications) requires Soulprint score ≥ 40 - Live validator: `https://soulprint-node-production.up.railway.app` ### Install both together ```bash # Add to your MCP config: npx mcp-colombia-hub # includes soulprint_status tool # Verify your identity first (one-time): npx soulprint verify-me ``` Once verified, your SPT token works across all tools in mcp-colombia automatically.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: suspicious | SkillSpector: clean (LOW)