{"openapi":"3.1.0","info":{"title":"AsterPay Data API","version":"3.0.0","description":"Trust, discovery, and fiat settlement layer for AI agent commerce. Dual-protocol: accepts both x402 and MPP payments in USDC on Base. EUR/GBP/USD fiat settlement via SEPA Instant.","contact":{"name":"AsterPay","url":"https://asterpay.io","email":"petteri@asterpay.io"},"guidance":"AsterPay is an API for AI agents that provides trust scoring, market data, AI tools, crypto analytics, and fiat settlement.\n\nFREE endpoints (no payment):\n- GET /v1/agent/trust-score/{address} — Score any agent 0-100\n- GET /v1/agent/verify/{address} — ERC-8004 identity check\n- GET /v1/settlement/estimate?amount={usdc} — EUR settlement estimate\n- GET /v1/agent/discovery — Full API discovery\n- GET /v2/x402/market/rates — Market rates\n- GET /v1/market/price/{symbol} — Real-time crypto price (also /ohlcv, /trending)\n- POST /v1/ai/summarize — Text summarization (also /sentiment, /translate, /fact-check)\n- GET /v1/crypto/whale-alerts — Recent whale movements\n\nPAID endpoints (x402 or MPP, USDC on Base):\n- GET /v1/agent/deep-analysis/{address} — $0.01 — Deep behavioral analysis\n- GET /v1/crypto/token-analysis/{address} — $0.10 — Token security analysis\n- GET /v1/crypto/wallet-score/{address} — $0.05 — Wallet reputation score\n- POST /v1/ai/code-review — $0.05 — Code security & quality analysis\n- GET /v2/x402/crypto/prices — $0.005 — Aggregated price feed\n\nPayment: Send USDC on Base to the address in the 402 challenge. Both x402 (PAYMENT-SIGNATURE header) and MPP (Authorization: Payment header) are accepted.\nSettlement: After payment, AsterPay can settle USDC to EUR via SEPA Instant in under 10 seconds."},"x-service-info":{"categories":["finance","ai","data","crypto","compliance"],"docs":{"homepage":"https://asterpay.io","apiReference":"https://x402.asterpay.io/docs","llms":"https://x402.asterpay.io/llms.txt"}},"x-discovery":{"ownershipProofs":["https://x402.asterpay.io/.well-known/mpp-methods.json"]},"servers":[{"url":"https://x402.asterpay.io"}],"paths":{"/v1/agent/trust-score/{address}":{"get":{"operationId":"getAgentTrustScore","summary":"Agent Trust Score (KYA) — Free","description":"Score any AI agent 0-100. Identity, wallet history, sanctions, attestations.","tags":["trust"],"parameters":[{"name":"address","in":"path","required":true,"schema":{"type":"string"},"description":"Wallet address or ENS name"}],"responses":{"200":{"description":"Trust score result","content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string"},"score":{"type":"integer","minimum":0,"maximum":100},"tier":{"type":"string","enum":["Open","Verified","Trusted","Enterprise"]},"breakdown":{"type":"object"}},"required":["address","score","tier"]}}}}},"security":[]}},"/v1/agent/verify/{address}":{"get":{"operationId":"verifyAgent","summary":"Agent Identity Verification — Free","description":"Quick identity check against ERC-8004 registry.","tags":["trust"],"parameters":[{"name":"address","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Verification result","content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string"},"verified":{"type":"boolean"},"erc8004":{"type":"object"}},"required":["address","verified"]}}}}},"security":[]}},"/v1/agent/tier/{address}":{"get":{"operationId":"getAgentTier","summary":"Agent Trust Tier — Free","description":"Trust tier classification (Open/Verified/Trusted/Enterprise).","tags":["trust"],"parameters":[{"name":"address","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tier result","content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string"},"tier":{"type":"string"}},"required":["address","tier"]}}}}},"security":[]}},"/v1/settlement/estimate":{"get":{"operationId":"getSettlementEstimate","summary":"Fiat Settlement Estimate — Free","description":"Calculate EUR settlement amount with fees, FX rate, and estimated time.","tags":["settlement"],"parameters":[{"name":"amount","in":"query","required":true,"schema":{"type":"number"},"description":"USDC amount to settle"}],"responses":{"200":{"description":"Settlement estimate","content":{"application/json":{"schema":{"type":"object","properties":{"input_usdc":{"type":"number"},"output_eur":{"type":"number"},"fx_rate":{"type":"number"},"fee_usdc":{"type":"number"},"estimated_seconds":{"type":"integer"}},"required":["input_usdc","output_eur"]}}}}},"security":[]}},"/v1/agent/discovery":{"get":{"operationId":"getAgentDiscovery","summary":"Agent Discovery — Free","description":"Complete API discovery with dual-protocol payment info.","tags":["discovery"],"responses":{"200":{"description":"Discovery payload","content":{"application/json":{"schema":{"type":"object","properties":{"provider":{"type":"string"},"protocols":{"type":"array","items":{"type":"string"}},"endpoints":{"type":"object"}},"required":["provider","protocols"]}}}}},"security":[]}},"/v2/x402/market/rates":{"get":{"operationId":"getMarketRates","summary":"Market Rates — Free","description":"Real-time crypto market rates and FX data.","tags":["market"],"responses":{"200":{"description":"Market rates","content":{"application/json":{"schema":{"type":"object","properties":{"rates":{"type":"object"},"timestamp":{"type":"string"}},"required":["rates"]}}}}},"security":[]}},"/v1/agent/deep-analysis/{address}":{"get":{"operationId":"getDeepAnalysis","summary":"Deep Agent Analysis — $0.01","description":"Comprehensive behavioral analysis with velocity scoring, risk signals, and pattern detection.","tags":["trust"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.010000"},"protocols":[{"x402":{}},{"mpp":{"method":"asterpay","intent":"charge","currency":"USDC"}}]},"parameters":[{"name":"address","in":"path","required":true,"schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","example":"0x1234567890123456789012345678901234567890"},"description":"Agent wallet address (0x-prefixed, 40 hex chars) or ENS name"}],"responses":{"200":{"description":"Deep analysis result","content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string"},"trust_score":{"type":"integer"},"risk_level":{"type":"string"},"behavioral_signals":{"type":"object"},"velocity":{"type":"object"}},"required":["address","trust_score","risk_level"]}}}},"402":{"description":"Payment Required"}}}},"/v1/agent/deep-analysis/batch":{"post":{"operationId":"batchDeepAnalysis","summary":"Batch Deep Analysis — $0.05","description":"Deep analysis for up to 10 agents in one call.","tags":["trust"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.050000"},"protocols":[{"x402":{}},{"mpp":{"method":"asterpay","intent":"charge","currency":"USDC"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"addresses":{"type":"array","items":{"type":"string"},"maxItems":10,"description":"Array of wallet addresses"}},"required":["addresses"]}}}},"responses":{"200":{"description":"Batch results","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object"}}},"required":["results"]}}}},"402":{"description":"Payment Required"}}}},"/v1/market/price/{symbol}":{"get":{"operationId":"getMarketPrice","summary":"Real-time Crypto Price — free","description":"Current price for any supported cryptocurrency. Free tier (no payment required).","tags":["market"],"parameters":[{"name":"symbol","in":"path","required":true,"schema":{"type":"string"},"description":"Token symbol (BTC, ETH, SOL, etc.)"}],"responses":{"200":{"description":"Price data","content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string"},"price_usd":{"type":"number"},"change_24h":{"type":"number"},"timestamp":{"type":"string"}},"required":["symbol","price_usd"]}}}}},"security":[]}},"/v1/market/ohlcv/{symbol}":{"get":{"operationId":"getOhlcv","summary":"OHLCV Candles — free","description":"Open-high-low-close-volume candlestick data. Free tier (no payment required).","tags":["market"],"parameters":[{"name":"symbol","in":"path","required":true,"schema":{"type":"string"},"description":"Token symbol"}],"responses":{"200":{"description":"OHLCV candles","content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string"},"candles":{"type":"array","items":{"type":"object"}}},"required":["symbol","candles"]}}}}},"security":[]}},"/v1/market/trending":{"get":{"operationId":"getTrending","summary":"Trending Tokens — free","description":"Currently trending cryptocurrencies by volume and social mentions. Free tier (no payment required).","tags":["market"],"responses":{"200":{"description":"Trending tokens","content":{"application/json":{"schema":{"type":"object","properties":{"tokens":{"type":"array","items":{"type":"object"}}},"required":["tokens"]}}}}},"security":[]}},"/v2/x402/crypto/prices":{"get":{"operationId":"getCryptoPrices","summary":"Aggregated Crypto Price Feed — $0.005","description":"BTC, ETH, SOL, stablecoins — aggregated from multiple sources.","tags":["market"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005000"},"protocols":[{"x402":{}},{"mpp":{"method":"asterpay","intent":"charge","currency":"USDC"}}]},"parameters":[{"name":"symbols","in":"query","required":false,"schema":{"type":"string","example":"BTC,ETH,SOL"},"description":"Optional comma-separated token symbols to filter the feed (defaults to top tokens + stablecoins)"}],"responses":{"200":{"description":"Price feed","content":{"application/json":{"schema":{"type":"object","properties":{"prices":{"type":"object"},"timestamp":{"type":"string"}},"required":["prices"]}}}},"402":{"description":"Payment Required"}}}},"/v1/ai/summarize":{"post":{"operationId":"aiSummarize","summary":"Text Summarization — free","description":"AI-powered text summarization. Supports long-form content. Free tier (no payment required).","tags":["ai"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string","description":"Text to summarize"},"max_length":{"type":"integer","description":"Max summary length in words"}},"required":["text"]}}}},"responses":{"200":{"description":"Summary","content":{"application/json":{"schema":{"type":"object","properties":{"summary":{"type":"string"},"word_count":{"type":"integer"}},"required":["summary"]}}}}},"security":[]}},"/v1/ai/sentiment":{"post":{"operationId":"aiSentiment","summary":"Sentiment Analysis — free","description":"AI sentiment analysis on text. Returns sentiment score and label. Free tier (no payment required).","tags":["ai"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string","description":"Text to analyze"}},"required":["text"]}}}},"responses":{"200":{"description":"Sentiment result","content":{"application/json":{"schema":{"type":"object","properties":{"sentiment":{"type":"string","enum":["positive","negative","neutral"]},"score":{"type":"number"}},"required":["sentiment","score"]}}}}},"security":[]}},"/v1/ai/translate":{"post":{"operationId":"aiTranslate","summary":"Multi-language Translation — free","description":"Translate text between 50+ languages. Free tier (no payment required).","tags":["ai"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string","description":"Text to translate"},"target_language":{"type":"string","description":"ISO 639-1 code (e.g. fi, de, fr)"},"source_language":{"type":"string","description":"Source language (auto-detected if omitted)"}},"required":["text","target_language"]}}}},"responses":{"200":{"description":"Translation","content":{"application/json":{"schema":{"type":"object","properties":{"translated_text":{"type":"string"},"target_language":{"type":"string"}},"required":["translated_text"]}}}}},"security":[]}},"/v1/ai/code-review":{"post":{"operationId":"aiCodeReview","summary":"Code Analysis — $0.05","description":"AI code review with security and quality analysis.","tags":["ai"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.050000"},"protocols":[{"x402":{}},{"mpp":{"method":"asterpay","intent":"charge","currency":"USDC"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"Source code to review"},"language":{"type":"string","description":"Programming language"}},"required":["code"]}}}},"responses":{"200":{"description":"Code review","content":{"application/json":{"schema":{"type":"object","properties":{"issues":{"type":"array","items":{"type":"object"}},"quality_score":{"type":"integer"}},"required":["issues","quality_score"]}}}},"402":{"description":"Payment Required"}}}},"/v1/ai/fact-check":{"post":{"operationId":"aiFactCheck","summary":"Fact-Check — free","description":"Source-bounded fact-check. Verify a claim against provided source text. Does NOT search the web. Free tier (no payment required).","tags":["ai"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"claim":{"type":"string","description":"Factual claim to verify (10-2000 chars)","minLength":10,"maxLength":2000},"source":{"type":"string","description":"Source text to verify against (50-15000 chars)","minLength":50,"maxLength":15000}},"required":["claim","source"]}}}},"responses":{"200":{"description":"Fact-check result","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":"string","enum":["supported","contradicted","unverifiable"]},"confidence":{"type":"number"},"evidence":{"type":"string"},"summary":{"type":"string"}},"required":["verdict","confidence","evidence","summary"]}}}}},"security":[]}},"/v2/x402/ai/fact-check":{"post":{"operationId":"aiFactCheckX402","summary":"Fact-Check (x402) — $0.01","description":"Source-bounded fact-check via x402 payment. Same as /v1/ai/fact-check.","tags":["ai"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.010000"},"protocols":[{"x402":{}},{"mpp":{"method":"asterpay","intent":"charge","currency":"USDC"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"claim":{"type":"string","minLength":10,"maxLength":2000},"source":{"type":"string","minLength":50,"maxLength":15000}},"required":["claim","source"]}}}},"responses":{"200":{"description":"Fact-check result","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":"string"},"confidence":{"type":"number"},"evidence":{"type":"string"},"summary":{"type":"string"}},"required":["verdict"]}}}},"402":{"description":"Payment Required"}}}},"/v2/x402/ai/fact-check/deep":{"post":{"operationId":"aiFactCheckDeep","summary":"Deep Fact-Check — $0.05","description":"Deep fact-check with claim decomposition. Breaks compound claims into max 5 sub-claims, verifies each. Deterministic overall verdict.","tags":["ai"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.050000"},"protocols":[{"x402":{}},{"mpp":{"method":"asterpay","intent":"charge","currency":"USDC"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"claim":{"type":"string","minLength":10,"maxLength":2000},"source":{"type":"string","minLength":50,"maxLength":30000}},"required":["claim","source"]}}}},"responses":{"200":{"description":"Deep fact-check result","content":{"application/json":{"schema":{"type":"object","properties":{"overall_verdict":{"type":"string","enum":["supported","contradicted","unverifiable","partially_supported"]},"claims":{"type":"array","items":{"type":"object"}},"claims_checked":{"type":"integer"}},"required":["overall_verdict","claims"]}}}},"402":{"description":"Payment Required"}}}},"/v2/x402/ai/sentiment":{"post":{"operationId":"aiMarketSentiment","summary":"AI Market Sentiment — $0.01","description":"AI-powered market sentiment analysis with crypto context.","tags":["ai"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.010000"},"protocols":[{"x402":{}},{"mpp":{"method":"asterpay","intent":"charge","currency":"USDC"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string","description":"Market text to analyze"},"context":{"type":"string","description":"Optional crypto context"}},"required":["text"]}}}},"responses":{"200":{"description":"Market sentiment","content":{"application/json":{"schema":{"type":"object","properties":{"sentiment":{"type":"string"},"confidence":{"type":"number"},"market_impact":{"type":"string"}},"required":["sentiment","confidence"]}}}},"402":{"description":"Payment Required"}}}},"/v1/crypto/wallet-score/{address}":{"get":{"operationId":"getWalletScore","summary":"Wallet Reputation Score — $0.05","description":"Reputation score for any wallet. Analyzes transaction history, age, and risk.","tags":["crypto"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.050000"},"protocols":[{"x402":{}},{"mpp":{"method":"asterpay","intent":"charge","currency":"USDC"}}]},"parameters":[{"name":"address","in":"path","required":true,"schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","example":"0x1234567890123456789012345678901234567890"},"description":"Wallet address (0x-prefixed, 40 hex chars)"}],"responses":{"200":{"description":"Wallet score","content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string"},"score":{"type":"integer"},"risk_level":{"type":"string"}},"required":["address","score"]}}}},"402":{"description":"Payment Required"}}}},"/v1/crypto/token-analysis/{address}":{"get":{"operationId":"getTokenAnalysis","summary":"Token Security Analysis — $0.10","description":"Security analysis for any token contract. Checks rugs, honeypots, liquidity risks.","tags":["crypto"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.100000"},"protocols":[{"x402":{}},{"mpp":{"method":"asterpay","intent":"charge","currency":"USDC"}}]},"parameters":[{"name":"address","in":"path","required":true,"schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","example":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},"description":"Token contract address (0x-prefixed, 40 hex chars)"}],"responses":{"200":{"description":"Token analysis","content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string"},"risk_score":{"type":"integer"},"flags":{"type":"array","items":{"type":"string"}}},"required":["address","risk_score"]}}}},"402":{"description":"Payment Required"}}}},"/v1/crypto/whale-alerts":{"get":{"operationId":"getWhaleAlerts","summary":"Whale Alert Feed — free","description":"Recent large-value transfers across major chains. Free tier (no payment required).","tags":["crypto"],"responses":{"200":{"description":"Whale alerts","content":{"application/json":{"schema":{"type":"object","properties":{"alerts":{"type":"array","items":{"type":"object"}}},"required":["alerts"]}}}}},"security":[]}},"/v1/util/screenshot":{"post":{"operationId":"screenshot","summary":"Webpage Screenshot — free","description":"Capture a screenshot of any webpage. Free tier (no payment required).","tags":["utility"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"URL to screenshot"},"width":{"type":"integer"},"height":{"type":"integer"}},"required":["url"]}}}},"responses":{"200":{"description":"Screenshot","content":{"application/json":{"schema":{"type":"object","properties":{"image_url":{"type":"string"}},"required":["image_url"]}}}}},"security":[]}},"/v1/util/pdf-generate":{"post":{"operationId":"pdfGenerate","summary":"HTML to PDF — free","description":"Convert HTML content to PDF document. Free tier (no payment required).","tags":["utility"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"html":{"type":"string","description":"HTML content to convert"},"options":{"type":"object","description":"PDF options (page size, margins, etc.)"}},"required":["html"]}}}},"responses":{"200":{"description":"PDF","content":{"application/json":{"schema":{"type":"object","properties":{"pdf_url":{"type":"string"}},"required":["pdf_url"]}}}}},"security":[]}},"/v1/sessions/packages":{"get":{"operationId":"getSessionPackages","summary":"Session Packages — Free","description":"Available prepaid session packages for high-volume agents.","tags":["sessions"],"responses":{"200":{"description":"Session packages","content":{"application/json":{"schema":{"type":"object","properties":{"packages":{"type":"array","items":{"type":"object"}}},"required":["packages"]}}}}},"security":[]}},"/v1/mpe/merchants/resolve":{"get":{"operationId":"resolveMerchantGet","summary":"Merchant Payment Endpoint — Free (resolve by business ID)","description":"Resolve a merchant's payment endpoint (IBAN/BIC) from a provable source. Provide merchant_id, or business_id + business_id_type. Try the demo merchant: business_id=FI-DEMO-0001&business_id_type=demo.","tags":["settlement"],"parameters":[{"name":"merchant_id","in":"query","required":false,"schema":{"type":"string"},"description":"AsterPay merchant id"},{"name":"business_id","in":"query","required":false,"schema":{"type":"string","example":"FI-DEMO-0001"},"description":"VAT / company number / LEI / DUNS (with business_id_type)"},{"name":"business_id_type","in":"query","required":false,"schema":{"type":"string","enum":["vat","y_tunnus","company_number","lei","duns","demo"],"example":"demo"},"description":"Type of business_id"}],"responses":{"200":{"description":"Resolved merchant payment endpoint","content":{"application/json":{"schema":{"type":"object","properties":{"merchant_id":{"type":"string"},"name":{"type":"string"},"verified":{"type":"boolean"},"payment_endpoints":{"type":"array","items":{"type":"object"}}},"required":["merchant_id"]}}}}},"security":[]},"post":{"operationId":"resolveMerchant","summary":"Merchant Payment Endpoint — Free (resolve by business ID)","description":"Resolve a merchant's payment endpoint (IBAN/BIC) from a provable source. Provide merchant_id, OR business_id + business_id_type. Try the demo merchant: { \"business_id\": \"FI-DEMO-0001\", \"business_id_type\": \"demo\" }.","tags":["settlement"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"merchant_id":{"type":"string","description":"AsterPay merchant id"},"business_id":{"type":"string","description":"VAT / company number / LEI / DUNS (with business_id_type)","example":"FI-DEMO-0001"},"business_id_type":{"type":"string","enum":["vat","y_tunnus","company_number","lei","duns","demo"],"example":"demo"}}}}}},"responses":{"200":{"description":"Resolved merchant payment endpoint","content":{"application/json":{"schema":{"type":"object","properties":{"merchant_id":{"type":"string"},"name":{"type":"string"},"verified":{"type":"boolean"},"payment_endpoints":{"type":"array","items":{"type":"object"}}},"required":["merchant_id"]}}}}},"security":[]}}}}