Common use cases

ProofPack use cases — MCP, payments, age, residency, compliance (AML, KYC)

Short patterns for agent verification. Agents prove things about their owner (nationality, clear AML, age or DoB, and that a real human authorized them) so services can gate commerce, finance, and access without holding full ID. Full code: Path 1, Path 2, Express, ASP.NET Core.

1. MCP Server Integration

Goal: Only let human-authorized agents use tools or resources.

  • Agent connects with its wallet (e.g. in handshake or header).

  • Server calls verifier.verifyByWallet(agentWallet) and grants or restricts access.

const result = await verifier.verifyByWallet(agentWallet);
if (result.isValid) {
  // Grant agent full MCP access
} else {
  // Restrict access or reject agent
}

Use Path 1 (wallet-only). No claims needed—just “is there a human behind this wallet?”

2. Payment and Payout Verification

Goal: Let an agent check payment status or receive payouts on behalf of a human, without the service storing KYC.

  • Agent sends request with wallet (e.g. GET /api/payments/status with x-agent-wallet or query param).

  • Service verifies: wallet is authorized by a human and not revoked, then returns status or allows payout.

Use Path 1 (wallet-only) or Express middleware. For payouts that require “clear AML” or residency, use Path 2 with those claims (see Compliance below).

3. Age-Restricted Commerce

Goal: Sell age-restricted goods (alcohol, tobacco, certain OTC, games, content) without storing the buyer’s DoB.

  • Agent places order or confirms eligibility with Authorization: Bearer <token> (JWS or JWT).

  • Proof reveals only what’s needed: e.g. “over 18” or age band; service never sees full DoB.

  • Service verifies token, checks age claim, then fulfils order.

Use Path 2 (JWS/JWT with claims) or Express. Same pattern for digital content, streaming age gates, or in-person handover checks.

4. Residency or Nationality-Gated Access

Goal: Restrict offers, pricing, or product access by region or nationality without seeing full ID.

  • Agent requests content, subscription, or product with a proof (JWS/JWT) that reveals e.g. nationality or residency.

  • Service verifies proof and reads only the disclosed claim (e.g. “UK national”, “EU resident”), then applies policy.

Use Path 2. Enables regional pricing, cross-border eligibility, right-to-rent style checks, and compliant geo-gating.

5. Compliance (KYC/AML) and Regulated Transactions

Goal: Let an agent execute financial actions (payments, withdrawals, gambling, lending) where the service must know the human is verified and compliant.

  • Agent sends request with Authorization: Bearer <token> (JWS/JWT) that includes the needed claims: e.g. clear AML, nationality, age.

  • Service verifies proof and checks claims (e.g. “clear AML”, “over 18”, “allowed jurisdiction”), then processes the transaction.

Use Path 2 (JWS + claims) or the ASP.NET Core pattern. Covers payouts, crypto/DeFi access, gambling, insurance, and any flow that today would re-ask for KYC or full ID.


Summary: Path 1 = “Is this wallet acting for a verified human?” (wallet-only). Path 2 = “Is this wallet acting for a human who meets these criteria?” (JWS/JWT with selective claims: age, nationality, AML, etc.). Full guide: ProofPack & Agent Delegation.

Last updated