Back to Directory/Developer Tools

io.github.csacanam/hashproof

Issue verifiable credentials from AI agents for $0.10 via x402. On-chain on Celo, IPFS-pinned.

Developer ToolsSolidityv0.1.2

HashProof

Verifiable credentials with IPFS backup, on-chain registry, and pay-per-call API via x402.

What it is

HashProof is a credential issuance API. Organizations and Individuals (entities) issue verifiable credentials to people. Each credential is:

  • Stored as a JSON in the database and backed up on IPFS (Pinata)
  • Registered on-chain in the CredentialRegistry contract on Celo
  • Verifiable via a public URL: https://hashproof.dev/verify/:id

Two ways to pay: micropayment in USDC via x402 (Base or Celo) — no API keys, no subscriptions — or a prepaid API key for enterprise clients (no crypto needed). AI agents can call the API directly using a funded wallet.

Project structure

backend/       Express API — credential issuance, verification, payments
frontend/      React app — landing page, credential verification, entity pages
contracts/     CredentialRegistry smart contract (Celo)
mcp/           MCP server (hashproof-mcp on npm) — use HashProof from any AI agent
skills/        Agent skill (npx skills add csacanam/hashproof)
docs/          Architecture and flow documentation

Deployed contracts

NetworkContractAddress
Celo mainnetCredentialRegistry0x7a1B759A602Aba72a70f99Dffd0a386d7504ce9B

Paid API endpoints

EndpointPriceDescription
POST /issueCredential$0.10 USDCIssue one verifiable credential
POST /entities/:id/verificationRequests$49 USDCSubmit a verification request

Payment is in USDC on Base or Celo via x402. The client signs an off-chain authorization — no gas required.

Free endpoints

EndpointDescription
GET /verify/:idFull 3-layer verification
GET /templates/:ref/requirementsGet required fields for a template
POST /templates/:ref/previewGenerate a preview PDF with watermark (no cost)
GET /statsOn-chain credential counters

For AI agents

HashProof is fully agent-usable — no account, no human onboarding. Three ways in:

  • MCP server, local or remote (listed on the official MCP registry as io.github.csacanam/hashproof):

    # local (stdio) — pays per credential with your own wallet via x402, or an API key
    claude mcp add hashproof -- npx -y hashproof-mcp
    
    # remote (Streamable HTTP) — nothing to install, API key required to issue
    claude mcp add --transport http hashproof https://api.hashproof.dev/mcp
    

    Tools: preview_template (free — iterate custom layouts), issue_credential ($0.10 via x402 or API key), verify_credential and get_template_requirements (free). The remote server has no wallet, so it can't do x402 — it needs Authorization: Bearer <api-key>. See mcp/README.md.

  • Agent skill: npx skills add csacanam/hashproof — or read it at hashproof.dev/skill.md.

  • Plain HTTP + x402: POST /issueCredential returns a 402 challenge any x402-v2 client can pay (USDC on Base or Celo). LLM index: hashproof.dev/llms.txt.

Agent identity metadata (ERC-8004 registration-v1): hashproof.dev/metadata.json.

Quick start

See backend/README.md and frontend/README.md for setup instructions. See docs/README.md for the full documentation index.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y hashproof-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-csacanam-hashproof": {
      "command": "npx",
      "args": [
        "-y",
        "hashproof-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

hashproof-mcpnpm

Compatible MCP Clients

io.github.csacanam/hashproof works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More