{"openapi":"3.1.0","info":{"title":"Oblique Markets API","version":"2.0.0","description":"Autonomous M2M execution node with x402 micropayment-protected endpoints.\nProvides LLM inference, on-chain analytics, web extraction, token metrics, trading signals, and more.\nEach paid endpoint returns HTTP 402 with x402 payment requirements when no valid payment is provided.","x-guidance":"Oblique Markets is an autonomous M2M API node. All paid endpoints use the x402 payment protocol on Base mainnet or Solana mainnet (USDC). Agents should:\n1. Call any paid endpoint without payment to receive a 402 challenge with exact payment requirements.\n2. Pay via x402 (sign a payment header with USDC on Base mainnet eip155:8453 or Solana mainnet).\n3. Re-call the endpoint with the PAYMENT-SIGNATURE header to receive the result.\nFree endpoints (/health, /api/v1/models, /openapi.json, /llms.txt) require no payment.\nKey capabilities: LLM inference (ZenMux proxy, 145+ models), Dune Analytics SQL queries, web content extraction, token/wallet analytics, trading signals, market intelligence, company research, sentiment analysis, and crypto pricing.","contact":{"name":"Oblique Markets","url":"https://oblique.markets","email":"oblique-core@oblique.markets"}},"servers":[{"url":"https://api.oblique.markets","description":"Production"}],"paths":{"/health":{"get":{"operationId":"healthCheck","summary":"Health check","tags":["Public"],"security":[],"responses":{"200":{"description":"Operational status","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"uptime":{"type":"number"}}}}}}}}},"/api/v1/models":{"get":{"operationId":"listModels","summary":"Model catalog","tags":["Public"],"security":[],"responses":{"200":{"description":"Model catalog","content":{"application/json":{"schema":{"type":"object","properties":{"models":{"type":"array"},"count":{"type":"integer"}}}}}}}}},"/.well-known/agent.json":{"get":{"operationId":"agentManifest","summary":"Agent manifest (A2A protocol)","tags":["Public"],"security":[],"responses":{"200":{"description":"Agent manifest","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/llms.txt":{"get":{"operationId":"llmsTxt","summary":"LLM discovery document","tags":["Public"],"security":[],"responses":{"200":{"description":"Markdown documentation","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/openapi.json":{"get":{"operationId":"openapiSpec","summary":"OpenAPI specification","tags":["Public"],"security":[],"responses":{"200":{"description":"OpenAPI spec","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/paid/time":{"get":{"operationId":"serverTime","summary":"Current server time","description":"Return the current server time as ISO 8601 and Unix timestamps.","tags":["Utility"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.010000"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Current time","content":{"application/json":{"schema":{"type":"object","properties":{"time":{"type":"string","format":"date-time"},"unix":{"type":"integer"}}}}}},"402":{"description":"Payment Required"}}}},"/api/v1/paid/echo":{"get":{"operationId":"echo","summary":"Echo service — returns request metadata","description":"Echo request metadata for x402 client and integration diagnostics.","tags":["Utility"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.010000"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Echo response","content":{"application/json":{"schema":{"type":"object","properties":{"echo":{"type":"string"},"timestamp":{"type":"string"}}}}}},"402":{"description":"Payment Required"}}}},"/api/v1/paid/inference":{"post":{"operationId":"llmInference","summary":"LLM inference proxy (ZenMux, 145+ models)","description":"Run OpenAI-compatible chat completion inference through the ZenMux model gateway.","tags":["AI"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.010000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["model","messages"],"properties":{"model":{"type":"string","description":"Model ID (see /api/v1/models)","example":"anthropic/claude-sonnet-4"},"messages":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string"},"content":{"type":"string"}}},"description":"Chat messages"},"stream":{"type":"boolean","description":"Enable SSE streaming","default":false}}}}}},"responses":{"200":{"description":"Inference response","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment Required"}}}},"/api/v1/paid/dune-query":{"post":{"operationId":"duneQuery","summary":"Dune Analytics SQL query execution","description":"Execute bounded SQL analytics against Dune on-chain datasets or retrieve a saved Dune query.","tags":["On-chain Analytics"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.050000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Dune SQL query string or numeric query ID","example":"SELECT * FROM ethereum.transactions LIMIT 10"},"chain":{"type":"string","description":"Target blockchain","example":"ethereum"}}}}}},"responses":{"200":{"description":"Query results","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object"},"execution_id":{"type":"string"}}}}}},"402":{"description":"Payment Required"}}}},"/api/v1/paid/web-extract":{"post":{"operationId":"webExtract","summary":"Web page content extraction","description":"Fetch a public web page and return structured title, text content, links, and metadata.","tags":["Data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.030000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri","description":"URL to extract content from","example":"https://example.com/article"}}}}}},"responses":{"200":{"description":"Extracted content","content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"string"},"title":{"type":"string"},"url":{"type":"string"}}}}}},"402":{"description":"Payment Required"}}}},"/api/v1/paid/token-metrics":{"post":{"operationId":"tokenMetrics","summary":"Token fundamentals with holder distribution","description":"Analyze current token balances, holder distribution, concentration, and whale ownership across supported EVM chains.","tags":["On-chain Analytics"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.030000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["token_address"],"properties":{"token_address":{"type":"string","description":"Token contract address","example":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},"chain":{"type":"string","description":"Blockchain network","example":"base"}}}}}},"responses":{"200":{"description":"Token metrics","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment Required"}}}},"/api/v1/paid/wallet-analyze":{"post":{"operationId":"walletAnalysis","summary":"Wallet analysis — token flows and activity","description":"Analyze an EVM wallet address for 90-day transfer activity, counterparties, token flows, and active days.","tags":["On-chain Analytics"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.080000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["wallet_address"],"properties":{"wallet_address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"EVM wallet address to analyze","example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},"chain":{"type":"string","enum":["ethereum","base","arbitrum","optimism","polygon"],"description":"Blockchain network","example":"ethereum"}}}}}},"responses":{"200":{"description":"Wallet analysis","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment Required"}}}},"/api/v1/paid/sentiment":{"post":{"operationId":"sentimentAnalysis","summary":"Social media and news sentiment analysis","description":"Analyze supplied text or a topic for positive, neutral, and negative sentiment signals.","tags":["AI"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.050000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Topic or token to analyze sentiment for","example":"Bitcoin ETF approval"}}}}}},"responses":{"200":{"description":"Sentiment results","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment Required"}}}},"/api/v1/paid/company-research":{"post":{"operationId":"companyResearch","summary":"SEC EDGAR + web research for company intelligence","description":"Research a public company from SEC EDGAR filings and current web sources with citations.","tags":["Research"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.500000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["company"],"properties":{"company":{"type":"string","description":"Company name or ticker symbol","example":"Coinbase"}}}}}},"responses":{"200":{"description":"Company research report","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment Required"}}}},"/api/v1/paid/answer-with-sources":{"post":{"operationId":"sourcedAnswer","summary":"Sourced answer with cited web sources","description":"Answer a question from current web research and return a concise sourced answer with citations.","tags":["Research"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.650000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["question"],"properties":{"question":{"type":"string","description":"Question to answer with citations","example":"What is the current state of x402 adoption?"}}}}}},"responses":{"200":{"description":"Answer with cited sources","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment Required"}}}},"/api/v1/paid/crypto-price":{"get":{"operationId":"cryptoPrice","summary":"Crypto price — real-time cryptocurrency market data","description":"Look up the current USD crypto price for a token symbol using live market data with source attribution.","tags":["Data"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.004000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"symbol","in":"query","required":true,"schema":{"type":"string"},"description":"Token symbol (e.g., ETH, BTC, SOL)","example":"BTC"}],"responses":{"200":{"description":"Price data","content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string"},"price":{"type":"number"},"change_24h":{"type":"number"}}}}}},"402":{"description":"Payment Required"}}}},"/api/v1/paid/trading-signals":{"post":{"operationId":"tradingSignals","summary":"Crypto trading signals from on-chain data","description":"Generate crypto trading signals from whale transfers, token flows, and DEX volume in Dune on-chain data.","tags":["Trading"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.050000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["token"],"properties":{"token":{"type":"string","description":"Token address or symbol","example":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},"chain":{"type":"string","description":"Blockchain network","example":"base","default":"base"}}}}}},"responses":{"200":{"description":"Trading signals","content":{"application/json":{"schema":{"type":"object","properties":{"signal":{"type":"string"},"whale_activity":{"type":"object"},"dex_volume":{"type":"object"}}}}}},"402":{"description":"Payment Required"}}}},"/api/v1/paid/market-intel":{"post":{"operationId":"marketIntel","summary":"On-chain market intelligence for any project","description":"Build a crypto project intelligence report from Dune on-chain metrics and current public web sources.","tags":["On-chain Analytics"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.100000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["project"],"properties":{"project":{"type":"string","description":"Project name, token, or contract address","example":"Uniswap"},"chain":{"type":"string","description":"Blockchain network","example":"ethereum","default":"ethereum"}}}}}},"responses":{"200":{"description":"Market intelligence report","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment Required"}}}},"/api/v1/paid/wallet-spy":{"get":{"operationId":"walletSurveillance","summary":"Wallet surveillance — transactions, tokens, swaps, NFTs, and risk","description":"Inspect an EVM wallet for recent transactions, token flows, DEX swaps, NFT activity, counterparties, and a heuristic risk score.","tags":["On-chain Analytics"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.030000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"description":"EVM wallet address to inspect","example":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},{"name":"chain","in":"query","required":false,"schema":{"type":"string","enum":["ethereum","base","arbitrum","optimism","polygon"],"default":"base"},"description":"Blockchain network"}],"responses":{"200":{"description":"Wallet surveillance report","content":{"application/json":{"schema":{"type":"object"}}}},"402":{"description":"Payment Required"}}}}},"components":{"securitySchemes":{"x402":{"type":"http","scheme":"x402","description":"x402 HTTP 402 Payment Protocol. Pay with USDC on Base mainnet (eip155:8453) or Solana mainnet (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp). Facilitator: https://x402.dexter.cash"}}},"tags":[{"name":"Public","description":"Free endpoints — no payment required"},{"name":"AI","description":"LLM inference and AI-powered analysis"},{"name":"On-chain Analytics","description":"Blockchain data queries and wallet analysis"},{"name":"Data","description":"Web extraction and pricing data"},{"name":"Research","description":"Company research and sourced answers"},{"name":"Trading","description":"Trading signals and market intelligence"},{"name":"Utility","description":"Time, echo, and utility endpoints"}],"externalDocs":{"description":"x402 Payment Protocol Documentation","url":"https://docs.x402.org"}}