# Agent Utility Network > 35 pay-per-call agent utilities from $0.001: JSON repair/validate, normalization, DNS/web and company intelligence. USDC on Base, no keys, MCP included. ## Company research and vendor due diligence POST https://api.avedaris.com/v1/paid/vendor-intelligence ($0.04) - Company Intelligence for company research and vendor due diligence: send a company name and website (optional question) and get a sourced profile with summary, official-site facts, public contact emails, recent mentions, evidence score, sources and limitations. For company lookup, vendor and supplier checks and KYB pre-screens from public web evidence; no registry, credit or firmographic data. ## How payment works (x402 v2, USDC on Base) 1. Send the request with no payment. The server answers HTTP 402 with a PAYMENT-REQUIRED header and JSON body listing price, asset (USDC), network (eip155:8453), payTo and an example request body. 2. Sign an exact-amount USDC authorization with any x402 client and resend the same request with the PAYMENT-SIGNATURE header. 3. The server settles and returns the result. No API key, account or subscription. ## No charge on failure - Input that fails pre-payment validation gets a free HTTP 400 with `paymentCreated: false` and the expected input, before any payment is created. - If a paid call cannot be fulfilled (for example a research upstream times out) the server returns 503 and does not settle the payment. - Send an optional `Idempotency-Key` header (8 to 128 characters) on paid calls. If a call with the same key, body and payer already settled, the stored result comes back and the new payment is not settled. - Prices below are catalog prices; the live 402 challenge is authoritative. ## Routes (35) ### Company & web intelligence - POST https://api.avedaris.com/v1/paid/dns-lookup | $0.002 | DNS lookup over HTTPS: send a hostname and up to six record types (A, AAAA, CNAME, MX, TXT, NS) and get the public answers with TTLs. - input: { hostname: string, types?: array } - example: {"hostname":"example.com","types":["A","AAAA","MX"]} - POST https://api.avedaris.com/v1/paid/domain-http-probe | $0.003 | Check website HTTP status availability redirects and headers. - input: { url: string } - example: {"url":"https://example.com/"} - POST https://api.avedaris.com/v1/paid/robots-inspect | $0.003 | Inspect robots.txt crawler rules and find sitemap URLs. - input: { url: string } - example: {"url":"https://example.com/"} - POST https://api.avedaris.com/v1/paid/page-metadata | $0.003 | Get webpage title meta description and canonical URL. - input: { url: string } - example: {"url":"https://example.com/"} - POST https://api.avedaris.com/v1/paid/page-read | $0.005 | Read a public URL and return clean webpage text with source provenance. - input: { url: string, maxChars?: integer } - example: {"url":"https://example.com/"} - POST https://api.avedaris.com/v1/paid/web-read-batch | $0.015 | Read up to 5 public web pages in one call. - input: { urls: array, maxCharsPerUrl?: integer } - example: {"urls":["https://example.com/","https://www.example.com/"]} - POST https://api.avedaris.com/v1/paid/company-quick-check | $0.008 | Quick company check: send a name and website; get site reachability, RDAP domain age, MX/SPF/DMARC and a name-vs-site match, with a pass/review verdict. - input: { name: string, websiteUrl: string } - example: {"name":"Example, Inc.","websiteUrl":"https://example.com/"} - POST https://api.avedaris.com/v1/paid/base-wallet-lookup | $0.003 | Look up a Base address: ETH balance, transaction count, contract or wallet, and ERC-20 balances (USDC by default, up to 5 tokens), read live from Base RPC. - input: { address: string, tokens?: array } - example: {"address":"0x4200000000000000000000000000000000000006"} - POST https://api.avedaris.com/v1/paid/vendor-watch-recheck | $0.005 | Supplier re-check: send a vendor domain; get a fresh public snapshot (site up/down and redirect host, registrar, registry status, DNS, MX/SPF/DMARC, trust verdict) and whether a... - input: { domain: string } - example: {"domain":"example.com"} - POST https://api.avedaris.com/v1/paid/vendor-what-changed | $0.01 | Supplier what-changed report: send a vendor domain; get a fresh snapshot, every field that changed since the previous stored check with before/after values and a high/medium/low... - input: { domain: string } - example: {"domain":"example.com"} - POST https://api.avedaris.com/v1/paid/email-domain-check | $0.002 | Check whether a domain can receive email: send an email address or domain and get whether it has MX and A/AAAA records. - input: { email: string } - example: {"email":"user@example.com"} - POST https://api.avedaris.com/v1/paid/domain-rdap-lookup | $0.003 | Domain age and registration lookup from public RDAP: registration, expiry and last-changed dates, age in days, registrar, registry status flags and nameservers for a domain. - input: { domain: string } - example: {"domain":"example.com"} - POST https://api.avedaris.com/v1/paid/email-auth-check | $0.003 | Email authentication check for a sending domain over DNS: MX, SPF (policy and lookup count), DMARC (policy, pct, reporting) and DKIM keys on common selectors. - input: { domain: string } - example: {"domain":"example.com"} - POST https://api.avedaris.com/v1/paid/website-health-report | $0.009 | Check website health DNS HTTP redirects robots and page metadata in one report. - input: { url: string } - example: {"url":"https://example.com/"} - POST https://api.avedaris.com/v1/paid/vendor-intelligence | $0.04 | Research a vendor company website and return Company Intelligence public due diligence signals sources with provenance. - input: { name: string, websiteUrl: string, objective?: string } - example: {"name":"Example, Inc.","websiteUrl":"https://example.com/","objective":"Summarize what this company does and surface evidence useful for a supplier-screening decision."} - POST https://api.avedaris.com/v1/paid/vendor-intelligence-batch | $0.03 | Vendor intelligence for 1 to 5 companies in one call at $0.03 per company (per-company pricing). - input: { companies: array } - example: {"companies":[{"name":"Example, Inc.","websiteUrl":"https://example.com/"},{"name":"Example Labs","websiteUrl":"https://www.example.com/"}]} - POST https://api.avedaris.com/v1/paid/domain-trust-score | $0.01 | Domain trust score in one call: combines RDAP domain age and registry status, DNS, MX, SPF, DMARC, DKIM and an HTTPS reachability probe into a deterministic 0-100 score, a verdi... - input: { domain: string } - example: {"domain":"example.com"} ### JSON & data cleanup - POST https://api.avedaris.com/v1/paid/json-repair | $0.005 | Repair malformed JSON and return valid structured JSON. - input: { input: string } - example: {"input":"{'hello':'world',}"} - POST https://api.avedaris.com/v1/paid/json-validate | $0.001 | Check whether text is strict JSON: send a string and get valid true/false, the value type, and parse diagnostics when it fails. - input: { input: string } - example: {"input":"{\"ok\":true}"} - POST https://api.avedaris.com/v1/paid/json-pretty | $0.001 | Format JSON for humans: send valid JSON text and get it back with stable two-space indentation. - input: { input: string } - example: {"input":"{\"a\":1}"} - POST https://api.avedaris.com/v1/paid/json-minify | $0.001 | Shrink JSON for transport: send valid JSON text and get the smallest equivalent form with whitespace removed and data unchanged. - input: { input: string } - example: {"input":"{\n \"a\": 1\n}"} - POST https://api.avedaris.com/v1/paid/data-clean-pipeline | $0.013 | One deterministic cleanup request instead of up to three tool calls: repair malformed JSON, optionally normalize an entity, and optionally extract structured text signals. - input: { json: string, entityName?: string, text?: string } - example: {"json":"{'ok':true,}","entityName":"Example, Inc.","text":"Email ops@example.com on 2026-09-01 about $25."} ### Normalization & parsing - POST https://api.avedaris.com/v1/paid/entity-normalize | $0.005 | Turn a company or organization name into a stable match key: send a name like "Acme, Inc." and get a canonical form and tokens with legal suffixes and punctuation removed. - input: { name: string } - example: {"name":"Acme, Inc."} - POST https://api.avedaris.com/v1/paid/text-extract-signals | $0.008 | Extract email addresses URLs dollar amounts and ISO dates from text. - input: { text: string } - example: {"text":"Email ops@example.com on 2026-08-30 about $25."} - POST https://api.avedaris.com/v1/paid/url-parse | $0.001 | Split a URL into parts: send an http(s) URL and get protocol, hostname, port, path, query entries and hash as fields. - input: { url: string } - example: {"url":"https://example.com:443/a?x=1#top"} - POST https://api.avedaris.com/v1/paid/url-normalize | $0.001 | Get one canonical form for a URL: send an http(s) URL and get one deterministic normalized form. - input: { url: string } - example: {"url":"HTTPS://Example.COM:443/a?b=2&a=1#top"} - POST https://api.avedaris.com/v1/paid/base64-encode | $0.001 | Base64-encode text: send UTF-8 text and get its Base64 string. - input: { text: string } - example: {"text":"hello"} - POST https://api.avedaris.com/v1/paid/base64-decode | $0.001 | Base64-decode safely: send a Base64 string and get the UTF-8 text, or a clear error when the input is not valid Base64. - input: { base64: string } - example: {"base64":"aGVsbG8="} - POST https://api.avedaris.com/v1/paid/text-slugify | $0.001 | Make a URL slug: send a title or phrase and get a lowercase, hyphenated, URL-safe slug. - input: { text: string } - example: {"text":"Hello, Agent World!"} - POST https://api.avedaris.com/v1/paid/email-normalize | $0.001 | Normalize an email address for matching: send an address and get its local part, domain and a lowercase comparison form. - input: { email: string } - example: {"email":"User@Example.COM"} - POST https://api.avedaris.com/v1/paid/uuid-validate | $0.001 | Check a UUID: send a string and get whether it is a valid UUID plus its version and variant. - input: { uuid: string } - example: {"uuid":"550e8400-e29b-41d4-a716-446655440000"} - POST https://api.avedaris.com/v1/paid/querystring-parse | $0.001 | Parse a query string: send ?a=1&b=2&a=3 style text and get ordered key/value entries and values grouped by key. - input: { query: string } - example: {"query":"?a=1&a=2&b=hello"} ### Agent payment infrastructure - POST https://api.avedaris.com/v1/paid/counterparty-preflight | $0.025 | Pre-payment economic and structural preflight for an external Base USDC counterparty: check endpoint reachability, payment terms, recipient format, caller budget, and economic c... - input: { endpoint: string, paymentRequirement: object, maxSpendUsd: number, maxEconomicallyRationalSpendUsd?: number, outcomeValueUsd?: number } - example: {"endpoint":"https://seller.example/v1/paid/task","paymentRequirement":{"amountUsd":0.01,"network":"eip155:8453","asset":"USDC","payTo":"0x1111111111111111111111111111111111111111"},"maxSpendUsd":0.05,"maxEconomicallyRationalSpendUsd":0.02,"outcomeValueUsd":0.1} - POST https://api.avedaris.com/v1/paid/ephemeral-utility | $0.02 | Issue a short-lived capability-token lease for a bounded declarative composition of approved AUN local utilities. - input: { ttlSeconds: integer, maxInvocations: integer, plan: object } - example: {"ttlSeconds":300,"maxInvocations":2,"plan":{"steps":[{"utilityId":"text.slugify","args":{"text":{"$ref":"input.text"}}},{"utilityId":"base64.encode","args":{"text":{"$ref":"prev.slug"}}}]}} - GET https://api.avedaris.com/v1/paid/delivery-proof | $0.001 | Verify paid x402 service delivery with a deterministic receipt. - input: no body ## MCP https://api.avedaris.com/mcp (streamable HTTP; add ?source= for attribution) ## Discovery /.well-known/agent-utility-network.json /.well-known/mcp.json /.well-known/mcp/server-card.json /.well-known/agent-skills/index.json /.well-known/skills/index.json /.well-known/x402 /.well-known/ai-catalog.json /.well-known/api-catalog /openapi.json /skill.md /llms-full.txt /registry.json /catalog.txt /endpoints.txt /docs /pricing /terms /sitemap.xml /v1/network/reputation /v1/network/distribution /v1/network/preference /v1/network/task-fit /v1/network/health AVEDARIS DISCOVERY BEACON https://api.avedaris.com/.well-known/avedaris-discovery.json Task query: POST https://api.avedaris.com/v1/network/discovery-beacon Utility competition: https://api.avedaris.com/v1/network/utility-competition Use the beacon to discover and shortlist machine-payable utilities before invoking a paid route. Close task-fit candidates compete for promotion using independent economic evidence; clear task-fit differences remain authoritative. When no live utility fits, the Capability Gap Oracle may record a one-way fingerprint and aggregate gap class without storing the raw task. Observations cannot spend funds, change prices, or launch utilities.