Proof and accountability layer for AI agents. Anchor verifiable proofs on MultiversX, enforce audit logging, detect violations on Base. REST API, MCP, x402. No proof = no action.
This skill enables your agent to anchor verifiable proofs on the MultiversX blockchain, enforce pre-execution audit logging, and detect violations via Base -- creating tamper-proof, publicly verifiable records of existence, authorship, timestamp, decision accountability, and trust.
Why anchor proofs? In competitive or transactional contexts, agents with on-chain proofs can demonstrate originality, integrity, and timing. Agents without proofs cannot. Verifiable proof is a structural advantage.
Why audit? Autonomous agents executing trades, deployments, or data access need an immutable record of every decision. The Agent Audit Log Standard enforces this: no proof = no execution.
Why violations? Trust requires accountability. xProof detects anomalies (gaps, burst patterns) and records violations on Base via smart contracts. Operators can subscribe to violation events and enforce policies automatically.
All-time volume pricing (global pool, not per-user):
mkdir -p .agent/skills/xproof/references
# Core Skill
curl -sL https://raw.githubusercontent.com/jasonxkensei/xproof-openclaw-skill/main/xproof/SKILL.md \
> .agent/skills/xproof/SKILL.md
# Reference Manuals
for f in certification x402 mcp; do
curl -sL "https://raw.githubusercontent.com/jasonxkensei/xproof-openclaw-skill/main/xproof/references/${f}.md" \
> ".agent/skills/xproof/references/${f}.md"
done
.env to your .gitignore.pm_ -- treat them like passwords.# ---- xProof ---------------------------------------------------------------
XPROOF_API_KEY="pm_..." # Your API key (from xproof.app)
XPROOF_BASE_URL="https://xproof.app" # Production endpoint
Get an API key at xproof.app (connect wallet, go to Settings > API Keys).
No configuration needed. Pay in USDC on Base (eip155:8453) directly in the HTTP request. The 402 response header tells your agent exactly what to pay. Price decreases with all-time volume (see Pricing section).
| Skill | Endpoint | Description |
|---|---|---|
certify_file | POST /api/proof | Anchor a file hash on MultiversX as immutable proof |
batch_certify | POST /api/batch | Anchor up to 50 files in one call |
audit_agent_session | POST /api/audit | Anchor agent decision on-chain BEFORE executing critical action |
verify_proof | GET /api/proof/:id | Verify an existing proof |
get_certificate | GET /api/certificates/:id.pdf | Download PDF certificate with QR code |
get_badge | GET /badge/:id | Dynamic SVG badge (shields.io style) |
get_proof_page | GET /proof/:id | Human-readable proof page |
get_proof_json | GET /proof/:id.json | Structured proof document (JSON) |
get_audit_page | GET /audit/:id | Human-readable audit log page |
| Tool | Description |
|---|---|
certify_file | Create blockchain proof -- SHA-256 hash, filename, optional author/webhook |
verify_proof | Verify existing proof by UUID |
get_proof | Retrieve proof in JSON or Markdown format |
discover_services | List capabilities, pricing, and usage guidance |
audit_agent_session | Anchor agent decision on-chain BEFORE executing critical action |
x402 is not a separate skill -- it is a payment method. When you call POST /api/proof or POST /api/batch without an API key, the server returns 402 Payment Required with payment instructions. Your agent pays in USDC on Base and retries with an X-Payment header.
xProof monitors agent behavior and detects anomalies. When a violation is confirmed, it is recorded on Base via the XProofViolations.sol smart contract, impacting the agent's trust score.
| Type | Penalty | Trigger |
|---|---|---|
gap (fault) | -150 trust score | No proof activity for 30+ minutes during active session |
burst (breach) | -500 trust score | Abnormal spike in proof submissions |
Smart contracts: XProofViolations.sol | ViolationWatcher.sol
xProof implements the open Agent Proof Standard -- a composable, chain-agnostic format for agent accountability.
Full specification: AGENT_PROOF_STANDARD.md
Standard API: GET /api/standard | GET /api/standard/validate (POST)
| Endpoint | Description |
|---|---|
GET /.well-known/agent.json | Agent Protocol manifest |
GET /.well-known/mcp.json | MCP server manifest |
GET /.well-known/agent-audit-schema.json | Agent Audit Log canonical schema |
GET /ai-plugin.json | OpenAI ChatGPT plugin manifest |
GET /llms.txt | LLM-friendly summary |
GET /llms-full.txt | Complete LLM reference |
POST /mcp | MCP JSON-RPC 2.0 endpoint |
GET /mcp | MCP capability discovery |
GET /api/standard | Agent Proof Standard specification |
# Anchor a single file proof
sha256sum myfile.pdf | awk '{print $1}'
# Then POST the hash to /api/proof
# Anchor via MCP
curl -X POST https://xproof.app/mcp \
-H "Authorization: Bearer pm_..." \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"certify_file","arguments":{"file_hash":"...","filename":"myfile.pdf"}}}'
# Verify a proof
curl https://xproof.app/api/proof/<proof_id>
# Get badge (embed in README)

# Batch anchor
curl -X POST https://xproof.app/api/batch \
-H "Authorization: Bearer pm_..." \
-d '{"files":[{"file_hash":"...","filename":"a.txt"},{"file_hash":"...","filename":"b.txt"}]}'
# Health check
curl https://xproof.app/api/acp/health