Card snapshot
horizonpulse.dev
·
2026-10-08 13:49:11 UTC
·
c15a4aab4d8aa69b4fd2a525024ca09989094be0eff3a96a9abd7b2ac6fbb432
This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.
{
"_source": "agentic.market",
"service": {
"id": "horizonpulse-dev",
"name": "horizonpulse.dev",
"description": "",
"domain": "horizonpulse.dev",
"provider": "horizonpulse.dev",
"providerUrl": "",
"category": "",
"networks": [
"Base"
],
"enriched": false,
"endpoints": [
{
"url": "https://horizonpulse.dev/api/extract",
"description": "Extract structured page fields from a public URL or provided HTML (title, description, canonical, links, images, headings, json-ld, text sample); SSRF-safe; $0.015 between http ($0.01) and fetch ($0.02)",
"pricing": {
"amount": "0.015",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "GET",
"providerName": "",
"parameters": [
{
"group": "query",
"name": "url",
"type": "string",
"description": "",
"example": "https://example.com",
"enumValues": [],
"default": null,
"required": false
}
],
"serviceName": "Horizon Pulse",
"tags": [
"web-fetch",
"http-proxy",
"html-extract",
"crypto",
"market-data"
],
"quality": {
"l30DaysTotalCalls": "2",
"l30DaysUniquePayers": "1"
}
},
{
"url": "https://horizonpulse.dev/api/fetch",
"description": "Web page to text. Use when you need to read a public web page as clean text or markdown for an LLM. Call GET with required url (absolute http/https). Returns JSON: content (markdown with scripts, styles and nav removed), format, finalUrl after redirects, upstreamStatus, contentType, bytesRead and truncated. Caps: 200KB, 8s, 3 redirects; private and localhost targets are blocked. For raw status, headers and body use /api/http. Errors are not charged.",
"pricing": {
"amount": "0.02",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "GET",
"providerName": "",
"parameters": [
{
"group": "query",
"name": "url",
"type": "string",
"description": "",
"example": "https://example.com",
"enumValues": [],
"default": null,
"required": false
}
],
"serviceName": "Horizon Pulse",
"tags": [
"web",
"fetch",
"markdown",
"readability",
"text"
],
"quality": {
"l30DaysTotalCalls": "2",
"l30DaysUniquePayers": "2"
}
},
{
"url": "https://horizonpulse.dev/api/funding",
"description": "Crypto derivatives data. Use when you need current perpetual futures funding rates for BTC, ETH and SOL. Call GET with no parameters. Returns JSON per asset from OKX USDT swaps: instId, fundingRate, fundingTime and a rule-based crowding hint {side: longs/shorts/neutral, level: quiet/mild/elevated/extreme} with the thresholds used. OKX public data only. The hint is not a forecast or advice. Errors are not charged.",
"pricing": {
"amount": "0.01",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "GET",
"providerName": "",
"parameters": [],
"serviceName": "Horizon Pulse",
"tags": [
"crypto",
"funding-rates",
"perpetuals",
"derivatives",
"okx"
],
"quality": {
"l30DaysTotalCalls": "3",
"l30DaysUniquePayers": "3"
}
},
{
"url": "https://horizonpulse.dev/api/gas",
"description": "Blockchain gas fees. Use before sending a transaction on Base or Ethereum to choose fees and timing. Call GET with no parameters. Returns JSON per network: baseFeeGwei, priorityFeeGwei (p50, with p10/p90), suggestedMaxFeeGwei (2x base + priority), timingHint (cheap/normal/expensive vs the last 20 blocks) and simpleTransfer cost in ETH and USD, plus ethUsd. From eth_feeHistory with eth_gasPrice fallback. Descriptive, not a forecast. Errors are not charged.",
"pricing": {
"amount": "0.01",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "GET",
"providerName": "",
"parameters": [],
"serviceName": "Horizon Pulse",
"tags": [
"crypto",
"gas-fees",
"base",
"ethereum",
"transactions"
],
"quality": {
"l30DaysTotalCalls": "3",
"l30DaysUniquePayers": "3"
}
},
{
"url": "https://horizonpulse.dev/api/http",
"description": "HTTP proxy. Use when you need to call a public URL or API and get the raw response. GET with required url (optional method, headers as JSON string), or POST a JSON body {url, method, headers, body}. Methods: GET, POST, HEAD, PUT, PATCH, DELETE. Returns JSON: status, filtered headers, body (text or base64), contentType, finalUrl, elapsedMs. Caps: 384KB response, 64KB body, 12s, 3 redirects; private targets blocked. Upstream 4xx/5xx come back as data (charged); proxy errors are not.",
"pricing": {
"amount": "0.01",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "GET",
"providerName": "",
"parameters": [
{
"group": "query",
"name": "method",
"type": "string",
"description": "",
"example": "GET",
"enumValues": [],
"default": null,
"required": false
},
{
"group": "query",
"name": "url",
"type": "string",
"description": "",
"example": "https://example.com",
"enumValues": [],
"default": null,
"required": false
}
],
"serviceName": "Horizon Pulse",
"tags": [
"web",
"http-proxy",
"api-call",
"request",
"headers"
],
"quality": {
"l30DaysTotalCalls": "3",
"l30DaysUniquePayers": "3"
}
},
{
"url": "https://horizonpulse.dev/api/pdf",
"description": "PDF to text. Use when you need the text of a public PDF document. GET with required url (http/https, max 10MB) and optional pages (1-50, default 50). Returns JSON: pages [{page, text}], totalPages, pagesReturned, truncated, bytes, finalUrl and meta (title, author, subject, creator, producer, creationDate). Reads the PDF text layer with pdf.js; no OCR, so scanned image-only PDFs return 422. Max 100K chars. Not a PDF, encrypted, too large or failed downloads are not charged.",
"pricing": {
"amount": "0.02",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "GET",
"providerName": "",
"parameters": [
{
"group": "query",
"name": "url",
"type": "string",
"description": "",
"example": "https://horizonpulse.dev/sample.pdf",
"enumValues": [],
"default": null,
"required": false
}
],
"serviceName": "Horizon Pulse",
"tags": [
"documents",
"pdf",
"pdf-to-text",
"text-extraction",
"parse"
],
"quality": {
"l30DaysTotalCalls": "2",
"l30DaysUniquePayers": "2"
}
},
{
"url": "https://horizonpulse.dev/api/portfolio",
"description": "On-chain portfolio for one EVM address (?address=0x...) on Base + Ethereum: native ETH, USDC, WETH, WBTC/cbBTC, DAI; rule-based risk + rebalance suggestions",
"pricing": {
"amount": "0.04",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "GET",
"providerName": "",
"parameters": [
{
"group": "query",
"name": "address",
"type": "string",
"description": "",
"example": "0x...",
"enumValues": [],
"default": null,
"required": false
}
],
"serviceName": "",
"tags": [],
"quality": {
"l30DaysTotalCalls": "1",
"l30DaysUniquePayers": "1"
}
},
{
"url": "https://horizonpulse.dev/api/pulse",
"description": "Crypto market data. Use when you need current BTC, ETH and SOL spot prices in USD. Call GET with no parameters. Returns JSON: assets.BTC/ETH/SOL with priceUsd, change24hPct and momentum (bullish/bearish/neutral), plus overall momentum, sentiment (risk-on/risk-off/neutral), signal (buy/sell/hold) and avgChange24hPct, and asOf. Prices from Coinbase Exchange, CoinGecko fallback (source field). Labels are fixed rules on 24h change, not advice. Errors are not charged.",
"pricing": {
"amount": "0.005",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "GET",
"providerName": "",
"parameters": [],
"serviceName": "Horizon Pulse",
"tags": [
"crypto",
"market-data",
"spot-prices",
"btc-eth-sol",
"momentum"
],
"quality": {
"l30DaysTotalCalls": "9",
"l30DaysUniquePayers": "4"
}
},
{
"url": "https://horizonpulse.dev/api/screenshot",
"description": "Web page screenshot. Use when you need to see how a public page renders. GET with required url; optional width (320-1920), height (240-2000), fullPage=true (clipped at 4000px), format png/jpeg, delayMs (0-3000). Renders in headless Chromium and returns JSON: imageBase64, mimeType, width, height, bytes, finalUrl, pageStatus, title and blockedRequests. Every sub-request is checked; private targets blocked. Over the 25s budget returns 504. Errors are not charged.",
"pricing": {
"amount": "0.02",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "GET",
"providerName": "",
"parameters": [
{
"group": "query",
"name": "url",
"type": "string",
"description": "",
"example": "https://horizonpulse.dev",
"enumValues": [],
"default": null,
"required": false
}
],
"serviceName": "Horizon Pulse",
"tags": [
"web",
"screenshot",
"render",
"chromium",
"png"
],
"quality": {
"l30DaysTotalCalls": "2",
"l30DaysUniquePayers": "2"
}
},
{
"url": "https://horizonpulse.dev/api/search",
"description": "Web search with page contents. Use when you need current information from the web with sources to cite. GET with required q (max 300 chars) and optional n (1-5 pages, default 3). Searches Google results via Serper, then fetches each top result as clean markdown. Returns JSON: results with rank, url, title, snippet, per-page ok/status and content (up to 12K chars each), plus resultCount and fetchedOk. Billed when at least one result returns; zero results or provider errors are not charged.",
"pricing": {
"amount": "0.03",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "GET",
"providerName": "",
"parameters": [
{
"group": "query",
"name": "n",
"type": "string",
"description": "",
"example": "2",
"enumValues": [],
"default": null,
"required": false
},
{
"group": "query",
"name": "q",
"type": "string",
"description": "",
"example": "x402 payment protocol",
"enumValues": [],
"default": null,
"required": false
}
],
"serviceName": "Horizon Pulse",
"tags": [
"search",
"web-search",
"research",
"sources",
"markdown"
],
"quality": {
"l30DaysTotalCalls": "2",
"l30DaysUniquePayers": "2"
}
},
{
"url": "https://horizonpulse.dev/api/signals",
"description": "Crypto technical analysis. Use when you need indicators for BTC, ETH and SOL rather than just prices. Call GET with no parameters. Returns JSON per asset: rsi14, macd {macd, signal, histogram} (null when there are too few candles), bollinger {upper, middle, lower, period}, lastClose and OKX perpetual funding {fundingRate, fundingTime}. Computed from CoinGecko OHLC closes (Coinbase candles fallback); methodology included. Descriptive only, not advice. Errors are not charged.",
"pricing": {
"amount": "0.015",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "GET",
"providerName": "",
"parameters": [],
"serviceName": "Horizon Pulse",
"tags": [
"crypto",
"technical-analysis",
"rsi-macd-bollinger",
"indicators",
"funding-rates"
],
"quality": {
"l30DaysTotalCalls": "2",
"l30DaysUniquePayers": "2"
}
},
{
"url": "https://horizonpulse.dev/api/x402-check",
"description": "x402 developer tool. Use before paying an unknown x402 endpoint, or to debug your own. GET with required url (optional method GET/POST, body JSON for POST probes). Sends one unpaid request and never pays. Returns JSON: httpStatus, isX402, x402Version, decoded accepts (network, asset label, amount in USD, payTo and whether payTo is an EOA or contract), discovery metadata presence, and pass/warn/fail checks with a summary. Private targets are blocked. Errors are not charged.",
"pricing": {
"amount": "0.01",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "GET",
"providerName": "",
"parameters": [
{
"group": "query",
"name": "method",
"type": "string",
"description": "",
"example": "GET",
"enumValues": [],
"default": null,
"required": false
},
{
"group": "query",
"name": "url",
"type": "string",
"description": "",
"example": "https://horizonpulse.dev/api/pulse",
"enumValues": [],
"default": null,
"required": false
}
],
"serviceName": "Horizon Pulse",
"tags": [
"developer-tools",
"x402",
"audit",
"payment-check",
"discovery"
],
"quality": {
"l30DaysTotalCalls": "3",
"l30DaysUniquePayers": "2"
}
},
{
"url": "https://horizonpulse.dev/api/yield",
"description": "DeFi yields. Use when you need to compare current DeFi pool yields, especially stablecoin or single-asset pools. Call GET with no parameters. Returns JSON: up to 25 pools ranked by preference tier then APY, each with project, chain, symbol, tvlUsd, apy, apyBase, apyReward, apyMean30d, stablecoin, exposure, ilRisk and poolId. Filters: TVL >= $10M, non-outlier APY. Figures passed through from DefiLlama at fetch time, not advice. Errors are not charged.",
"pricing": {
"amount": "0.02",
"currency": "USDC",
"network": "eip155:8453",
"scheme": "exact",
"maxAmount": "",
"minAmount": ""
},
"method": "GET",
"providerName": "",
"parameters": [],
"serviceName": "Horizon Pulse",
"tags": [
"defi",
"yield",
"apy",
"stablecoins",
"defillama"
],
"quality": {
"l30DaysTotalCalls": "2",
"l30DaysUniquePayers": "2"
}
}
],
"integrationType": "",
"isNew": false,
"priceSummary": {
"minAmount": "0.005",
"maxAmount": "0.04",
"avgCostPerTransaction": "0.017308",
"avgCostBasis": "exact",
"currency": "USDC"
},
"serviceName": "Horizon Pulse",
"tags": [
"web-fetch",
"http-proxy",
"html-extract",
"crypto",
"market-data",
"web",
"fetch",
"markdown",
"readability",
"text",
"funding-rates",
"perpetuals",
"derivatives",
"okx",
"gas-fees",
"base",
"ethereum",
"transactions",
"api-call",
"request",
"headers",
"documents",
"pdf",
"pdf-to-text",
"text-extraction",
"parse",
"spot-prices",
"btc-eth-sol",
"momentum",
"screenshot",
"render",
"chromium",
"png",
"search",
"web-search",
"research",
"sources",
"technical-analysis",
"rsi-macd-bollinger",
"indicators",
"developer-tools",
"x402",
"audit",
"payment-check",
"discovery",
"defi",
"yield",
"apy",
"stablecoins",
"defillama"
],
"iconUrl": "https://res.cloudinary.com/bdb-prod/image/upload/c_fill,ar_1:1,w_256,h_256,f_auto,q_auto/v1790623595/bazaar-icons/2ff6a4fc61cbe047.png"
}
}