# AgentHub > 11 x402 pay-per-call APIs for AI agents: Algorand wallet risk scoring, transaction decoding, Algorand token risk screening, Algorand portfolio lookup, address relationship history, and Algorand token metadata, plus 5 more. No accounts, no API keys, no subscriptions — agents pay per request in USDC on Algorand mainnet. One is free to call. AgentHub is a marketplace of pay-per-call microservices for AI agents, built on the x402 payment protocol and settling in USDC on Algorand mainnet. There are no accounts, no API keys, and no subscriptions: an agent attaches a micropayment to a standard HTTP request and receives a result. Payment is the authorization layer. ## How to call these endpoints 1. Make a normal HTTP request to the endpoint. 2. The server responds with HTTP 402 Payment Required and a payment quote. 3. Sign a USDC transfer for the quoted amount to the quoted address. 4. Retry the identical request with the signature in the PAYMENT-SIGNATURE header. 5. The server verifies settlement through the facilitator and returns the result. Agents running the GoPlausible Algorand MCP server (@goplausible/algorand-mcp) can do all of this automatically with make_http_request_with_x402, and can discover these tools with bazaar_search. ## Tools ### Algorand wallet risk scoring — $0.03 per call - Endpoint: GET https://agenthub-production-8c75.up.railway.app/api/wallet-risk/{address} - Input: An Algorand address (58 characters) in the URL path. - Output: { address, riskScore (0-100), riskLevel (low|medium|high), signals: { accountAgeDays, txCount, balanceAlgo, usdcOptedIn, distinctCounterparties, rekeyed } } - Explainable 0-100 risk score for any Algorand address, computed from real on-chain indexer data. No LLM — deterministic and auditable. ### Algorand transaction explainer — $0.03 per call - Endpoint: GET https://agenthub-production-8c75.up.railway.app/api/explain-tx/{txid} - Input: An Algorand transaction id (52-character base32) in the URL path. - Output: { txid, type, typeLabel, summary, sender, confirmedRound, timestamp, feeAlgo, transfers: [{ asset, assetName, amount, amountRaw, from, to }], application, note, grouped } - Turn a transaction id into a plain-language summary plus structured detail — every transfer with resolved asset names, decoded app calls and inner transactions. No LLM. ### ASA risk / scam screen — $0.03 per call - Endpoint: GET https://agenthub-production-8c75.up.railway.app/api/asset-risk/{asaId} - Input: An Algorand Standard Asset id (numeric) in the URL path. - Output: { asaId, name, unitName, creator, riskScore, riskLevel, signals: { clawbackEnabled, freezeEnabled, defaultFrozen, managerCanReconfigure, topHolderPct, holdersSampled, concentrationExact, creatorAgeDays } } - Explainable 0-100 risk score for any Algorand Standard Asset: clawback and freeze powers, mutable supply, largest-holder concentration, and creator age. No LLM. ### Account portfolio snapshot — FREE, no payment required - Endpoint: GET https://agenthub-production-8c75.up.railway.app/api/portfolio/{address} - Input: An Algorand address (58 characters) in the URL path. - Output: { address, algo: { amount, amountRaw }, assets: [{ asaId, name, unitName, amount, amountRaw, decimals, isFrozen }], assetCount, truncated, priced } - Every holding for an Algorand address in one call — ALGO balance plus each ASA with resolved names and decimals-corrected amounts, largest first. No LLM. ### Address relationship check — $0.03 per call - Endpoint: GET https://agenthub-production-8c75.up.railway.app/api/relationship?a={addressA}&b={addressB} - Input: Two Algorand addresses as query parameters: a and b. - Output: { addressA, addressB, haveTransacted, txCount, totalMoved: [{ asset, assetName, amount, aToB, bToA }], firstInteraction, lastInteraction, scanned, windowComplete } - Have two Algorand addresses transacted? Returns transaction count, value moved per asset in each direction, and first/last interaction timestamps. No LLM. ### ASA metadata & supply — $0.02 per call - Endpoint: GET https://agenthub-production-8c75.up.railway.app/api/asset/{asaId} - Input: An Algorand Standard Asset id (numeric) in the URL path. - Output: { asaId, name, unitName, decimals, totalSupply, totalSupplyRaw, circulatingSupply, url, creator, destroyed, config: { hasManager, hasFreeze, hasClawback, hasReserve, defaultFrozen }, price (null for now), priceError } - Identify an Algorand token: name, decimals, declared and real circulating supply, creator, and configuration flags. Price data is not yet included. No LLM. ### Payment verification — $0.02 per call - Endpoint: POST https://agenthub-production-8c75.up.railway.app/api/verify-payment - Input: { "txid": string, "expectedSender"?: string, "expectedReceiver"?: string, "expectedAsset"?: string, "expectedAmount"?: number, "amountTolerance"?: number } - Output: { txid, verified, checks: { sender?, receiver?, asset?, amount? }, matchedTransfer, confirmedRound, timestamp } - Check a transaction against what you expected — sender, receiver, asset, amount — and get a pass/fail verdict with a per-check breakdown. Matches through inner transactions. No LLM. ### GitHub pull request review — $0.08 per call - Endpoint: POST https://agenthub-production-8c75.up.railway.app/api/code-review - Input: { "owner": string, "repo": string, "pull": number, "focus"?: string } - Output: { repository, pull, title, review, filesChanged, additions, deletions, diffBytesReviewed, diffTruncated, truncated } - Give a repo and PR number, get a structured review of the diff — concrete bugs, security issues, and error-handling gaps with file and line. Fetches the diff for you. ### Natural language to SQL — $0.03 per call - Endpoint: POST https://agenthub-production-8c75.up.railway.app/api/nl-to-sql - Input: { "question": string (max 2000), "schema": string (max 20000), "dialect"?: "postgres" | "mysql" | "sqlite" | "sqlserver" | "bigquery" | "snowflake" } - Output: { sql, dialect, readOnly, warnings, executed (always false), truncated } - Question plus schema in, a ready-to-run SQL query out, with a readOnly flag and warnings for destructive operations. Generates only — never executes. ### LLM text generation — $0.02 per call - Endpoint: POST https://agenthub-production-8c75.up.railway.app/api/inference - Input: { "prompt": string (max 8000 chars) } - Output: { "response": string, "truncated": boolean } - Send a natural-language prompt, receive generated text. Powered by Claude Haiku 4.5. ### Text summarization — $0.03 per call - Endpoint: POST https://agenthub-production-8c75.up.railway.app/api/summarize - Input: { "text": string (max 50000 chars), "maxWords"?: number, "style"?: "concise" | "bullets" | "detailed" } - Output: { "summary": string, "truncated": boolean } - Condense up to 50,000 characters into a concise summary, with optional length and style control. ## Settlement details - Network: Algorand mainnet - Asset: USDC (ASA 31566704) - Facilitator: https://facilitator.goplausible.xyz - Pay-to address (shared by all endpoints): G3YVTPURK6VFSM5CXEH7QFTZXLCXBJL6UMAIUUYJO4P2XF3MHQ4FUHYYB4 ## Notes - Prices are in US dollars and charged per successful call. - The wallet-risk, explain-tx, asset-risk, portfolio, relationship, asset and verify-payment endpoints use no LLM: they are deterministic analysis of public Algorand indexer data, and every signal behind the result is returned alongside it. - GET /api/portfolio/{address} is FREE: no x402 payment required, no account, no key. Call it directly to see real output before paying for anything. - Endpoints return structured JSON and standard HTTP status codes. A 400 indicates bad input, a 502 indicates an upstream failure (no charge should be retried blindly).