Horizon Pulse No-charge (informational) API

The No-charge (informational) API from Horizon Pulse — 2 operation(s) for no-charge (informational).

GitHub OpenAPI

Operations 2

GET /api/money-market-rates Published NY Fed reference rates as released (no charge; reference feed) #
POST /api/feedback Request a missing coin, data field or route (no payment required) #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/horizonpulse-dev:horizonpulse-dev-no-charge-informational-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

horizonpulse-dev-no-charge-informational-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Horizon Pulse No-charge (informational) API
  version: 1.1.0
  termsOfService: https://horizonpulse.dev/terms/buyer
  summary: Pay-per-call APIs for AI agents, settled in USDC on Base, Solana or Polygon, or RLUSD on the XRP Ledger, with x402.
  description: 'Pay-per-call APIs for AI agents, paid in USDC on Base, Solana or Polygon, or RLUSD on the XRP Ledger, with x402: web search, page fetch and extract, PDF to text, an HTTP proxy, and crypto market data. No signup or API key.


    On Base, you only pay for a successful response; errors are not charged except where an operation says so (for /api/tx-status, a not_found status is a charged answer; poll again after pollAgainSeconds). These no-charge statements are made for USDC on Base. On USDC on Solana, and RLUSD on the XRP Ledger, a refused or failed request may still be charged. charged: false means Horizon Pulse did not settle the payment; on USDC on Solana, and RLUSD on the XRP Ledger, this is not a guarantee that no funds moved. Every paid operation carries `x-payment-info` with the exact price, asset, network and payTo of its Base entry; these match the 402 challenge and https://horizonpulse.dev/.well-known/x402. The 402 challenge also offers the same price in USDC on Solana mainnet (`exact`, network solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp, USDC mint EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v, payTo BjY98A6dS3GGLZdz2zHy8wK7XAwnQgNhCc66mfmBTRPz, PayAI facilitator https://facilitator.payai.network), and in native USDC on Polygon PoS mainnet (`exact`, network eip155:137, USDC 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359, payTo 0x5b32c973596078a967562ca652761404f19be0e9, facilitator: Coinbase CDP), and in RLUSD on the XRP Ledger mainnet (`exact`, network xrpl:0, currency RLUSD = 524C555344000000000000000000000000000000, issuer rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De, payTo r3FbirL83RAB2CwnUdxE5pCohMkuo6LQcf, verified on the validated ledger). Recorded example responses (fixed input, dated, informational; not paid operations): GET /api/demo/{route}.


    Agent integration: step-by-step skill at https://horizonpulse.dev/skill.md; guide with MCP setup at https://horizonpulse.dev/agents (hosted MCP at https://horizonpulse.dev/mcp for x402-aware clients, plus a local stdio MCP server in the repo''s mcp/ folder that pays from your own wallet with spend caps).


    Services for API owners (web pages, not API operations; not paid via x402): Bazaar listing fix at https://horizonpulse.dev/listing-fix; agent promotion at https://horizonpulse.dev/agent-promotion.'
  contact:
    name: Horizon Pulse
    email: horizonpulse.co@proton.me
    url: https://horizonpulse.dev
  x-guidance: 'Read PAYMENT-REQUIRED (base64 JSON). Pay exact USDC on Base (CDP), Solana (PayAI feePayer), Polygon, or RLUSD on XRPL at the listed payTo. Unpaid samples: /api/demo/{route}. Skill: /skill.md. Hosted MCP: /mcp (Base USDC only).'
servers:
- url: https://horizonpulse.dev
  description: Production
