agent402-langchain
v0.2.6
Published
LangChain.js tools for Agent402.Tools (the applied layer of Agentic Finance): turn its catalog - 500+ strong: 400+ pay-per-call tools (x402 or MPP) + 100+ skill packs (browser, web search, OCR, PDFs, memory) - into LangChain tools via four meta-tools (fin
Maintainers
Readme
agent402-langchain
LangChain.js tools for Agent402 - the open-source x402 + MCP server with 500+ pay-per-call web tools (browser, web search, OCR, PDFs, durable memory, 200+ pure-CPU utilities) and the cross-seller Smart Order Router that ranks tools across the whole x402 ecosystem.
Agent402 is the applied layer of Agentic Finance - agents that pay and get paid on their own over the two open wires, x402 and MPP (Machine Payments Protocol). Every paid endpoint answers both on the same 402; wallet-only tools take any payment-wrapped fetch (
@x402/fetch, or a stockmppxfetch).
npm install agent402-langchain @langchain/core zodQuickstart
import { agent402Tools } from "agent402-langchain";
// Free tier (proof-of-work auto-pay, no wallet)
const tools = await agent402Tools();
// Or, for wallet-required tools (browser, search, memory), supply an
// x402-wrapped fetch (e.g. @x402/fetch with your funded Base wallet):
const tools = await agent402Tools({ fetch: payFetch });
// Plug into any LangChain agent
import { createReactAgent } from "@langchain/langgraph/prebuilt";
const agent = createReactAgent({ llm, tools });What you get - four meta tools
The LLM picks tasks; the router picks sellers; the caller handles payment.
| Tool | Purpose |
|---|---|
| agent402_find | Resolve a plain-language task to the best local Agent402 tool - slug, route, price, input schema, and a ready example. |
| agent402_route | Cross-seller x402 router: rank tools across every x402 seller (Agent402 + other auto-discovered sellers from the Coinbase CDP Bazaar). include: "external" excludes Agent402 itself - neutral discovery API over the rest of the ecosystem. |
| agent402_call | Call a tool by slug. Pays automatically: pure-CPU tools via proof-of-work; wallet-only via your x402 fetch. |
| agent402_about | The Agent402 service manifest - payment options, capability map, MCP connector, trust signals. |
Why four meta tools and not one tool per slug? Registering 500+ individual tools blows past most agents' tool-budget and the LLM can't reason over hundreds of entries. Routing-as-discovery scales - the LLM describes the task, the router picks the cheapest healthy seller, the caller handles payment.
Migration from 0.1.x
[email protected] replaces the per-slug tool generator with the four-
meta-tool pattern. If you were using agent402Tools({ slugs: [...] }), the
new entry point is just agent402Tools() - the LLM picks slugs at runtime
via agent402_find and agent402_route.
Framework-agnostic specs
If you'd rather not pull in @langchain/core (or you want to wrap the tools
with your own factory), use the framework-agnostic export:
import { agent402ToolSpecs } from "agent402-langchain";
const specs = agent402ToolSpecs();
// specs = [{ name, description, parametersJsonSchema, execute }, ...]
const result = await specs.find((s) => s.name === "agent402_route").execute({
query: "ocr image",
top: 3,
include: "external",
});Options
agent402Tools({
baseUrl?: string, // default: "https://agent402.tools"
fetch?: typeof fetch, // x402-wrapped fetch for wallet-required tools
fetchImpl?: typeof fetch, // base fetch for unpaid lookups (default: global fetch)
})License
MIT - part of Agent402.
