Skip to content
Back to horizonpulse.dev

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"
  }
}