Integrations
Every AgentBIT tool is a plain HTTPS endpoint paid per call with x402 (USDC on Base) — no signup, no API keys. Pick your framework:
MCP (Claude Desktop, Claude Code, any MCP client)
AgentBIT runs an MCP server over Streamable HTTP. Tool definitions are generated live from the catalog — always in sync.
{
"mcpServers": {
"agentbit": {
"type": "http",
"url": "https://agentbit.app/mcp"
}
}
}
Calling a tool without payment returns the exact x402 requirements as structured content; sign an EIP-3009 authorization and retry with the _payment argument. Quick check: curl -X POST https://agentbit.app/mcp -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
LangChain (via OpenAPI — zero custom code)
LangChain generates tools automatically from an OpenAPI spec. Ours lives at /openapi.json with per-parameter descriptions (the LLM relies on them).
from langchain_community.agent_toolkits.openapi.toolkit import OpenAPIToolkit
from langchain_community.utilities.requests import TextRequestsWrapper
from langchain_community.tools.json.tool import JsonSpec
import requests
spec = JsonSpec(dict_=requests.get("https://agentbit.app/openapi.json").json())
toolkit = OpenAPIToolkit.from_llm(llm, spec, TextRequestsWrapper(), allow_dangerous_requests=True)
agent = create_react_agent(llm, toolkit.get_tools())
For paid calls, attach the PAYMENT-SIGNATURE header via the requests wrapper — or use the npm SDK below from a JS agent.
JavaScript / TypeScript — x402 buyer SDK
One function that does the whole x402 dance: fetch → 402 → sign EIP-3009 → retry. Works with AgentBIT and any spec-compliant x402 seller.
npm install x402-fetch-pay viem
import { payAndCall } from "x402-fetch-pay";
const result = await payAndCall("https://agentbit.app/v1/web/search", {
privateKey: process.env.PRIVATE_KEY,
body: { query: "x402 payment protocol", limit: 3 },
});
console.log(result.data);
Plain HTTP (any language)
# 1. Call any tool — the 402 tells you exactly what to pay
curl -X POST https://agentbit.app/v1/util/transform \
-H 'Content-Type: application/json' \
-d '{"operation":"sha256","input":"hello"}'
# 2. Sign an EIP-3009 TransferWithAuthorization for accepts[0]
# (EIP-712 domain: name = extra.name, version = extra.version)
# 3. Retry with the PAYMENT-SIGNATURE header (base64 PaymentPayload)
Machine-readable entry points: catalog.json · llms.txt · aggregated x402 discovery