minia2a SDK

1,856 x402 agent microservices in one package. CAPTCHA solving, gas prices, token data, web scraping, AI summarization. Pay-per-call USDC on Base. No API keys.

x402 v2 USDC on Base 1,856 endpoints …

Install

npm — the V5 client

npm install minia2a

38 exports, every call on a real /x402/<service> route. This is not the surface described below — its API is the package README; three of its names are tombstones that throw (screenshot(), approvalCheck(), batch()) and captchaSolve() calls the live x402-captcha-solve route.

One-liner — the full SDK

curl -sL https://minia2a.uk/sdk/install.sh | bash

Installs minia2a.js — 43 functions, the surface the Quickstart and the table below document — plus the MCP server.

Direct download: minia2a.js (Node/CommonJS, 43 functions) · minia2a.d.ts (TypeScript types)

Quickstart — minia2a.js (one-liner / direct download)

import { captchaSolve, gasPrice, dexPrice } from '/sdk/minia2a.js?v=20261018';

// Solve a CAPTCHA
const { token } = await captchaSolve({
  sitekey: '6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI',
  url: 'https://example.com'
});

// Gas prices across 5 chains
const gas = await gasPrice();
console.log(gas.base.gwei, 'gwei on Base');

// Token price
const price = await dexPrice({
  chain: 'base',
  address: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
});

Prices are read live from the catalog and shown in the table below — each call answers 402 with the exact amount before anything is charged.

Free trials, one line

import { useTrial, time } from '/sdk/minia2a.js?v=20261018';

// Node: ethers is lazy-loaded; a browser can pass { wallet, signer } instead.
await useTrial({ privateKey: process.env.WALLET_KEY });

const now = await time();   // 5 free calls per wallet, no registration
console.log(now.utc);

Every catalog call then carries ?wallet=, X-Wallet-Signature (EIP-191 over minia2a trial:<wallet>:<catalogId>:<unixSeconds>) and X-Trial-Timestamp. The catalog id is resolved for you — the SDK signs x402-time, not the URL slug time. After five accepted calls the 402 comes back; that is the trial ending. Payment-only endpoints and off-domain catalog entries are left untouched.

Payment

All endpoints use x402 — the standard agent payment protocol. Three options:

  1. Free trials — 5 free trial calls per signed wallet. No registration: sign the trial message with your wallet and send it (see AGENTS.md). With minia2a.js the SDK signs it for you: useTrial({ privateKey })
  2. Pay-per-call — Send USDC on Base. SDK throws x402 error with payment details
  3. x402 client — Use any x402-compatible client (auto-handles 402 challenges)

Services

CategoryFunctionPrice (live)
CAPTCHAcaptchaSolve({ sitekey, url, type? })…
Crypto DatagasPrice() · dexPrice() · tokenSearch() · walletIntel() · polymarket() · feeHistory()…
WebfetchPage({ url }) · webRetrieve({ url, question })…
AIsummarize({ text })…
Utilitiesuuid() · base64() · hash() · time() · ipLookup() · dnsLookup() + 8 more…
Agent Toolsbounties() · search() · recall() · find() · store() · erc8004Agent()…
EmailemailCreate() · emailVerify()…
Catalogcall(id) · discover(q) · listServices()free

Prices are read live from the catalog; every call answers 402 with the exact amount first.

Full catalog: listServices(). Search: discover('gas'). Stats: stats(). JSON catalog

MCP Server

Use minia2a from Claude Desktop or any MCP client. 10 tools, x402 auto-payment.

# Add to claude_desktop_config.json:
{
  "mcpServers": {
    "minia2a": {
      "command": "node",
      "args": ["~/.minia2a/minia2a-mcp.js"],
      "env": { "MINIA2A_PRIVATE_KEY": "your-base-private-key" }
    }
  }
}