Skip to content
v0.12.1114 examples

Examples

Working examples grouped by evaluator outcome. Each is self-contained and runnable from the examples/ directory. See Start Here to find the right path for your use case.

Find the right example

Add proof to an API hello-world, openclaw-capture, inference-evidence
Verify locally wire-02-minimal
MCP integration mcp-tool-call, mcp-server
A2A integration a2a-gateway-pattern
Payment evidence x402-node-server, pay-per-inference, pay-per-crawl
Observability telemetry-otel, content-signals
server

HTTP 402 Payment Flow

A Node.js server that returns HTTP 402 Payment Required, accepts payment via x402, and issues Ed25519-signed PEAC receipts. Demonstrates the full Declare-Negotiate-Verify cycle.

  • HTTP 402 response with payment details
  • x402 payment verification
  • Ed25519 receipt signing
  • Receipt header in response
@peac/protocol@peac/rails-x402@peac/crypto
View on GitHub
agent

Pay-per-Inference

Shows how an AI agent handles 402 responses, obtains payment receipts, and retries requests with the PEAC-Receipt header. Includes retry logic and error handling.

  • Agent-side 402 handling
  • Receipt acquisition flow
  • Retry with receipt header
  • toCoreClaims() normalization
@peac/protocol@peac/mappings-mcp
View on GitHub
crawler

Pay-per-Crawl

Demonstrates how AI crawlers can evaluate publisher policies, respect access terms, and obtain receipts. Useful for compliance evidence and audit trails.

  • Policy evaluation
  • Purpose-based access control
  • Receipt for audit trails
  • Evidence generation for audit workflows
@peac/policy-kit@peac/protocol
View on GitHub
integration

RSL Collective Licensing

Maps RSL (Robots Specification Language) tokens to PEAC ControlPurpose values. Shows how to integrate with collective licensing organizations.

  • RSL token parsing
  • ControlPurpose mapping
  • Collective license integration
  • Usage rights verification
@peac/mappings-rsl@peac/control
View on GitHub
agent

MCP Paid Tools

Implements paid MCP tools with per-call and daily budget limits. Uses bigint minor units for precise currency handling.

  • MCP tool integration
  • Per-call pricing
  • Budget enforcement
  • Bigint minor units
@peac/mappings-mcp@peac/protocol
View on GitHub
observability

OpenTelemetry Integration

Connects PEAC receipt issuance and verification to OpenTelemetry for observability. Supports privacy modes: strict, balanced, and custom attribute filtering.

  • W3C Trace Context
  • Privacy-preserving spans
  • Metrics emission
  • Custom attribute filtering
@peac/telemetry-otel@peac/protocol
View on GitHub
agent

OpenClaw Interaction Evidence

Capture OpenClaw agent tool calls as signed PEAC interaction evidence receipts. Uses activate() for one-call setup with FileSpoolStore for durable storage.

  • activate() one-call setup
  • Two-stage pipeline
  • FileSpoolStore durability
  • Tamper-evident chain
@peac/adapter-openclaw@peac/capture-core@peac/capture-node
View on GitHub
agent

MCP Server for AI Agents

Run the PEAC MCP server in Claude Desktop or Cursor to verify, inspect, decode, issue, and bundle receipts directly from AI agent conversations.

  • peac_verify tool
  • peac_inspect tool
  • peac_issue (privileged)
  • peac_create_bundle (privileged)
@peac/mcp-server
View on GitHub
server

Paymentauth Evidence

Parse HTTP 402 challenges and receipts from the Payment authentication scheme. Demonstrates envelope-first parsing, raw artifact preservation, and coexistence with the PEAC-Receipt header.

  • Challenge + Credential + Receipt parsing
  • Raw + normalized dual representation
  • Carrier coexistence with PEAC-Receipt
  • receipt_ref via sha256(raw_header_value)
@peac/mappings-paymentauth@peac/protocol
View on GitHub
agent

Paymentauth JSON-RPC

Demonstrates structured error handling for paymentauth in JSON-RPC transports including MCP. Uses error codes -32042 (payment required) and -32043 (payment failed).

  • JSON-RPC error code -32042
  • JSON-RPC error code -32043
  • MCP extraction functions
  • Structured error responses
@peac/mappings-paymentauth
View on GitHub
integration

ACP Session Lifecycle

Demonstrates the strict two-function boundary in ACP evidence: fromACPSessionLifecycleEvent for access evidence, fromACPPaymentObservation for commerce evidence with explicit observed_payment_state.

  • Session lifecycle evidence
  • Payment observation boundary
  • Explicit observed_payment_state
  • Commerce event only from payment artifacts
@peac/mappings-acp@peac/protocol
View on GitHub
integration

Stripe SPT Delegation

Shows how Stripe Payment Token delegation events (granted, presented, deactivated) are recorded separately from payment intent observations. Only fromStripePaymentIntentObservation produces commerce events.

  • SPT delegation lifecycle
  • Payment intent observation
  • Explicit payment state requirement
  • Settlement vs authorization mapping
@peac/rails-stripe@peac/protocol
View on GitHub
integration

Commerce Evidence Bundle

Bundle commerce evidence from multiple rails into a portable audit archive. Uses the experimental peac.commerce-bundle/0.1-experimental format with recursive stable serialization.

  • Cross-rail evidence bundling
  • Portable audit archive
  • Deterministic serialization
  • Offline verification
@peac/audit@peac/protocol
View on GitHub
server

x402 Dual-Header Read

Demonstrates extractReceiptArtifactFromHeaders reading PEAC-Receipt, PAYMENT-RESPONSE (v2), and X-PAYMENT-RESPONSE (v1) headers with upstream artifact separation.

  • v1/v2 header priority
  • Upstream artifact separation
  • receipt_jws vs upstreamArtifact
  • isPeacReceipt discriminator
@peac/adapter-x402
View on GitHub
Running the Examples

Clone the repository and run any example with a few commands:

# Clone the repository
git clone https://github.com/peacprotocol/peac.git
cd peac

# Install dependencies
pnpm install

# Run an example
cd examples/x402-node-server
pnpm tsx demo.ts