{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_r3zr4rpc8asu","handle":"horizon-pulse","url":"https://wellknown.network/agents/horizon-pulse","links":{"self":"https://wellknown.network/agents/horizon-pulse/record.json","html":"https://wellknown.network/agents/horizon-pulse","markdown":"https://wellknown.network/agents/horizon-pulse/record.md","api":"https://wellknown.network/api/v1/agents/horizon-pulse","status":"https://wellknown.network/api/v1/agents/horizon-pulse/status","claim":"https://wellknown.network/agents/horizon-pulse/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/horizon-pulse/claim.json","badge":"https://wellknown.network/agents/horizon-pulse/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/horizon-pulse/history","tools":"https://wellknown.network/api/v1/agents/horizon-pulse/tools"},"ard":{"identifier":"urn:air:horizonpulse.dev:server:horizon-pulse","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"horizon-pulse","summary":"28 agent tools via x402: crypto data, tx checks, web fetch. MCP pays Base USDC; HTTP adds 3 rails.","description":"28 agent tools via x402: crypto data, tx checks, web fetch. MCP pays Base USDC; HTTP adds 3 rails.","publisher":{"name":"horizon-pulse","url":null},"homepage":"https://horizonpulse.dev","repository":"https://github.com/horizon-pulse/horizon-pulse","version":"0.1.5","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://horizonpulse.dev/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-17T13:11:20.988962Z","publishedAt":"2026-10-17T13:11:20.988962Z","registryName":"io.github.horizon-pulse/horizon-pulse"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"data.web-scraping","name":"Web Scraping","confidence":1,"provenance":"derived"},{"slug":"commerce.payments","name":"Payments","confidence":1,"provenance":"derived"},{"slug":"finance.markets","name":"Markets & Trading","confidence":1,"provenance":"derived"},{"slug":"data.web-search","name":"Web Search","confidence":0.554,"provenance":"derived"},{"slug":"dev.docs-lookup","name":"Documentation Lookup","confidence":0.54,"provenance":"derived"},{"slug":"data.weather","name":"Weather","confidence":0.525,"provenance":"derived"}],"categories":["commerce","data","dev","finance"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 2h ago.","lastOkAt":"2026-10-29T16:25:32.251Z","lastProbedAt":"2026-10-29T16:25:32.251Z","statusComputedAt":"2026-10-29T16:28:54.644Z","reliability30d":{"probes":57,"successRate":1,"p50Ms":166,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":57,"ok":57,"authBoundaryOk":0,"serviceOk":57,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-29T16:25:32.251Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":167,"error":null,"detail":{"tools":[{"name":"pulse","description":"Crypto market data: a current USD price snapshot for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400), for quick market context. JSON per asset: pric"},{"name":"signals","description":"Crypto market data: precomputed RSI-14, MACD and Bollinger Bands plus latest OKX perp funding for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400), w"},{"name":"yield","description":"DeFi yield API: current APY for stablecoin and DeFi pools in one GET, no parameters. Returns JSON: up to 25 pools ordered by a fixed filter tier then APY, each "},{"name":"gas","description":"Gas price API for Base and Ethereum: base fee, priority fee and a max-fee suggestion in one GET, no parameters. Returns JSON per network: baseFeeGwei, priorityF"},{"name":"funding","description":"Crypto market data: current OKX USDT-swap perp funding rates for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400), showing whether longs or shorts ar"},{"name":"portfolio","description":"Wallet balance and portfolio API for one EVM address on Base and Ethereum: ETH, USDC, WETH, WBTC/cbBTC and DAI holdings with USD value. GET address=0x... (40 he"},{"name":"fetch","description":"URL to markdown API: a public web page as clean text or markdown for an LLM. GET url (absolute http/https). Returns JSON: content (markdown with scripts, styles"},{"name":"http","description":"HTTP request proxy API for public URLs: GET url (optional method GET/POST/HEAD/PUT/PATCH/DELETE; headers JSON), or POST JSON {url, method, headers, body}. Retur"},{"name":"extract","description":"Web scraping API: a public page or supplied HTML to JSON fields. GET url, or POST JSON {url or html, fields}. Returns JSON: title, description, canonical, langu"},{"name":"x402_check","description":"x402 endpoint checker: decodes an x402 endpoint's 402 payment terms without paying. GET url (optional method GET/POST, JSON body for POST). Sends one unpaid req"},{"name":"x402_check_deep","description":"x402 endpoint deep check, never pays or signs: the full /api/x402-check report plus live checks. GET url (optional method, body). Adds TLS, security headers, CO"},{"name":"bazaar_check","description":"x402 Bazaar listing checker: is an x402 seller listed in Coinbase CDP Bazaar, on which networks, and if not, why. GET url (host or https URL). Reads CDP discove"},{"name":"market_search","description":"x402 API search: find paid x402 APIs for a task in Coinbase CDP Bazaar. GET q; optional n (1-10), kind, rail (base, solana, xrpl, polygon, evm), max_price (USD)"},{"name":"discourse_split","description":"Hacker News and Bluesky opinion split, NOT a poll: how public posts divide on a question. GET q; optional sides (2-4, default yes,no), window (1-30d). Returns J"},{"name":"tx_status","description":"Transaction status API: did a payment or swap land, and is it final, on Base, Polygon, Solana or XRPL. GET tx (hash or Solana signature) and network (optional f"},{"name":"tokenized_stock","description":"Tokenized stock status API for Coinbase tokenized stocks on Base (AAPLc, NVDAc, TSLAc...). GET with optional symbol (AAPL, AAPLc or token address; omit for all "},{"name":"watch","description":"Web page change detection API: has a public page or endpoint changed since the last check. GET url; optional since (state token from the previous answer). Retur"},{"name":"balance","description":"Wallet balance API for x402 payers: USDC on Base, Polygon and Solana, RLUSD on XRPL. GET at least one of evm (Base+Polygon), solana, xrpl. Per rail: balance, ga"},{"name":"tx_guard","description":"Address poisoning and OFAC SDN snapshot match before a crypto transfer, mechanical. GET chain (base/polygon/solana/xrpl), to; opt. expected, token. Checks: look"},{"name":"grocery_normalize","description":"Recipe ingredient parser and shopping list API: POST JSON {ingredients: [lines], servings?, targetServings?} (or GET ingredients=line|line). Returns per line na"},{"name":"grocery_ingredient","description":"Ingredient nutrition facts API: GET q (ingredient name or normalize canonicalId) and/or barcode (GTIN), optional n 1-5; POST JSON {items:[{q|barcode}]} max 10. "},{"name":"chain_head","description":"Block height API: current block number, slot or ledger index for Base, Polygon, Ethereum, Solana and XRPL in one GET. Optional network (comma list; default all "},{"name":"token_meta","description":"Token metadata API: ERC-20 name, symbol, decimals and total supply on Base, Polygon or Ethereum; Solana mint decimals, supply, authorities (Token-2022 name and "},{"name":"name_resolve","description":"ENS and Basenames resolver API: name to address (vitalik.eth, jesse.base.eth) or address to primary name, read on-chain. GET name or address. Forward: address, "},{"name":"batch","description":"Batch chain checks API: up to 10 checks for one payment. POST JSON {items:[{route, params}]} (or GET items=<same JSON>); route one of balance, gas, tx-status, t"},{"name":"market_quote","description":"x402 price quote and payTo check for one seller URL, without paying. GET url (https; optional method GET/POST). One unpaid request. Returns JSON: verdict pay/ca"},{"name":"screenshot","description":"Website screenshot API: how a public page renders, as PNG or JPEG. GET url; optional width (320-1920), height (240-2000), fullPage=true (clipped at 4000px), for"},{"name":"search","description":"Web search API with page contents: current results with sources as markdown. GET q (max 300 chars), optional n (1-5 pages, default 3). Web results via Serper (G"},{"name":"pdf","description":"PDF to text API: the text of a public PDF, page by page. GET url (http/https, max 10MB), optional pages (1-50, default 50). Returns JSON: pages [{page, text}], "},{"name":"sec_company_facts","description":"Key financial facts for one SEC-reporting company from SEC EDGAR XBRL filings: revenue, net income, assets, liabilities, equity, shares outstanding, operating c"},{"name":"pii_scan","description":"Best-effort scan of supplied text for common patterns: email, phone, US SSN, Luhn-checked card numbers, mod-97 IBANs, IP addresses, private-key shapes, BIP-39 s"},{"name":"money_market_rates","description":"FREE (no x402, no payment). Published NY Fed reference rates as released; market data only, not a forecast, not a recommendation. SOFR, EFFR, OBFR, TGCR and BGC"},{"name":"submit_feedback","description":"FREE (no payment). Tell Horizon Pulse about a missing coin, data field or route. Fields: type (coin, data, route or other), text (1-500 characters, plain text; "},{"name":"funding_reports","description":"Funding Pulse Weekly index: id, title, date and abstract of each available report. No rate values. Horizon Pulse is not affiliated with the New York Fed. The Ne"},{"name":"funding_report","description":"Returns the payment instructions (the unpaid HTTP 402) for one $1 report; this tool never pays. Pay the 402 over HTTP with x402 v2 (USDC on Base) at GET https:/"},{"name":"domain_precheck_quote","description":"Returns the payment terms for https://horizonpulse.dev/api/domain/precheck (single $0.02, bulk $0.25; USDC on Base only); this tool never runs the check or pays"},{"name":"sec_filings_quote","description":"Returns the payment terms for https://horizonpulse.dev/api/sec/filings (base $0.02; USDC on Base only); this tool never runs the check or pays. Pay the 402 over"},{"name":"treasury_debt_quote","description":"Returns the payment terms for https://horizonpulse.dev/api/treasury/debt (base $0.01; USDC on Base only); this tool never runs the check or pays. Pay the 402 ov"},{"name":"pros_verify_quote","description":"Returns the payment terms for https://horizonpulse.dev/api/pros/verify (base $0.05; USDC on Base only); this tool never runs the check or pays. Pay the 402 over"},{"name":"verified_brief_quote","description":"Returns the payment instructions (the unpaid HTTP 402) for the $1 verified brief; this tool never runs the brief or pays. To get the brief, pay the 402 over HTT"}],"toolCount":40,"toolsHash":"16623f21aff3f5aa578082ba42781d550d4d7cb9945b7f3f20fabef7022831ca","serverName":"horizon-pulse","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-29T08:22:11.741Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":247,"error":null,"detail":{"tools":[{"name":"pulse","description":"Crypto market data: a current USD price snapshot for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400), for quick market context. JSON per asset: pric"},{"name":"signals","description":"Crypto market data: precomputed RSI-14, MACD and Bollinger Bands plus latest OKX perp funding for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400), w"},{"name":"yield","description":"DeFi yield API: current APY for stablecoin and DeFi pools in one GET, no parameters. Returns JSON: up to 25 pools ordered by a fixed filter tier then APY, each "},{"name":"gas","description":"Gas price API for Base and Ethereum: base fee, priority fee and a max-fee suggestion in one GET, no parameters. Returns JSON per network: baseFeeGwei, priorityF"},{"name":"funding","description":"Crypto market data: current OKX USDT-swap perp funding rates for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400), showing whether longs or shorts ar"},{"name":"portfolio","description":"Wallet balance and portfolio API for one EVM address on Base and Ethereum: ETH, USDC, WETH, WBTC/cbBTC and DAI holdings with USD value. GET address=0x... (40 he"},{"name":"fetch","description":"URL to markdown API: a public web page as clean text or markdown for an LLM. GET url (absolute http/https). Returns JSON: content (markdown with scripts, styles"},{"name":"http","description":"HTTP request proxy API for public URLs: GET url (optional method GET/POST/HEAD/PUT/PATCH/DELETE; headers JSON), or POST JSON {url, method, headers, body}. Retur"},{"name":"extract","description":"Web scraping API: a public page or supplied HTML to JSON fields. GET url, or POST JSON {url or html, fields}. Returns JSON: title, description, canonical, langu"},{"name":"x402_check","description":"x402 endpoint checker: decodes an x402 endpoint's 402 payment terms without paying. GET url (optional method GET/POST, JSON body for POST). Sends one unpaid req"},{"name":"x402_check_deep","description":"x402 endpoint deep check, never pays or signs: the full /api/x402-check report plus live checks. GET url (optional method, body). Adds TLS, security headers, CO"},{"name":"bazaar_check","description":"x402 Bazaar listing checker: is an x402 seller listed in Coinbase CDP Bazaar, on which networks, and if not, why. GET url (host or https URL). Reads CDP discove"},{"name":"market_search","description":"x402 API search: find paid x402 APIs for a task in Coinbase CDP Bazaar. GET q; optional n (1-10), kind, rail (base, solana, xrpl, polygon, evm), max_price (USD)"},{"name":"discourse_split","description":"Hacker News and Bluesky opinion split, NOT a poll: how public posts divide on a question. GET q; optional sides (2-4, default yes,no), window (1-30d). Returns J"},{"name":"tx_status","description":"Transaction status API: did a payment or swap land, and is it final, on Base, Polygon, Solana or XRPL. GET tx (hash or Solana signature) and network (optional f"},{"name":"tokenized_stock","description":"Tokenized stock status API for Coinbase tokenized stocks on Base (AAPLc, NVDAc, TSLAc...). GET with optional symbol (AAPL, AAPLc or token address; omit for all "},{"name":"watch","description":"Web page change detection API: has a public page or endpoint changed since the last check. GET url; optional since (state token from the previous answer). Retur"},{"name":"balance","description":"Wallet balance API for x402 payers: USDC on Base, Polygon and Solana, RLUSD on XRPL. GET at least one of evm (Base+Polygon), solana, xrpl. Per rail: balance, ga"},{"name":"tx_guard","description":"Address poisoning and OFAC SDN snapshot match before a crypto transfer, mechanical. GET chain (base/polygon/solana/xrpl), to; opt. expected, token. Checks: look"},{"name":"grocery_normalize","description":"Recipe ingredient parser and shopping list API: POST JSON {ingredients: [lines], servings?, targetServings?} (or GET ingredients=line|line). Returns per line na"},{"name":"grocery_ingredient","description":"Ingredient nutrition facts API: GET q (ingredient name or normalize canonicalId) and/or barcode (GTIN), optional n 1-5; POST JSON {items:[{q|barcode}]} max 10. "},{"name":"chain_head","description":"Block height API: current block number, slot or ledger index for Base, Polygon, Ethereum, Solana and XRPL in one GET. Optional network (comma list; default all "},{"name":"token_meta","description":"Token metadata API: ERC-20 name, symbol, decimals and total supply on Base, Polygon or Ethereum; Solana mint decimals, supply, authorities (Token-2022 name and "},{"name":"name_resolve","description":"ENS and Basenames resolver API: name to address (vitalik.eth, jesse.base.eth) or address to primary name, read on-chain. GET name or address. Forward: address, "},{"name":"batch","description":"Batch chain checks API: up to 10 checks for one payment. POST JSON {items:[{route, params}]} (or GET items=<same JSON>); route one of balance, gas, tx-status, t"},{"name":"market_quote","description":"x402 price quote and payTo check for one seller URL, without paying. GET url (https; optional method GET/POST). One unpaid request. Returns JSON: verdict pay/ca"},{"name":"screenshot","description":"Website screenshot API: how a public page renders, as PNG or JPEG. GET url; optional width (320-1920), height (240-2000), fullPage=true (clipped at 4000px), for"},{"name":"search","description":"Web search API with page contents: current results with sources as markdown. GET q (max 300 chars), optional n (1-5 pages, default 3). Web results via Serper (G"},{"name":"pdf","description":"PDF to text API: the text of a public PDF, page by page. GET url (http/https, max 10MB), optional pages (1-50, default 50). Returns JSON: pages [{page, text}], "},{"name":"sec_company_facts","description":"Key financial facts for one SEC-reporting company from SEC EDGAR XBRL filings: revenue, net income, assets, liabilities, equity, shares outstanding, operating c"},{"name":"pii_scan","description":"Best-effort scan of supplied text for common patterns: email, phone, US SSN, Luhn-checked card numbers, mod-97 IBANs, IP addresses, private-key shapes, BIP-39 s"},{"name":"money_market_rates","description":"FREE (no x402, no payment). Published NY Fed reference rates as released; market data only, not a forecast, not a recommendation. SOFR, EFFR, OBFR, TGCR and BGC"},{"name":"submit_feedback","description":"FREE (no payment). Tell Horizon Pulse about a missing coin, data field or route. Fields: type (coin, data, route or other), text (1-500 characters, plain text; "},{"name":"funding_reports","description":"Funding Pulse Weekly index: id, title, date and abstract of each available report. No rate values. Horizon Pulse is not affiliated with the New York Fed. The Ne"},{"name":"funding_report","description":"Returns the payment instructions (the unpaid HTTP 402) for one $1 report; this tool never pays. Pay the 402 over HTTP with x402 v2 (USDC on Base) at GET https:/"},{"name":"domain_precheck_quote","description":"Returns the payment terms for https://horizonpulse.dev/api/domain/precheck (single $0.02, bulk $0.25; USDC on Base only); this tool never runs the check or pays"},{"name":"sec_filings_quote","description":"Returns the payment terms for https://horizonpulse.dev/api/sec/filings (base $0.02; USDC on Base only); this tool never runs the check or pays. Pay the 402 over"},{"name":"treasury_debt_quote","description":"Returns the payment terms for https://horizonpulse.dev/api/treasury/debt (base $0.01; USDC on Base only); this tool never runs the check or pays. Pay the 402 ov"},{"name":"pros_verify_quote","description":"Returns the payment terms for https://horizonpulse.dev/api/pros/verify (base $0.05; USDC on Base only); this tool never runs the check or pays. Pay the 402 over"},{"name":"verified_brief_quote","description":"Returns the payment instructions (the unpaid HTTP 402) for the $1 verified brief; this tool never runs the brief or pays. To get the brief, pay the 402 over HTT"}],"toolCount":40,"toolsHash":"16623f21aff3f5aa578082ba42781d550d4d7cb9945b7f3f20fabef7022831ca","serverName":"horizon-pulse","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-29T00:30:53.706Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":1456,"error":null,"detail":{"tools":[{"name":"pulse","description":"Crypto market data: a current USD price snapshot for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400), for quick market context. JSON per asset: pric"},{"name":"signals","description":"Crypto market data: precomputed RSI-14, MACD and Bollinger Bands plus latest OKX perp funding for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400), w"},{"name":"yield","description":"DeFi yield API: current APY for stablecoin and DeFi pools in one GET, no parameters. Returns JSON: up to 25 pools ordered by a fixed filter tier then APY, each "},{"name":"gas","description":"Gas price API for Base and Ethereum: base fee, priority fee and a max-fee suggestion in one GET, no parameters. Returns JSON per network: baseFeeGwei, priorityF"},{"name":"funding","description":"Crypto market data: current OKX USDT-swap perp funding rates for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400), showing whether longs or shorts ar"},{"name":"portfolio","description":"Wallet balance and portfolio API for one EVM address on Base and Ethereum: ETH, USDC, WETH, WBTC/cbBTC and DAI holdings with USD value. GET address=0x... (40 he"},{"name":"fetch","description":"URL to markdown API: a public web page as clean text or markdown for an LLM. GET url (absolute http/https). Returns JSON: content (markdown with scripts, styles"},{"name":"http","description":"HTTP request proxy API for public URLs: GET url (optional method GET/POST/HEAD/PUT/PATCH/DELETE; headers JSON), or POST JSON {url, method, headers, body}. Retur"},{"name":"extract","description":"Web scraping API: a public page or supplied HTML to JSON fields. GET url, or POST JSON {url or html, fields}. Returns JSON: title, description, canonical, langu"},{"name":"x402_check","description":"x402 endpoint checker: decodes an x402 endpoint's 402 payment terms without paying. GET url (optional method GET/POST, JSON body for POST). Sends one unpaid req"},{"name":"x402_check_deep","description":"x402 endpoint deep check, never pays or signs: the full /api/x402-check report plus live checks. GET url (optional method, body). Adds TLS, security headers, CO"},{"name":"bazaar_check","description":"x402 Bazaar listing checker: is an x402 seller listed in Coinbase CDP Bazaar, on which networks, and if not, why. GET url (host or https URL). Reads CDP discove"},{"name":"market_search","description":"x402 API search: find paid x402 APIs for a task in Coinbase CDP Bazaar. GET q; optional n (1-10), kind, rail (base, solana, xrpl, polygon, evm), max_price (USD)"},{"name":"discourse_split","description":"Hacker News and Bluesky opinion split, NOT a poll: how public posts divide on a question. GET q; optional sides (2-4, default yes,no), window (1-30d). Returns J"},{"name":"tx_status","description":"Transaction status API: did a payment or swap land, and is it final, on Base, Polygon, Solana or XRPL. GET tx (hash or Solana signature) and network (optional f"},{"name":"tokenized_stock","description":"Tokenized stock status API for Coinbase tokenized stocks on Base (AAPLc, NVDAc, TSLAc...). GET with optional symbol (AAPL, AAPLc or token address; omit for all "},{"name":"watch","description":"Web page change detection API: has a public page or endpoint changed since the last check. GET url; optional since (state token from the previous answer). Retur"},{"name":"balance","description":"Wallet balance API for x402 payers: USDC on Base, Polygon and Solana, RLUSD on XRPL. GET at least one of evm (Base+Polygon), solana, xrpl. Per rail: balance, ga"},{"name":"tx_guard","description":"Address poisoning and OFAC SDN snapshot match before a crypto transfer, mechanical. GET chain (base/polygon/solana/xrpl), to; opt. expected, token. Checks: look"},{"name":"grocery_normalize","description":"Recipe ingredient parser and shopping list API: POST JSON {ingredients: [lines], servings?, targetServings?} (or GET ingredients=line|line). Returns per line na"},{"name":"grocery_ingredient","description":"Ingredient nutrition facts API: GET q (ingredient name or normalize canonicalId) and/or barcode (GTIN), optional n 1-5; POST JSON {items:[{q|barcode}]} max 10. "},{"name":"chain_head","description":"Block height API: current block number, slot or ledger index for Base, Polygon, Ethereum, Solana and XRPL in one GET. Optional network (comma list; default all "},{"name":"token_meta","description":"Token metadata API: ERC-20 name, symbol, decimals and total supply on Base, Polygon or Ethereum; Solana mint decimals, supply, authorities (Token-2022 name and "},{"name":"name_resolve","description":"ENS and Basenames resolver API: name to address (vitalik.eth, jesse.base.eth) or address to primary name, read on-chain. GET name or address. Forward: address, "},{"name":"batch","description":"Batch chain checks API: up to 10 checks for one payment. POST JSON {items:[{route, params}]} (or GET items=<same JSON>); route one of balance, gas, tx-status, t"},{"name":"market_quote","description":"x402 price quote and payTo check for one seller URL, without paying. GET url (https; optional method GET/POST). One unpaid request. Returns JSON: verdict pay/ca"},{"name":"screenshot","description":"Website screenshot API: how a public page renders, as PNG or JPEG. GET url; optional width (320-1920), height (240-2000), fullPage=true (clipped at 4000px), for"},{"name":"search","description":"Web search API with page contents: current results with sources as markdown. GET q (max 300 chars), optional n (1-5 pages, default 3). Web results via Serper (G"},{"name":"pdf","description":"PDF to text API: the text of a public PDF, page by page. GET url (http/https, max 10MB), optional pages (1-50, default 50). Returns JSON: pages [{page, text}], "},{"name":"sec_company_facts","description":"Key financial facts for one SEC-reporting company from SEC EDGAR XBRL filings: revenue, net income, assets, liabilities, equity, shares outstanding, operating c"},{"name":"money_market_rates","description":"FREE (no x402, no payment). Published NY Fed reference rates as released; market data only, not a forecast, not a recommendation. SOFR, EFFR, OBFR, TGCR and BGC"},{"name":"submit_feedback","description":"FREE (no payment). Tell Horizon Pulse about a missing coin, data field or route. Fields: type (coin, data, route or other), text (1-500 characters, plain text; "},{"name":"funding_reports","description":"Funding Pulse Weekly index: id, title, date and abstract of each available report. No rate values. Horizon Pulse is not affiliated with the New York Fed. The Ne"},{"name":"funding_report","description":"Returns the payment instructions (the unpaid HTTP 402) for one $1 report; this tool never pays. Pay the 402 over HTTP with x402 v2 (USDC on Base) at GET https:/"},{"name":"verified_brief_quote","description":"Returns the payment instructions (the unpaid HTTP 402) for the $1 verified brief; this tool never runs the brief or pays. To get the brief, pay the 402 over HTT"}],"toolCount":35,"toolsHash":"9d6aca5297c39128b73821fb8721bd3d63e36d63be27b60e99da4bb21b1e5590","serverName":"horizon-pulse","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-28T16:31:53.955Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":1294,"error":null,"detail":{"tools":[{"name":"pulse","description":"Crypto market data: a current USD price snapshot for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400), for quick market context. JSON per asset: pric"},{"name":"signals","description":"Crypto market data: precomputed RSI-14, MACD and Bollinger Bands plus latest OKX perp funding for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400), w"},{"name":"yield","description":"DeFi yield API: current APY for stablecoin and DeFi pools in one GET, no parameters. Returns JSON: up to 25 pools ordered by a fixed filter tier then APY, each "},{"name":"gas","description":"Gas price API for Base and Ethereum: base fee, priority fee and a max-fee suggestion in one GET, no parameters. Returns JSON per network: baseFeeGwei, priorityF"},{"name":"funding","description":"Crypto market data: current OKX USDT-swap perp funding rates for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400), showing whether longs or shorts ar"},{"name":"portfolio","description":"Wallet balance and portfolio API for one EVM address on Base and Ethereum: ETH, USDC, WETH, WBTC/cbBTC and DAI holdings with USD value. GET address=0x... (40 he"},{"name":"fetch","description":"URL to markdown API: a public web page as clean text or markdown for an LLM. GET url (absolute http/https). Returns JSON: content (markdown with scripts, styles"},{"name":"http","description":"HTTP request proxy API for public URLs: GET url (optional method GET/POST/HEAD/PUT/PATCH/DELETE; headers JSON), or POST JSON {url, method, headers, body}. Retur"},{"name":"extract","description":"Web scraping API: a public page or supplied HTML to JSON fields. GET url, or POST JSON {url or html, fields}. Returns JSON: title, description, canonical, langu"},{"name":"x402_check","description":"x402 endpoint checker: decodes an x402 endpoint's 402 payment terms without paying. GET url (optional method GET/POST, JSON body for POST). Sends one unpaid req"},{"name":"x402_check_deep","description":"x402 endpoint deep check, never pays or signs: the full /api/x402-check report plus live checks. GET url (optional method, body). Adds TLS, security headers, CO"},{"name":"bazaar_check","description":"x402 Bazaar listing checker: is an x402 seller listed in Coinbase CDP Bazaar, on which networks, and if not, why. GET url (host or https URL). Reads CDP discove"},{"name":"market_search","description":"x402 API search: find paid x402 APIs for a task in Coinbase CDP Bazaar. GET q; optional n (1-10), kind, rail (base, solana, xrpl, polygon, evm), max_price (USD)"},{"name":"discourse_split","description":"Hacker News and Bluesky opinion split, NOT a poll: how public posts divide on a question. GET q; optional sides (2-4, default yes,no), window (1-30d). Returns J"},{"name":"tx_status","description":"Transaction status API: did a payment or swap land, and is it final, on Base, Polygon, Solana or XRPL. GET tx (hash or Solana signature) and network (optional f"},{"name":"tokenized_stock","description":"Tokenized stock status API for Coinbase tokenized stocks on Base (AAPLc, NVDAc, TSLAc...). GET with optional symbol (AAPL, AAPLc or token address; omit for all "},{"name":"watch","description":"Web page change detection API: has a public page or endpoint changed since the last check. GET url; optional since (state token from the previous answer). Retur"},{"name":"balance","description":"Wallet balance API for x402 payers: USDC on Base, Polygon and Solana, RLUSD on XRPL. GET at least one of evm (Base+Polygon), solana, xrpl. Per rail: balance, ga"},{"name":"tx_guard","description":"Address poisoning and OFAC SDN snapshot match before a crypto transfer, mechanical. GET chain (base/polygon/solana/xrpl), to; opt. expected, token. Checks: look"},{"name":"grocery_normalize","description":"Recipe ingredient parser and shopping list API: POST JSON {ingredients: [lines], servings?, targetServings?} (or GET ingredients=line|line). Returns per line na"},{"name":"grocery_ingredient","description":"Ingredient nutrition facts API: GET q (ingredient name or normalize canonicalId) and/or barcode (GTIN), optional n 1-5; POST JSON {items:[{q|barcode}]} max 10. "},{"name":"chain_head","description":"Block height API: current block number, slot or ledger index for Base, Polygon, Ethereum, Solana and XRPL in one GET. Optional network (comma list; default all "},{"name":"token_meta","description":"Token metadata API: ERC-20 name, symbol, decimals and total supply on Base, Polygon or Ethereum; Solana mint decimals, supply, authorities (Token-2022 name and "},{"name":"name_resolve","description":"ENS and Basenames resolver API: name to address (vitalik.eth, jesse.base.eth) or address to primary name, read on-chain. GET name or address. Forward: address, "},{"name":"batch","description":"Batch chain checks API: up to 10 checks for one payment. POST JSON {items:[{route, params}]} (or GET items=<same JSON>); route one of balance, gas, tx-status, t"},{"name":"market_quote","description":"x402 price quote and payTo check for one seller URL, without paying. GET url (https; optional method GET/POST). One unpaid request. Returns JSON: verdict pay/ca"},{"name":"screenshot","description":"Website screenshot API: how a public page renders, as PNG or JPEG. GET url; optional width (320-1920), height (240-2000), fullPage=true (clipped at 4000px), for"},{"name":"search","description":"Web search API with page contents: current results with sources as markdown. GET q (max 300 chars), optional n (1-5 pages, default 3). Web results via Serper (G"},{"name":"pdf","description":"PDF to text API: the text of a public PDF, page by page. GET url (http/https, max 10MB), optional pages (1-50, default 50). Returns JSON: pages [{page, text}], "},{"name":"sec_company_facts","description":"Key financial facts for one SEC-reporting company from SEC EDGAR XBRL filings: revenue, net income, assets, liabilities, equity, shares outstanding, operating c"},{"name":"money_market_rates","description":"FREE (no x402, no payment). Published NY Fed reference rates as released; market data only, not a forecast, not a recommendation. SOFR, EFFR, OBFR, TGCR and BGC"},{"name":"submit_feedback","description":"FREE (no payment). Tell Horizon Pulse about a missing coin, data field or route. Fields: type (coin, data, route or other), text (1-500 characters, plain text; "},{"name":"funding_reports","description":"Funding Pulse Weekly index: id, title, date and abstract of each available report. No rate values. Horizon Pulse is not affiliated with the New York Fed. The Ne"},{"name":"funding_report","description":"Returns the payment instructions (the unpaid HTTP 402) for one $1 report; this tool never pays. Pay the 402 over HTTP with x402 v2 (USDC on Base) at GET https:/"},{"name":"verified_brief_quote","description":"Returns the payment instructions (the unpaid HTTP 402) for the $1 verified brief; this tool never runs the brief or pays. To get the brief, pay the 402 over HTT"}],"toolCount":35,"toolsHash":"9d6aca5297c39128b73821fb8721bd3d63e36d63be27b60e99da4bb21b1e5590","serverName":"horizon-pulse","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-28T09:30:22.004Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":180,"error":null,"detail":{"tools":[{"name":"pulse","description":"Crypto market data: a current USD price snapshot for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400), for quick market context. JSON per asset: pric"},{"name":"signals","description":"Crypto market data: precomputed RSI-14, MACD and Bollinger Bands plus latest OKX perp funding for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400), w"},{"name":"yield","description":"DeFi yield API: current APY for stablecoin and DeFi pools in one GET, no parameters. Returns JSON: up to 25 pools ordered by a fixed filter tier then APY, each "},{"name":"gas","description":"Gas price API for Base and Ethereum: base fee, priority fee and a max-fee suggestion in one GET, no parameters. Returns JSON per network: baseFeeGwei, priorityF"},{"name":"funding","description":"Crypto market data: current OKX USDT-swap perp funding rates for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400), showing whether longs or shorts ar"},{"name":"portfolio","description":"Wallet balance and portfolio API for one EVM address on Base and Ethereum: ETH, USDC, WETH, WBTC/cbBTC and DAI holdings with USD value. GET address=0x... (40 he"},{"name":"fetch","description":"URL to markdown API: a public web page as clean text or markdown for an LLM. GET url (absolute http/https). Returns JSON: content (markdown with scripts, styles"},{"name":"http","description":"HTTP request proxy API for public URLs: GET url (optional method GET/POST/HEAD/PUT/PATCH/DELETE; headers JSON), or POST JSON {url, method, headers, body}. Retur"},{"name":"extract","description":"Web scraping API: a public page or supplied HTML to JSON fields. GET url, or POST JSON {url or html, fields}. Returns JSON: title, description, canonical, langu"},{"name":"x402_check","description":"x402 endpoint checker: decodes an x402 endpoint's 402 payment terms without paying. GET url (optional method GET/POST, JSON body for POST). Sends one unpaid req"},{"name":"x402_check_deep","description":"x402 endpoint deep check, never pays or signs: the full /api/x402-check report plus live checks. GET url (optional method, body). Adds TLS, security headers, CO"},{"name":"bazaar_check","description":"x402 Bazaar listing checker: is an x402 seller listed in Coinbase CDP Bazaar, on which networks, and if not, why. GET url (host or https URL). Reads CDP discove"},{"name":"market_search","description":"x402 API search: find paid x402 APIs for a task in Coinbase CDP Bazaar. GET q; optional n (1-10), kind, rail (base, solana, xrpl, polygon, evm), max_price (USD)"},{"name":"discourse_split","description":"Hacker News and Bluesky opinion split, NOT a poll: how public posts divide on a question. GET q; optional sides (2-4, default yes,no), window (1-30d). Returns J"},{"name":"tx_status","description":"Transaction status API: did a payment or swap land, and is it final, on Base, Polygon, Solana or XRPL. GET tx (hash or Solana signature) and network (optional f"},{"name":"tokenized_stock","description":"Tokenized stock status API for Coinbase tokenized stocks on Base (AAPLc, NVDAc, TSLAc...). GET with optional symbol (AAPL, AAPLc or token address; omit for all "},{"name":"watch","description":"Web page change detection API: has a public page or endpoint changed since the last check. GET url; optional since (state token from the previous answer). Retur"},{"name":"balance","description":"Wallet balance API for x402 payers: USDC on Base, Polygon and Solana, RLUSD on XRPL. GET at least one of evm (Base+Polygon), solana, xrpl. Per rail: balance, ga"},{"name":"tx_guard","description":"Address poisoning and OFAC SDN snapshot match before a crypto transfer, mechanical. GET chain (base/polygon/solana/xrpl), to; opt. expected, token. Checks: look"},{"name":"grocery_normalize","description":"Recipe ingredient parser and shopping list API: POST JSON {ingredients: [lines], servings?, targetServings?} (or GET ingredients=line|line). Returns per line na"},{"name":"grocery_ingredient","description":"Ingredient nutrition facts API: GET q (ingredient name or normalize canonicalId) and/or barcode (GTIN), optional n 1-5; POST JSON {items:[{q|barcode}]} max 10. "},{"name":"chain_head","description":"Block height API: current block number, slot or ledger index for Base, Polygon, Ethereum, Solana and XRPL in one GET. Optional network (comma list; default all "},{"name":"token_meta","description":"Token metadata API: ERC-20 name, symbol, decimals and total supply on Base, Polygon or Ethereum; Solana mint decimals, supply, authorities (Token-2022 name and "},{"name":"name_resolve","description":"ENS and Basenames resolver API: name to address (vitalik.eth, jesse.base.eth) or address to primary name, read on-chain. GET name or address. Forward: address, "},{"name":"batch","description":"Batch chain checks API: up to 10 checks for one payment. POST JSON {items:[{route, params}]} (or GET items=<same JSON>); route one of balance, gas, tx-status, t"},{"name":"market_quote","description":"x402 price quote and payTo check for one seller URL, without paying. GET url (https; optional method GET/POST). One unpaid request. Returns JSON: verdict pay/ca"},{"name":"screenshot","description":"Website screenshot API: how a public page renders, as PNG or JPEG. GET url; optional width (320-1920), height (240-2000), fullPage=true (clipped at 4000px), for"},{"name":"search","description":"Web search API with page contents: current results with sources as markdown. GET q (max 300 chars), optional n (1-5 pages, default 3). Web results via Serper (G"},{"name":"pdf","description":"PDF to text API: the text of a public PDF, page by page. GET url (http/https, max 10MB), optional pages (1-50, default 50). Returns JSON: pages [{page, text}], "},{"name":"sec_company_facts","description":"Key financial facts for one SEC-reporting company from SEC EDGAR XBRL filings: revenue, net income, assets, liabilities, equity, shares outstanding, operating c"},{"name":"money_market_rates","description":"FREE (no x402, no payment). Published NY Fed reference rates as released; market data only, not a forecast, not a recommendation. SOFR, EFFR, OBFR, TGCR and BGC"},{"name":"submit_feedback","description":"FREE (no payment). Tell Horizon Pulse about a missing coin, data field or route. Fields: type (coin, data, route or other), text (1-500 characters, plain text; "},{"name":"funding_reports","description":"Funding Pulse Weekly index: id, title, date and abstract of each available report. No rate values. Horizon Pulse is not affiliated with the New York Fed. The Ne"},{"name":"funding_report","description":"Returns the payment instructions (the unpaid HTTP 402) for one $1 report; this tool never pays. Pay the 402 over HTTP with x402 v2 (USDC on Base) at GET https:/"},{"name":"verified_brief_quote","description":"Returns the payment instructions (the unpaid HTTP 402) for the $1 verified brief; this tool never runs the brief or pays. To get the brief, pay the 402 over HTT"}],"toolCount":35,"toolsHash":"76f7f187b45d515ac322dfa09e3f8bd966a1cfa555b61753a332b427b28a7e3e","serverName":"horizon-pulse","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-28T02:31:02.953Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":175,"error":null,"detail":{"tools":[{"name":"pulse","description":"Crypto market data: a current USD price snapshot for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400), for quick market context. JSON per asset: pric"},{"name":"signals","description":"Crypto market data: precomputed RSI-14, MACD and Bollinger Bands plus latest OKX perp funding for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400), w"},{"name":"yield","description":"DeFi yield API: current APY for stablecoin and DeFi pools in one GET, no parameters. Returns JSON: up to 25 pools ordered by a fixed filter tier then APY, each "},{"name":"gas","description":"Gas price API for Base and Ethereum: base fee, priority fee and a max-fee suggestion in one GET, no parameters. Returns JSON per network: baseFeeGwei, priorityF"},{"name":"funding","description":"Crypto market data: current OKX USDT-swap perp funding rates for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400), showing whether longs or shorts ar"},{"name":"portfolio","description":"Wallet balance and portfolio API for one EVM address on Base and Ethereum: ETH, USDC, WETH, WBTC/cbBTC and DAI holdings with USD value. GET address=0x... (40 he"},{"name":"fetch","description":"URL to markdown API: a public web page as clean text or markdown for an LLM. GET url (absolute http/https). Returns JSON: content (markdown with scripts, styles"},{"name":"http","description":"HTTP request proxy API for public URLs: GET url (optional method GET/POST/HEAD/PUT/PATCH/DELETE; headers JSON), or POST JSON {url, method, headers, body}. Retur"},{"name":"extract","description":"Web scraping API: a public page or supplied HTML to JSON fields. GET url, or POST JSON {url or html, fields}. Returns JSON: title, description, canonical, langu"},{"name":"x402_check","description":"x402 endpoint checker: decodes an x402 endpoint's 402 payment terms without paying. GET url (optional method GET/POST, JSON body for POST). Sends one unpaid req"},{"name":"x402_check_deep","description":"x402 endpoint deep check, never pays or signs: the full /api/x402-check report plus live checks. GET url (optional method, body). Adds TLS, security headers, CO"},{"name":"bazaar_check","description":"x402 Bazaar listing checker: is an x402 seller listed in Coinbase CDP Bazaar, on which networks, and if not, why. GET url (host or https URL). Reads CDP discove"},{"name":"market_search","description":"x402 API search: find paid x402 APIs for a task in Coinbase CDP Bazaar. GET q; optional n (1-10), kind, rail (base, solana, xrpl, polygon, evm), max_price (USD)"},{"name":"discourse_split","description":"Hacker News and Bluesky opinion split, NOT a poll: how public posts divide on a question. GET q; optional sides (2-4, default yes,no), window (1-30d). Returns J"},{"name":"tx_status","description":"Transaction status API: did a payment or swap land, and is it final, on Base, Polygon, Solana or XRPL. GET tx (hash or Solana signature) and network (optional f"},{"name":"tokenized_stock","description":"Tokenized stock status API for Coinbase tokenized stocks on Base (AAPLc, NVDAc, TSLAc...). GET with optional symbol (AAPL, AAPLc or token address; omit for all "},{"name":"watch","description":"Web page change detection API: has a public page or endpoint changed since the last check. GET url; optional since (state token from the previous answer). Retur"},{"name":"balance","description":"Wallet balance API for x402 payers: USDC on Base, Polygon and Solana, RLUSD on XRPL. GET at least one of evm (Base+Polygon), solana, xrpl. Per rail: balance, ga"},{"name":"tx_guard","description":"Address poisoning and OFAC SDN snapshot match before a crypto transfer, mechanical. GET chain (base/polygon/solana/xrpl), to; opt. expected, token. Checks: look"},{"name":"grocery_normalize","description":"Recipe ingredient parser and shopping list API: POST JSON {ingredients: [lines], servings?, targetServings?} (or GET ingredients=line|line). Returns per line na"},{"name":"grocery_ingredient","description":"Ingredient nutrition facts API: GET q (ingredient name or normalize canonicalId) and/or barcode (GTIN), optional n 1-5; POST JSON {items:[{q|barcode}]} max 10. "},{"name":"chain_head","description":"Block height API: current block number, slot or ledger index for Base, Polygon, Ethereum, Solana and XRPL in one GET. Optional network (comma list; default all "},{"name":"token_meta","description":"Token metadata API: ERC-20 name, symbol, decimals and total supply on Base, Polygon or Ethereum; Solana mint decimals, supply, authorities (Token-2022 name and "},{"name":"name_resolve","description":"ENS and Basenames resolver API: name to address (vitalik.eth, jesse.base.eth) or address to primary name, read on-chain. GET name or address. Forward: address, "},{"name":"batch","description":"Batch chain checks API: up to 10 checks for one payment. POST JSON {items:[{route, params}]} (or GET items=<same JSON>); route one of balance, gas, tx-status, t"},{"name":"market_quote","description":"x402 price quote and payTo check for one seller URL, without paying. GET url (https; optional method GET/POST). One unpaid request. Returns JSON: verdict pay/ca"},{"name":"screenshot","description":"Website screenshot API: how a public page renders, as PNG or JPEG. GET url; optional width (320-1920), height (240-2000), fullPage=true (clipped at 4000px), for"},{"name":"search","description":"Web search API with page contents: current results with sources as markdown. GET q (max 300 chars), optional n (1-5 pages, default 3). Web results via Serper (G"},{"name":"pdf","description":"PDF to text API: the text of a public PDF, page by page. GET url (http/https, max 10MB), optional pages (1-50, default 50). Returns JSON: pages [{page, text}], "},{"name":"sec_company_facts","description":"Key financial facts for one SEC-reporting company from SEC EDGAR XBRL filings: revenue, net income, assets, liabilities, equity, shares outstanding, operating c"},{"name":"money_market_rates","description":"FREE (no x402, no payment). Published NY Fed reference rates as released; market data only, not a forecast, not a recommendation. SOFR, EFFR, OBFR, TGCR and BGC"},{"name":"submit_feedback","description":"FREE (no payment). Tell Horizon Pulse about a missing coin, data field or route. Fields: type (coin, data, route or other), text (1-500 characters, plain text; "},{"name":"funding_reports","description":"Funding Pulse Weekly index: id, title, date and abstract of each available report. No rate values. Horizon Pulse is not affiliated with the New York Fed. The Ne"},{"name":"funding_report","description":"Returns the payment instructions (the unpaid HTTP 402) for one $1 report; this tool never pays. Pay the 402 over HTTP with x402 v2 (USDC on Base) at GET https:/"},{"name":"verified_brief_quote","description":"Returns the payment instructions (the unpaid HTTP 402) for the $1 verified brief; this tool never runs the brief or pays. To get the brief, pay the 402 over HTT"}],"toolCount":35,"toolsHash":"76f7f187b45d515ac322dfa09e3f8bd966a1cfa555b61753a332b427b28a7e3e","serverName":"horizon-pulse","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-27T19:30:40.908Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":211,"error":null,"detail":{"tools":[{"name":"pulse","description":"Crypto market data: a current USD price snapshot for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400, no charge), for quick market context. JSON per "},{"name":"signals","description":"Crypto market data: precomputed RSI-14, MACD and Bollinger Bands plus latest OKX perp funding for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400, no"},{"name":"yield","description":"DeFi yield API: current APY for stablecoin and DeFi pools in one GET, no parameters. Returns JSON: up to 25 pools ordered by a fixed filter tier then APY, each "},{"name":"gas","description":"Gas price API for Base and Ethereum: base fee, priority fee and a max-fee suggestion in one GET, no parameters. Returns JSON per network: baseFeeGwei, priorityF"},{"name":"funding","description":"Crypto market data: current OKX USDT-swap perp funding rates for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400, no charge), showing whether longs o"},{"name":"portfolio","description":"Wallet balance and portfolio API for one EVM address on Base and Ethereum: ETH, USDC, WETH, WBTC/cbBTC and DAI holdings with USD value. GET address=0x... (40 he"},{"name":"fetch","description":"URL to markdown API: a public web page as clean text or markdown for an LLM. GET url (absolute http/https). Returns JSON: content (markdown with scripts, styles"},{"name":"http","description":"HTTP request proxy API for public URLs: GET url (optional method GET/POST/HEAD/PUT/PATCH/DELETE; headers JSON), or POST JSON {url, method, headers, body}. Retur"},{"name":"extract","description":"Web scraping API: a public page or supplied HTML to JSON fields. GET url, or POST JSON {url or html, fields}. Returns JSON: title, description, canonical, langu"},{"name":"x402_check","description":"x402 endpoint checker: decodes an x402 endpoint's 402 payment terms without paying. GET url (optional method GET/POST, JSON body for POST). Sends one unpaid req"},{"name":"x402_check_deep","description":"x402 endpoint deep check, never pays or signs: the full /api/x402-check report plus live checks. GET url (optional method, body). Adds TLS, security headers, CO"},{"name":"bazaar_check","description":"x402 Bazaar listing checker: is an x402 seller listed in Coinbase CDP Bazaar, on which networks, and if not, why. GET url (host or https URL). Reads CDP discove"},{"name":"market_search","description":"x402 API search: find paid x402 APIs for a task in Coinbase CDP Bazaar. GET q; optional n (1-10), kind, rail (base, solana, xrpl, polygon, evm), max_price (USD)"},{"name":"discourse_split","description":"Hacker News and Bluesky opinion split, NOT a poll: how public posts divide on a question. GET q; optional sides (2-4, default yes,no), window (1-30d). Returns J"},{"name":"tx_status","description":"Transaction status API: did a payment or swap land, and is it final, on Base, Polygon, Solana or XRPL. GET tx (hash or Solana signature) and network (optional f"},{"name":"tokenized_stock","description":"Tokenized stock status API for Coinbase tokenized stocks on Base (AAPLc, NVDAc, TSLAc...). GET with optional symbol (AAPL, AAPLc or token address; omit for all "},{"name":"watch","description":"Web page change detection API: has a public page or endpoint changed since the last check. GET url; optional since (state token from the previous answer). Retur"},{"name":"balance","description":"Wallet balance API for x402 payers: USDC on Base, Polygon and Solana, RLUSD on XRPL, and whether the wallet can pay now. GET at least one of evm (Base+Polygon),"},{"name":"tx_guard","description":"Address poisoning and OFAC SDN snapshot match before a crypto transfer, mechanical. GET chain (base, polygon, solana, xrpl), to; optional expected, token. Check"},{"name":"grocery_normalize","description":"Recipe ingredient parser and shopping list API: POST JSON {ingredients: [lines], servings?, targetServings?} (or GET ingredients=line|line). Returns per line na"},{"name":"grocery_ingredient","description":"Ingredient nutrition facts API: GET q (ingredient name or normalize canonicalId) and/or barcode (GTIN), optional n 1-5; POST JSON {items:[{q|barcode}]} max 10. "},{"name":"chain_head","description":"Block height API: current block number, slot or ledger index for Base, Polygon, Ethereum, Solana and XRPL in one GET. Optional network (comma list; default all "},{"name":"token_meta","description":"Token metadata API: ERC-20 name, symbol, decimals and total supply on Base, Polygon or Ethereum; Solana mint decimals, supply, authorities (Token-2022 on-chain "},{"name":"name_resolve","description":"ENS and Basenames resolver API: name to address (vitalik.eth, jesse.base.eth) or address to primary name, read on-chain. GET name or address. Forward: address, "},{"name":"batch","description":"Batch chain checks API: up to 10 checks for one payment. POST JSON {items:[{route, params}]} (or GET items=<same JSON>); route one of balance, gas, tx-status, t"},{"name":"market_quote","description":"x402 price quote and payTo check for one x402 seller URL, without paying. GET url (https; optional method GET/POST). One unpaid request. Returns JSON: verdict p"},{"name":"screenshot","description":"Website screenshot API: how a public page renders, as PNG or JPEG. GET url; optional width (320-1920), height (240-2000), fullPage=true (clipped at 4000px), for"},{"name":"search","description":"Web search API with page contents: current results with sources as markdown. GET q (max 300 chars), optional n (1-5 pages, default 3). Web results via Serper (G"},{"name":"pdf","description":"PDF to text API: the text of a public PDF, page by page. GET url (http/https, max 10MB), optional pages (1-50, default 50). Returns JSON: pages [{page, text}], "},{"name":"sec_company_facts","description":"Key financial facts for one SEC-reporting company from SEC EDGAR XBRL filings: revenue, net income, assets, liabilities, equity, shares outstanding, operating c"},{"name":"money_market_rates","description":"FREE (no x402, no payment). Published NY Fed reference rates as released; market data only, not a forecast, not a recommendation. SOFR, EFFR, OBFR, TGCR and BGC"},{"name":"submit_feedback","description":"FREE (no payment). Tell Horizon Pulse about a missing coin, data field or route. Fields: type (coin, data, route or other), text (1-500 characters, plain text; "},{"name":"funding_reports","description":"Funding Pulse Weekly index: id, title, date and abstract of each available report. No rate values. Horizon Pulse is not affiliated with the New York Fed. The Ne"},{"name":"funding_report","description":"Returns the payment instructions (the unpaid HTTP 402) for one $1 report; this tool never pays. Pay the 402 over HTTP with x402 v2 (USDC on Base) at GET https:/"},{"name":"verified_brief_quote","description":"Returns the payment instructions (the unpaid HTTP 402) for the $1 verified brief; this tool never runs the brief or pays. To get the brief, pay the 402 over HTT"}],"toolCount":35,"toolsHash":"e15fe5472c681af4aca3954413829acbe2bc7aaacdbd78ed5dbabdc92dcbed1d","serverName":"horizon-pulse","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-27T12:25:30.165Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":157,"error":null,"detail":{"tools":[{"name":"pulse","description":"Crypto market data: a current USD price snapshot for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400, no charge), for quick market context. JSON per "},{"name":"signals","description":"Crypto market data: precomputed RSI-14, MACD and Bollinger Bands plus latest OKX perp funding for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400, no"},{"name":"yield","description":"DeFi yield API: current APY for stablecoin and DeFi pools in one GET, no parameters. Returns JSON: up to 25 pools ordered by a fixed filter tier then APY, each "},{"name":"gas","description":"Gas price API for Base and Ethereum: base fee, priority fee and a max-fee suggestion in one GET, no parameters. Returns JSON per network: baseFeeGwei, priorityF"},{"name":"funding","description":"Crypto market data: current OKX USDT-swap perp funding rates for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400, no charge), showing whether longs o"},{"name":"portfolio","description":"Wallet balance and portfolio API for one EVM address on Base and Ethereum: ETH, USDC, WETH, WBTC/cbBTC and DAI holdings with USD value. GET address=0x... (40 he"},{"name":"fetch","description":"URL to markdown API: a public web page as clean text or markdown for an LLM. GET url (absolute http/https). Returns JSON: content (markdown with scripts, styles"},{"name":"http","description":"HTTP request proxy API for public URLs: GET url (optional method GET/POST/HEAD/PUT/PATCH/DELETE; headers JSON), or POST JSON {url, method, headers, body}. Retur"},{"name":"extract","description":"Web scraping API: a public page or supplied HTML to JSON fields. GET url, or POST JSON {url or html, fields}. Returns JSON: title, description, canonical, langu"},{"name":"x402_check","description":"x402 endpoint checker: decodes an x402 endpoint's 402 payment terms without paying. GET url (optional method GET/POST, JSON body for POST). Sends one unpaid req"},{"name":"x402_check_deep","description":"x402 endpoint deep check, never pays or signs: the full /api/x402-check report plus live checks. GET url (optional method, body). Adds TLS, security headers, CO"},{"name":"bazaar_check","description":"x402 Bazaar listing checker: is an x402 seller listed in Coinbase CDP Bazaar, on which networks, and if not, why. GET url (host or https URL). Reads CDP discove"},{"name":"market_search","description":"x402 API search: find paid x402 APIs for a task in Coinbase CDP Bazaar. GET q; optional n (1-10), kind, rail (base, solana, xrpl, polygon, evm), max_price (USD)"},{"name":"discourse_split","description":"Hacker News and Bluesky opinion split, NOT a poll: how public posts divide on a question. GET q; optional sides (2-4, default yes,no), window (1-30d). Returns J"},{"name":"tx_status","description":"Transaction status API: did a payment or swap land, and is it final, on Base, Polygon, Solana or XRPL. GET tx (hash or Solana signature) and network (optional f"},{"name":"tokenized_stock","description":"Tokenized stock status API for Coinbase tokenized stocks on Base (AAPLc, NVDAc, TSLAc...). GET with optional symbol (AAPL, AAPLc or token address; omit for all "},{"name":"watch","description":"Web page change detection API: has a public page or endpoint changed since the last check. GET url; optional since (state token from the previous answer). Retur"},{"name":"balance","description":"Wallet balance API for x402 payers: USDC on Base, Polygon and Solana, RLUSD on XRPL, and whether the wallet can pay now. GET at least one of evm (Base+Polygon),"},{"name":"tx_guard","description":"Address poisoning and OFAC SDN snapshot match before a crypto transfer, mechanical. GET chain (base, polygon, solana, xrpl), to; optional expected, token. Check"},{"name":"grocery_normalize","description":"Recipe ingredient parser and shopping list API: POST JSON {ingredients: [lines], servings?, targetServings?} (or GET ingredients=line|line). Returns per line na"},{"name":"grocery_ingredient","description":"Ingredient nutrition facts API: GET q (ingredient name or normalize canonicalId) and/or barcode (GTIN), optional n 1-5; POST JSON {items:[{q|barcode}]} max 10. "},{"name":"chain_head","description":"Block height API: current block number, slot or ledger index for Base, Polygon, Ethereum, Solana and XRPL in one GET. Optional network (comma list; default all "},{"name":"token_meta","description":"Token metadata API: ERC-20 name, symbol, decimals and total supply on Base, Polygon or Ethereum; Solana mint decimals, supply, authorities (Token-2022 on-chain "},{"name":"name_resolve","description":"ENS and Basenames resolver API: name to address (vitalik.eth, jesse.base.eth) or address to primary name, read on-chain. GET name or address. Forward: address, "},{"name":"batch","description":"Batch chain checks API: up to 10 checks for one payment. POST JSON {items:[{route, params}]} (or GET items=<same JSON>); route one of balance, gas, tx-status, t"},{"name":"market_quote","description":"x402 price quote and payTo check for one x402 seller URL, without paying. GET url (https; optional method GET/POST). One unpaid request. Returns JSON: verdict p"},{"name":"screenshot","description":"Website screenshot API: how a public page renders, as PNG or JPEG. GET url; optional width (320-1920), height (240-2000), fullPage=true (clipped at 4000px), for"},{"name":"search","description":"Web search API with page contents: current results with sources as markdown. GET q (max 300 chars), optional n (1-5 pages, default 3). Web results via Serper (G"},{"name":"pdf","description":"PDF to text API: the text of a public PDF, page by page. GET url (http/https, max 10MB), optional pages (1-50, default 50). Returns JSON: pages [{page, text}], "},{"name":"sec_company_facts","description":"Key financial facts for one SEC-reporting company from SEC EDGAR XBRL filings: revenue, net income, assets, liabilities, equity, shares outstanding, operating c"},{"name":"money_market_rates","description":"FREE (no x402, no payment). Published NY Fed reference rates as released; market data only, not a forecast, not a recommendation. SOFR, EFFR, OBFR, TGCR and BGC"},{"name":"submit_feedback","description":"FREE (no payment). Tell Horizon Pulse about a missing coin, data field or route. Fields: type (coin, data, route or other), text (1-500 characters, plain text; "},{"name":"funding_reports","description":"Funding Pulse Weekly index: id, title, date and abstract of each available report. No rate values. Horizon Pulse is not affiliated with the New York Fed. The Ne"},{"name":"funding_report","description":"Returns the payment instructions (the unpaid HTTP 402) for one $1 report; this tool never pays. Pay the 402 over HTTP with x402 v2 (USDC on Base) at GET https:/"},{"name":"verified_brief_quote","description":"Returns the payment instructions (the unpaid HTTP 402) for the $1 verified brief; this tool never runs the brief or pays. To get the brief, pay the 402 over HTT"}],"toolCount":35,"toolsHash":"e15fe5472c681af4aca3954413829acbe2bc7aaacdbd78ed5dbabdc92dcbed1d","serverName":"horizon-pulse","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-27T04:24:40.743Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":139,"error":null,"detail":{"tools":[{"name":"pulse","description":"Crypto market data: a current USD price snapshot for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400, no charge), for quick market context. JSON per "},{"name":"signals","description":"Crypto market data: precomputed RSI-14, MACD and Bollinger Bands plus latest OKX perp funding for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400, no"},{"name":"yield","description":"DeFi yield API: current APY for stablecoin and DeFi pools in one GET, no parameters. Returns JSON: up to 25 pools ordered by a fixed filter tier then APY, each "},{"name":"gas","description":"Gas price API for Base and Ethereum: base fee, priority fee and a max-fee suggestion in one GET, no parameters. Returns JSON per network: baseFeeGwei, priorityF"},{"name":"funding","description":"Crypto market data: current OKX USDT-swap perp funding rates for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400, no charge), showing whether longs o"},{"name":"portfolio","description":"Wallet balance and portfolio API for one EVM address on Base and Ethereum: ETH, USDC, WETH, WBTC/cbBTC and DAI holdings with USD value. GET address=0x... (40 he"},{"name":"fetch","description":"URL to markdown API: a public web page as clean text or markdown for an LLM. GET url (absolute http/https). Returns JSON: content (markdown with scripts, styles"},{"name":"http","description":"HTTP request proxy API for public URLs: GET url (optional method GET/POST/HEAD/PUT/PATCH/DELETE; headers JSON), or POST JSON {url, method, headers, body}. Retur"},{"name":"extract","description":"Web scraping API: a public page or supplied HTML to JSON fields. GET url, or POST JSON {url or html, fields}. Returns JSON: title, description, canonical, langu"},{"name":"x402_check","description":"x402 endpoint checker: decodes an x402 endpoint's 402 payment terms without paying. GET url (optional method GET/POST, JSON body for POST). Sends one unpaid req"},{"name":"x402_check_deep","description":"x402 endpoint deep check, never pays or signs: the full /api/x402-check report plus live checks. GET url (optional method, body). Adds TLS, security headers, CO"},{"name":"bazaar_check","description":"x402 Bazaar listing checker: is an x402 seller listed in Coinbase CDP Bazaar, on which networks, and if not, why. GET url (host or https URL). Reads CDP discove"},{"name":"market_search","description":"x402 API search: find paid x402 APIs for a task in Coinbase CDP Bazaar. GET q; optional n (1-10), kind, rail (base, solana, xrpl, polygon, evm), max_price (USD)"},{"name":"discourse_split","description":"Hacker News and Bluesky opinion split, NOT a poll: how public posts divide on a question. GET q; optional sides (2-4, default yes,no), window (1-30d). Returns J"},{"name":"tx_status","description":"Transaction status API: did a payment or swap land, and is it final, on Base, Polygon, Solana or XRPL. GET tx (hash or Solana signature) and network (optional f"},{"name":"tokenized_stock","description":"Tokenized stock status API for Coinbase tokenized stocks on Base (AAPLc, NVDAc, TSLAc...). GET with optional symbol (AAPL, AAPLc or token address; omit for all "},{"name":"watch","description":"Web page change detection API: has a public page or endpoint changed since the last check. GET url; optional since (state token from the previous answer). Retur"},{"name":"balance","description":"Wallet balance API for x402 payers: USDC on Base, Polygon and Solana, RLUSD on XRPL, and whether the wallet can pay now. GET at least one of evm (Base+Polygon),"},{"name":"tx_guard","description":"Address poisoning and OFAC SDN snapshot match before a crypto transfer, mechanical. GET chain (base, polygon, solana, xrpl), to; optional expected, token. Check"},{"name":"grocery_normalize","description":"Recipe ingredient parser and shopping list API: POST JSON {ingredients: [lines], servings?, targetServings?} (or GET ingredients=line|line). Returns per line na"},{"name":"grocery_ingredient","description":"Ingredient nutrition facts API: GET q (ingredient name or normalize canonicalId) and/or barcode (GTIN), optional n 1-5; POST JSON {items:[{q|barcode}]} max 10. "},{"name":"chain_head","description":"Block height API: current block number, slot or ledger index for Base, Polygon, Ethereum, Solana and XRPL in one GET. Optional network (comma list; default all "},{"name":"token_meta","description":"Token metadata API: ERC-20 name, symbol, decimals and total supply on Base, Polygon or Ethereum; Solana mint decimals, supply, authorities (Token-2022 on-chain "},{"name":"name_resolve","description":"ENS and Basenames resolver API: name to address (vitalik.eth, jesse.base.eth) or address to primary name, read on-chain. GET name or address. Forward: address, "},{"name":"batch","description":"Batch chain checks API: up to 10 checks for one payment. POST JSON {items:[{route, params}]} (or GET items=<same JSON>); route one of balance, gas, tx-status, t"},{"name":"market_quote","description":"x402 price quote and payTo check for one x402 seller URL, without paying. GET url (https; optional method GET/POST). One unpaid request. Returns JSON: verdict p"},{"name":"screenshot","description":"Website screenshot API: how a public page renders, as PNG or JPEG. GET url; optional width (320-1920), height (240-2000), fullPage=true (clipped at 4000px), for"},{"name":"search","description":"Web search API with page contents: current results with sources as markdown. GET q (max 300 chars), optional n (1-5 pages, default 3). Web results via Serper (G"},{"name":"pdf","description":"PDF to text API: the text of a public PDF, page by page. GET url (http/https, max 10MB), optional pages (1-50, default 50). Returns JSON: pages [{page, text}], "},{"name":"sec_company_facts","description":"Key financial facts for one SEC-reporting company from SEC EDGAR XBRL filings: revenue, net income, assets, liabilities, equity, shares outstanding, operating c"},{"name":"money_market_rates","description":"FREE (no x402, no payment). Published NY Fed reference rates as released; market data only, not a forecast, not a recommendation. SOFR, EFFR, OBFR, TGCR and BGC"},{"name":"submit_feedback","description":"FREE (no payment). Tell Horizon Pulse about a missing coin, data field or route. Fields: type (coin, data, route or other), text (1-500 characters, plain text; "},{"name":"funding_reports","description":"Funding Pulse Weekly index: id, title, date and abstract of each available report. No rate values. Horizon Pulse is not affiliated with the New York Fed. The Ne"},{"name":"funding_report","description":"Returns the payment instructions (the unpaid HTTP 402) for one $1 report; this tool never pays. Pay the 402 over HTTP with x402 v2 (USDC on Base) at GET https:/"},{"name":"verified_brief_quote","description":"Returns the payment instructions (the unpaid HTTP 402) for the $1 verified brief; this tool never runs the brief or pays. To get the brief, pay the 402 over HTT"}],"toolCount":35,"toolsHash":"e15fe5472c681af4aca3954413829acbe2bc7aaacdbd78ed5dbabdc92dcbed1d","serverName":"horizon-pulse","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T21:23:59.361Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":151,"error":null,"detail":{"tools":[{"name":"pulse","description":"Crypto market data: a current USD price snapshot for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400, no charge), for quick market context. JSON per "},{"name":"signals","description":"Crypto market data: precomputed RSI-14, MACD and Bollinger Bands plus latest OKX perp funding for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400, no"},{"name":"yield","description":"DeFi yield API: current APY for stablecoin and DeFi pools in one GET, no parameters. Returns JSON: up to 25 pools ordered by a fixed filter tier then APY, each "},{"name":"gas","description":"Gas price API for Base and Ethereum: base fee, priority fee and a max-fee suggestion in one GET, no parameters. Returns JSON per network: baseFeeGwei, priorityF"},{"name":"funding","description":"Crypto market data: current OKX USDT-swap perp funding rates for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400, no charge), showing whether longs o"},{"name":"portfolio","description":"Wallet balance and portfolio API for one EVM address on Base and Ethereum: ETH, USDC, WETH, WBTC/cbBTC and DAI holdings with USD value. GET address=0x... (40 he"},{"name":"fetch","description":"URL to markdown API: a public web page as clean text or markdown for an LLM. GET url (absolute http/https). Returns JSON: content (markdown with scripts, styles"},{"name":"http","description":"HTTP request proxy API for public URLs: GET url (optional method GET/POST/HEAD/PUT/PATCH/DELETE; headers JSON), or POST JSON {url, method, headers, body}. Retur"},{"name":"extract","description":"Web scraping API: a public page or supplied HTML to JSON fields. GET url, or POST JSON {url or html, fields}. Returns JSON: title, description, canonical, langu"},{"name":"x402_check","description":"x402 endpoint checker: decodes an x402 endpoint's 402 payment terms without paying. GET url (optional method GET/POST, JSON body for POST). Sends one unpaid req"},{"name":"x402_check_deep","description":"x402 endpoint deep check, never pays or signs: the full /api/x402-check report plus live checks. GET url (optional method, body). Adds TLS, security headers, CO"},{"name":"bazaar_check","description":"x402 Bazaar listing checker: is an x402 seller listed in Coinbase CDP Bazaar, on which networks, and if not, why. GET url (host or https URL). Reads CDP discove"},{"name":"market_search","description":"x402 API search: find paid x402 APIs for a task in Coinbase CDP Bazaar. GET q; optional n (1-10), kind, rail (base, solana, xrpl, polygon, evm), max_price (USD)"},{"name":"discourse_split","description":"Hacker News and Bluesky opinion split, NOT a poll: how public posts divide on a question. GET q; optional sides (2-4, default yes,no), window (1-30d). Returns J"},{"name":"tx_status","description":"Transaction status API: did a payment or swap land, and is it final, on Base, Polygon, Solana or XRPL. GET tx (hash or Solana signature) and network (optional f"},{"name":"tokenized_stock","description":"Tokenized stock status API for Coinbase tokenized stocks on Base (AAPLc, NVDAc, TSLAc...). GET with optional symbol (AAPL, AAPLc or token address; omit for all "},{"name":"watch","description":"Web page change detection API: has a public page or endpoint changed since the last check. GET url; optional since (state token from the previous answer). Retur"},{"name":"balance","description":"Wallet balance API for x402 payers: USDC on Base, Polygon and Solana, RLUSD on XRPL, and whether the wallet can pay now. GET at least one of evm (Base+Polygon),"},{"name":"tx_guard","description":"Address poisoning and OFAC SDN snapshot match before a crypto transfer, mechanical. GET chain (base, polygon, solana, xrpl), to; optional expected, token. Check"},{"name":"grocery_normalize","description":"Recipe ingredient parser and shopping list API: POST JSON {ingredients: [lines], servings?, targetServings?} (or GET ingredients=line|line). Returns per line na"},{"name":"grocery_ingredient","description":"Ingredient nutrition facts API: GET q (ingredient name or normalize canonicalId) and/or barcode (GTIN), optional n 1-5; POST JSON {items:[{q|barcode}]} max 10. "},{"name":"chain_head","description":"Block height API: current block number, slot or ledger index for Base, Polygon, Ethereum, Solana and XRPL in one GET. Optional network (comma list; default all "},{"name":"token_meta","description":"Token metadata API: ERC-20 name, symbol, decimals and total supply on Base, Polygon or Ethereum; Solana mint decimals, supply, authorities (Token-2022 on-chain "},{"name":"name_resolve","description":"ENS and Basenames resolver API: name to address (vitalik.eth, jesse.base.eth) or address to primary name, read on-chain. GET name or address. Forward: address, "},{"name":"batch","description":"Batch chain checks API: up to 10 checks for one payment. POST JSON {items:[{route, params}]} (or GET items=<same JSON>); route one of balance, gas, tx-status, t"},{"name":"market_quote","description":"x402 price quote and payTo check for one x402 seller URL, without paying. GET url (https; optional method GET/POST). One unpaid request. Returns JSON: verdict p"},{"name":"screenshot","description":"Website screenshot API: how a public page renders, as PNG or JPEG. GET url; optional width (320-1920), height (240-2000), fullPage=true (clipped at 4000px), for"},{"name":"search","description":"Web search API with page contents: current results with sources as markdown. GET q (max 300 chars), optional n (1-5 pages, default 3). Web results via Serper (G"},{"name":"pdf","description":"PDF to text API: the text of a public PDF, page by page. GET url (http/https, max 10MB), optional pages (1-50, default 50). Returns JSON: pages [{page, text}], "},{"name":"sec_company_facts","description":"Key financial facts for one SEC-reporting company from SEC EDGAR XBRL filings: revenue, net income, assets, liabilities, equity, shares outstanding, operating c"},{"name":"money_market_rates","description":"FREE (no x402, no payment). Published NY Fed reference rates as released; market data only, not a forecast, not a recommendation. SOFR, EFFR, OBFR, TGCR and BGC"},{"name":"submit_feedback","description":"FREE (no payment). Tell Horizon Pulse about a missing coin, data field or route. Fields: type (coin, data, route or other), text (1-500 characters, plain text; "},{"name":"funding_reports","description":"Funding Pulse Weekly index: id, title, date and abstract of each available report. No rate values. Horizon Pulse is not affiliated with the New York Fed. The Ne"},{"name":"funding_report","description":"Returns the payment instructions (the unpaid HTTP 402) for one $1 report; this tool never pays. Pay the 402 over HTTP with x402 v2 (USDC on Base) at GET https:/"},{"name":"verified_brief_quote","description":"Returns the payment instructions (the unpaid HTTP 402) for the $1 verified brief; this tool never runs the brief or pays. To get the brief, pay the 402 over HTT"}],"toolCount":35,"toolsHash":"d0cf26e0ed3f654ae7062e8f4f53d97cfe3723323dd484b3d05f6ac0ba24ea5b","serverName":"horizon-pulse","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"pulse","description":"Crypto market data: a current USD price snapshot for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400), for quick market context. JSON per asset: pric"},{"name":"signals","description":"Crypto market data: precomputed RSI-14, MACD and Bollinger Bands plus latest OKX perp funding for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400), w"},{"name":"yield","description":"DeFi yield API: current APY for stablecoin and DeFi pools in one GET, no parameters. Returns JSON: up to 25 pools ordered by a fixed filter tier then APY, each "},{"name":"gas","description":"Gas price API for Base and Ethereum: base fee, priority fee and a max-fee suggestion in one GET, no parameters. Returns JSON per network: baseFeeGwei, priorityF"},{"name":"funding","description":"Crypto market data: current OKX USDT-swap perp funding rates for BTC, ETH and SOL, or one coin via symbol= (bad symbol: 400), showing whether longs or shorts ar"},{"name":"portfolio","description":"Wallet balance and portfolio API for one EVM address on Base and Ethereum: ETH, USDC, WETH, WBTC/cbBTC and DAI holdings with USD value. GET address=0x... (40 he"},{"name":"fetch","description":"URL to markdown API: a public web page as clean text or markdown for an LLM. GET url (absolute http/https). Returns JSON: content (markdown with scripts, styles"},{"name":"http","description":"HTTP request proxy API for public URLs: GET url (optional method GET/POST/HEAD/PUT/PATCH/DELETE; headers JSON), or POST JSON {url, method, headers, body}. Retur"},{"name":"extract","description":"Web scraping API: a public page or supplied HTML to JSON fields. GET url, or POST JSON {url or html, fields}. Returns JSON: title, description, canonical, langu"},{"name":"x402_check","description":"x402 endpoint checker: decodes an x402 endpoint's 402 payment terms without paying. GET url (optional method GET/POST, JSON body for POST). Sends one unpaid req"},{"name":"x402_check_deep","description":"x402 endpoint deep check, never pays or signs: the full /api/x402-check report plus live checks. GET url (optional method, body). Adds TLS, security headers, CO"},{"name":"bazaar_check","description":"x402 Bazaar listing checker: is an x402 seller listed in Coinbase CDP Bazaar, on which networks, and if not, why. GET url (host or https URL). Reads CDP discove"},{"name":"market_search","description":"x402 API search: find paid x402 APIs for a task in Coinbase CDP Bazaar. GET q; optional n (1-10), kind, rail (base, solana, xrpl, polygon, evm), max_price (USD)"},{"name":"discourse_split","description":"Hacker News and Bluesky opinion split, NOT a poll: how public posts divide on a question. GET q; optional sides (2-4, default yes,no), window (1-30d). Returns J"},{"name":"tx_status","description":"Transaction status API: did a payment or swap land, and is it final, on Base, Polygon, Solana or XRPL. GET tx (hash or Solana signature) and network (optional f"},{"name":"tokenized_stock","description":"Tokenized stock status API for Coinbase tokenized stocks on Base (AAPLc, NVDAc, TSLAc...). GET with optional symbol (AAPL, AAPLc or token address; omit for all "},{"name":"watch","description":"Web page change detection API: has a public page or endpoint changed since the last check. GET url; optional since (state token from the previous answer). Retur"},{"name":"balance","description":"Wallet balance API for x402 payers: USDC on Base, Polygon and Solana, RLUSD on XRPL. GET at least one of evm (Base+Polygon), solana, xrpl. Per rail: balance, ga"},{"name":"tx_guard","description":"Address poisoning and OFAC SDN snapshot match before a crypto transfer, mechanical. GET chain (base/polygon/solana/xrpl), to; opt. expected, token. Checks: look"},{"name":"grocery_normalize","description":"Recipe ingredient parser and shopping list API: POST JSON {ingredients: [lines], servings?, targetServings?} (or GET ingredients=line|line). Returns per line na"},{"name":"grocery_ingredient","description":"Ingredient nutrition facts API: GET q (ingredient name or normalize canonicalId) and/or barcode (GTIN), optional n 1-5; POST JSON {items:[{q|barcode}]} max 10. "},{"name":"chain_head","description":"Block height API: current block number, slot or ledger index for Base, Polygon, Ethereum, Solana and XRPL in one GET. Optional network (comma list; default all "},{"name":"token_meta","description":"Token metadata API: ERC-20 name, symbol, decimals and total supply on Base, Polygon or Ethereum; Solana mint decimals, supply, authorities (Token-2022 name and "},{"name":"name_resolve","description":"ENS and Basenames resolver API: name to address (vitalik.eth, jesse.base.eth) or address to primary name, read on-chain. GET name or address. Forward: address, "},{"name":"batch","description":"Batch chain checks API: up to 10 checks for one payment. POST JSON {items:[{route, params}]} (or GET items=<same JSON>); route one of balance, gas, tx-status, t"},{"name":"market_quote","description":"x402 price quote and payTo check for one seller URL, without paying. GET url (https; optional method GET/POST). One unpaid request. Returns JSON: verdict pay/ca"},{"name":"screenshot","description":"Website screenshot API: how a public page renders, as PNG or JPEG. GET url; optional width (320-1920), height (240-2000), fullPage=true (clipped at 4000px), for"},{"name":"search","description":"Web search API with page contents: current results with sources as markdown. GET q (max 300 chars), optional n (1-5 pages, default 3). Web results via Serper (G"},{"name":"pdf","description":"PDF to text API: the text of a public PDF, page by page. GET url (http/https, max 10MB), optional pages (1-50, default 50). Returns JSON: pages [{page, text}], "},{"name":"sec_company_facts","description":"Key financial facts for one SEC-reporting company from SEC EDGAR XBRL filings: revenue, net income, assets, liabilities, equity, shares outstanding, operating c"},{"name":"pii_scan","description":"Best-effort scan of supplied text for common patterns: email, phone, US SSN, Luhn-checked card numbers, mod-97 IBANs, IP addresses, private-key shapes, BIP-39 s"},{"name":"money_market_rates","description":"FREE (no x402, no payment). Published NY Fed reference rates as released; market data only, not a forecast, not a recommendation. SOFR, EFFR, OBFR, TGCR and BGC"},{"name":"submit_feedback","description":"FREE (no payment). Tell Horizon Pulse about a missing coin, data field or route. Fields: type (coin, data, route or other), text (1-500 characters, plain text; "},{"name":"funding_reports","description":"Funding Pulse Weekly index: id, title, date and abstract of each available report. No rate values. Horizon Pulse is not affiliated with the New York Fed. The Ne"},{"name":"funding_report","description":"Returns the payment instructions (the unpaid HTTP 402) for one $1 report; this tool never pays. Pay the 402 over HTTP with x402 v2 (USDC on Base) at GET https:/"},{"name":"domain_precheck_quote","description":"Returns the payment terms for https://horizonpulse.dev/api/domain/precheck (single $0.02, bulk $0.25; USDC on Base only); this tool never runs the check or pays"},{"name":"sec_filings_quote","description":"Returns the payment terms for https://horizonpulse.dev/api/sec/filings (base $0.02; USDC on Base only); this tool never runs the check or pays. Pay the 402 over"},{"name":"treasury_debt_quote","description":"Returns the payment terms for https://horizonpulse.dev/api/treasury/debt (base $0.01; USDC on Base only); this tool never runs the check or pays. Pay the 402 ov"},{"name":"pros_verify_quote","description":"Returns the payment terms for https://horizonpulse.dev/api/pros/verify (base $0.05; USDC on Base only); this tool never runs the check or pays. Pay the 402 over"},{"name":"verified_brief_quote","description":"Returns the payment instructions (the unpaid HTTP 402) for the $1 verified brief; this tool never runs the brief or pays. To get the brief, pay the 402 over HTT"}],"package":null,"toolSurface":{"id":"ts_tf2t32wjahmr","endpointId":"ep_zpn8evykp5we","hash":"16623f21aff3f5aa578082ba42781d550d4d7cb9945b7f3f20fabef7022831ca","toolCount":40,"serverName":"horizon-pulse","serverVersion":"1.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-29T08:22:11.746Z","lastSeenAt":"2026-10-29T16:25:32.254Z","observations":2,"toolNames":["pulse","signals","yield","gas","funding","portfolio","fetch","http","extract","x402_check","x402_check_deep","bazaar_check","market_search","discourse_split","tx_status","tokenized_stock","watch","balance","tx_guard","grocery_normalize","grocery_ingredient","chain_head","token_meta","name_resolve","batch","market_quote","screenshot","search","pdf","sec_company_facts","pii_scan","money_market_rates","submit_feedback","funding_reports","funding_report","domain_precheck_quote","sec_filings_quote","treasury_debt_quote","pros_verify_quote","verified_brief_quote"],"distinctSurfaces":19},"endpointFacts":[{"id":"ep_zpn8evykp5we","url":"https://horizonpulse.dev/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-29T08:22:11.779Z","auth":{"observedAt":"2026-10-29T08:22:11.820Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-29T08:22:11.841Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"horizonpulse.dev","issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validFrom":"2026-09-19T17:49:24.000Z","validTo":"2026-12-18T17:49:23.000Z","daysToExpiry":49,"sanCount":1,"fingerprint256":"6C:7F:69:E9:9F:F5:27:C7:6C:EC:1B:F8:B6:C9:E8:5D:43:9E:65:C0:8F:0A:F1:6E:91:80:50:1F:7D:FC:EB:2A"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.horizon-pulse/horizon-pulse","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.horizon-pulse%2Fhorizon-pulse","firstSeenAt":"2026-10-13T10:22:20.784Z","fetchedAt":"2026-10-26T14:19:04.640Z","normalizedAt":"2026-10-26T14:19:04.640Z"}]},"firstSeenAt":"2026-10-13T10:22:20.784Z","updatedAt":"2026-10-29T16:30:58.250Z"}