check() step that returns an HTTP 402 challenge when payment is missing. The client pays on-chain, retries with proof, and the call goes through. Same shape across all 12 frameworks.
Available adapters
| Framework | What it gates | Source |
|---|---|---|
| LangChain | LLMs, chains, agent tool endpoints | langchain |
| LangGraph | Compiled StateGraph execution | langgraph |
| CrewAI | Crews, tasks, agent tools | crewai |
| AutoGen | Conversations, callable tools | autogen |
| AG2 | Multi-agent flows | (via AutoGen) |
| DSPy | Modules, programs, chains | dspy |
| LlamaIndex | LLMs, query engines, chat engines, ReAct agent tools | llamaindex |
| Pydantic AI | Agents, model calls | pydantic-ai |
| Vercel AI SDK | Model calls, tool calls | vercel-ai-sdk |
| Semantic Kernel | Chat completions, KernelFunction, plugins | semantic-kernel |
| Hugging Face | InferenceClient, transformers pipelines, smolagents tools | huggingface |
| Agno | Agno agents | agno |
| Google A2A | A2A endpoints (server side) | a2a |
Common shape
Every adapter has the same three-method surface:Picking a protocol
Each adapter supports x402, MPP, and AP2 on the same code path. Pick the one that matches your client:- x402 for HTTP-fronted endpoints. The most common case for LangChain or Vercel AI SDK servers.
- MPP for JSON-RPC or MCP-server-backed tools. Use when the call is method-shaped, not URL-shaped.
- AP2 for autonomous agents acting on a signed mandate.