security:
- x402: []
tags:
- name: No-charge (informational)
paths:
  /api/money-market-rates:
    get:
      operationId: getMoneyMarketRates
      summary: Published NY Fed reference rates as released (no charge; reference feed)
      description: 'No charge (no x402, no payment); reference feed, not a paid service. Published NY Fed reference rates as released; market data only, not a forecast, not a recommendation. SOFR, EFFR, OBFR, TGCR and BGCR as published, with each rate''s NY Fed source URL, terms notices and a holiday-aware status (fresh, PENDING, STALE, no publish, UNVERIFIED holiday status). Params: rates (comma list), last (1-10) or startDate+endDate (YYYY-MM-DD, =2018-04-02). Horizon Pulse is not affiliated with the New York Fed. The New York Fed does not sanction, endorse, or recommend any products or services offered by Horizon Pulse. Horizon Pulse is also not affiliated with the Federal Reserve System. Data are passed through unchanged from the NY Fed Markets Data API under the New York Fed Terms of Use and may not be current; the same values are free at markets.newyorkfed.org.'
      tags:
      - No-charge (informational)
      security: []
      x-no-payment: true
      parameters:
      - name: rates
        in: query
        required: false
        description: Comma list from SOFR,EFFR,OBFR,TGCR,BGCR (case-insensitive; default all five)
        schema:
          type: string
      - name: last
        in: query
        required: false
        description: Last n observations per rate, 1-10. Exclusive with startDate/endDate.
        schema:
          type: integer
          minimum: 1
          maximum: 10
      - name: startDate
        in: query
        required: false
        description: YYYY-MM-DD, >= 2018-04-02; requires endDate; span <= 31 calendar days
        schema:
          type: string
          format: date
      - name: endDate
        in: query
        required: false
        description: YYYY-MM-DD, >= startDate; requires startDate
        schema:
          type: string
          format: date
      responses:
        '200':
          description: Rates as published, per-rate status and terms block. Horizon Pulse is not affiliated with the New York Fed. The New York Fed does not sanction, endorse, or recommend any products or services offered by Horizon Pulse. Horizon Pulse is also not affiliated with the Federal Reserve System. Data are passed through unchanged from the NY Fed Markets Data API under the New York Fed Terms of Use and may not be current; the same values are free at markets.newyorkfed.org.
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad or unknown params (body lists the allowed params).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: 'Upstream NY Fed fetch limit reached for every requested rate and nothing cached; Retry-After: 60. Per-rate limits otherwise show status rate_limited.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /api/feedback:
    post:
      operationId: submitFeedback
      summary: Request a missing coin, data field or route (no payment required)
      description: 'No payment required. Tell Horizon Pulse about a missing coin, data field or route. Fields: type (coin, data, route or other), text (1-500 characters, plain text; links are not followed and are stored masked), optional symbol and route. Stored for human review only, for up to 90 days; nothing ships automatically and there is no reply. We may use what you send to improve Horizon Pulse, with no obligation or payment. Do not include personal data, secrets or keys. Limit: 5 per hour and 20 per day per caller IP address, plus a shared daily cap. Limits use a keyed hash (HMAC) of the caller''s IP address; the IP address itself is not stored. The limit counters expire within 25 hours, and each stored entry keeps that hash for up to 90 days so repeat submissions can be reviewed.'
      tags:
      - No-charge (informational)
      security: []
      x-no-payment: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
              - type
              - text
              properties:
                type:
                  type: string
                  enum:
                  - coin
                  - data
                  - route
                  - other
                text:
                  type: string
                  minLength: 1
                  maxLength: 500
                symbol:
                  type: string
                  pattern: ^[A-Za-z0-9]{2,10}$
                route:
                  type: string
                  pattern: ^/api/[a-z0-9-]+(?:/[a-z0-9-]+)*$
                  maxLength: 65
            example:
              type: coin
              text: Please add funding for PEPE
              symbol: PEPE
      responses:
        '201':
          description: Stored for human review; nothing ships automatically
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad field
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '413':
          description: Body over 2 KB
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '415':
          description: Not JSON
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limited (Retry-After)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Temporarily unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Error:
      type: object
      description: Error body. Errors are not charged unless the route description says otherwise (e.g. /api/http passes upstream 4xx/5xx back as data).
      required:
      - ok
      - error
      properties:
        ok:
          const: false
        error:
          type: string
        code:
          type: string
          description: Stable machine-readable error code, where the route has one.
  securitySchemes:
    x402:
      type: apiKey
      in: header
      name: PAYMENT-SIGNATURE
      description: x402 v2 payment payload (base64 JSON), built from the 402 PAYMENT-REQUIRED challenge. No account or API key. See https://www.x402.org/.
externalDocs:
  description: 'Agent guide: discovery, the x402 pay flow, skill file and MCP setup'
  url: https://horizonpulse.dev/agents