FiatDock Sec API

The Sec API from FiatDock — 2 operation(s) for sec.

GitHub OpenAPI

Operations 4

POST /v1/sec/filings Sec filings #
GET /v1/sec/filings Sec filings get #
POST /v1/sec/financials Company financials #
GET /v1/sec/financials Company financials get #

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/fiatdock-com:fiatdock-com-sec-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

fiatdock-com-sec-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: FiatDock Sec API
  version: 1.16.1
  contact:
    name: FiatDock
    email: osama@fiatdock.com
    url: https://fiatdock.com
  description: 'A marketplace where AI agents discover and pay each other per call in USDC over x402 — settlement goes DIRECTLY to the seller, non-custodial, no accounts and no API keys. POST /s/{id} invokes any listed MCP service at that seller''s own price; GET /v1/marketplace/services is the catalog. Also first-party: free token prices, on-chain Base reads (gas, blocks, ETH/USDC balances, tx status, token metadata), token-safety and address-risk screening, and a non-custodial USDC on/off-ramp (x402 + a licensed payment partner). COMPLIANCE (binding, ramp only): 18+ only; served worldwide via our licensed provider across ~160 countries (EUR/SEPA in the EU/EEA incl. Portugal, card elsewhere; NOT the UK, US persons, or sanctioned countries); own-account rule — the sending wallet and the receiving bank account must belong to the same person (the agent''s owner), no third-party funds, no aggregation, no P2P transfers. Crypto is volatile; quotes indicative; nothing here is investment advice. RETRIES: GET endpoints are idempotent — repeat freely. Session POSTs are NOT idempotent (each success creates a new order and costs the x402 fee), but any non-2xx means nothing was created or charged, and an unanswered request at worst leaves an unused checkout link that expires in ~2 hours — no funds move until the human owner completes checkout. Pass the same customerId on retries and check /v1/customers/{customerId}/orders for duplicates. On 429, sleep Retry-After seconds.'
  termsOfService: https://fiatdock.com/terms.html
  x-guidance: 'Start FREE: GET /v1/token/price?token=0x…&chain=base (no payment, no key) — for a contract address it also returns a `recommend` object handing you the exact paid token_safety call. Paid calls use x402 v2: send the request, read the base64-JSON PAYMENT-REQUIRED response header on the 402, sign, and retry with X-PAYMENT. Nothing is charged on a 402. Cheapest paid calls: POST /v1/stablecoin/intel and POST /v1/token/safety — both answer >=400 (and settle nothing) if the upstream data is unavailable, so you are never charged for a missing answer. Everything here is also exposed as MCP tools at https://fiatdock.com/mcp (Streamable HTTP) or `npx fiatdock-mcp` (stdio, pays automatically).'
  x-agent-rules:
    neverChargedFor:
    - A 402 — that is the price quote, not a charge. Retrying is always safe.
    - Any 4xx. A ramp body that names a real ramp field is validated BEFORE the paywall, so that typo costs nothing and needs no wallet.
    - A 5xx or an upstream failure on a paid data route — x402 settles only on <400.
    beforeYouPayAnything:
    - GET /v1/quote?side=SELL&cryptoAmount=100 (or side=BUY&fiatAmount=100) is FREE and returns the real net amount.
    - 'POST the session body with no payment header. A 400 means fix the body. A 402 does NOT by itself mean the body is valid — the free check runs only when the body names a ramp field (cryptoAmount, fiatAmount, fiatCurrency, network, walletAddress, …); otherwise read `requestProblem` in the 402 body: present = still invalid, absent = you may sign.'
    inputWeAccept:
      amounts: Numbers or strings. "100,50", "1.234,56", "1,234.56", "١٠٠", "€100" are all understood.
      walletAddress: 0x + 40 hex. A bare 40-hex string (no 0x) and surrounding whitespace are accepted.
      fiatCurrency: 'ISO code, any case. "eur", "€", "euro" → EUR. 18 supported: AUD CAD CHF CZK DKK EUR GBP HKD HUF JPY MXN NOK NZD PLN SEK SGD USD ZAR.'
      network: base | ethereum | polygon | arbitrum | optimism | avalanche | bsc. Chain ids (8453, eip155:8453) and short forms (eth, arb, op, avax, bnb) also work.
      side: Exactly "SELL" or "BUY". Anything else is a 400 — we will not guess, because guessing the direction would price the opposite trade.
    knownLimits:
      offRampMinimum: The provider's floor is CHF 50 equivalent (~54 EUR). A smaller SELL quote answers 400 with the exact `minimum` — size up and retry.
      orderStatus: Orders stay SESSION_CREATED. The current provider sends no status webhook, so `callbackUrl` receives no push — poll GET /v1/orders/{id} and expect it to be static for now.
      checkoutTtl: checkoutUrl is valid ~2 hours. Forward it to the human owner promptly.
      humanStep: Session creation is fully automatable; the fiat transfer is not. A human gives the provider a phone number and email (identity documents only above ~CHF 999 per 30 days) and confirms the transfer.
    ifSomethingLooksWrong: 'Every 4xx carries a `hint` with the exact fix — read it before retrying. Live health: GET https://fiatdock.com/status. If a paid call fails after settlement the response names the settled transactions and says whether retrying is safe.'
servers:
- url: https://fiatdock.com
tags:
- name: Sec
paths:
  /v1/sec/filings:
    post:
      operationId: secFilings
      description: 'A US-listed company''s latest SEC filings from EDGAR, by ticker (AAPL, BRK-B) or CIK: newest first, each with form type, filing and report date, accession number, description, an 8-K''s item codes (2.02 results, 5.02 officer changes…) and a direct link to the document on sec.gov — plus the company''s name, CIK, tickers, exchanges and industry. Filter by form types (10-K, 10-Q, 8-K, 4, DEF 14A…). An unknown ticker answers 404 and is not charged. Public-domain data, not investment advice. Paid $0.0027 USDC via x402. MCP tool: sec_filings.'
      requestBody:
        required: false
        content:
          application/json:
            example:
              ticker: AAPL
              forms: 8-K,10-Q
            schema:
              type: object
              properties:
                ticker:
                  description: Stock ticker (AAPL, MSFT, BRK-B) or a CIK number. Omit the whole body to get the published example (AAPL)
                  type: string
                  maxLength: 10
                  example: AAPL
                forms:
                  description: Only these form types (e.g. 10-K,10-Q,8-K,4,DEF 14A). Omit for all (comma-separated, or a JSON array)
                  type: string
                  example: 8-K,10-Q
                limit:
                  description: How many filings, newest first, 1-100 (default 20)
                  type: integer
                  minimum: 1
                  maximum: 100
                  example: 20
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecFilings'
          description: SEC filings by ticker (EDGAR)
        '400':
          description: an input the tool cannot use, or a field it does not read (not charged)
        '402':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentRequired'
          description: 'x402 v2 Payment Required: the exact requirements arrive base64-JSON in the PAYMENT-REQUIRED response header (pay $0.0027 USDC on base = CAIP-2 eip155 id), then retry with the PAYMENT-SIGNATURE header (x402 v2; the v1 name X-PAYMENT is also accepted). Nothing is charged on a 402 — retrying is always safe.'
        '404':
          description: nothing to answer for this input — e.g. an unknown coin, currency, ticker or token, or a search with no match (not charged)
        '429':
          description: Rate limited (global 120/min/IP; stricter buckets on /mcp, webhook, auth). Sleep exactly Retry-After seconds, then retry.
          headers:
            Retry-After:
              schema:
                type: integer
              description: Seconds until the window resets — sleep this long, then retry
            RateLimit-Limit:
              schema:
                type: integer
              description: Requests allowed per window in this bucket
            RateLimit-Remaining:
              schema:
                type: integer
              description: Requests left in the current window (0 on 429)
            RateLimit-Reset:
              schema:
                type: integer
              description: Seconds until the window resets
        '502':
          description: the upstream source did not answer (not charged)
      x-payment-info:
        price:
          mode: fixed
          currency: USD
          amount: '0.002700'
        protocols:
        - x402: {}
      tags:
      - Sec
      summary: Sec filings
      x-summary-source: derived
    get:
      operationId: secFilingsGet
      description: 'A US-listed company''s latest SEC filings from EDGAR, by ticker (AAPL, BRK-B) or CIK: newest first, each with form type, filing and report date, accession number, description, an 8-K''s item codes (2.02 results, 5.02 officer changes…) and a direct link to the document on sec.gov — plus the company''s name, CIK, tickers, exchanges and industry. Filter by form types (10-K, 10-Q, 8-K, 4, DEF 14A…). An unknown ticker answers 404 and is not charged. Public-domain data, not investment advice. Paid $0.0027 USDC via x402. MCP tool: sec_filings. Also payable with GET: send the same inputs as query parameters (ADR-0175).'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SecFilings'
          description: SEC filings by ticker (EDGAR)
        '400':
          description: an input the tool cannot use, or a field it does not read (not charged)
        '402':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentRequired'
          description: 'x402 v2 Payment Required: the exact requirements arrive base64-JSON in the PAYMENT-REQUIRED response header (pay $0.0027 USDC on base = CAIP-2 eip155 id), then retry with the PAYMENT-SIGNATURE header (x402 v2; the v1 name X-PAYMENT is also accepted). Nothing is charged on a 402 — retrying is always safe.'
        '404':
          description: nothing to answer for this input — e.g. an unknown coin, currency, ticker or token, or a search with no match (not charged)
        '429':
          description: Rate limited (global 120/min/IP; stricter buckets on /mcp, webhook, auth). Sleep exactly Retry-After seconds, then retry.
          headers:
            Retry-After:
              schema:
                type: integer
              description: Seconds until the window resets — sleep this long, then retry
            RateLimit-Limit:
              schema:
                type: integer
              description: Requests allowed per window in this bucket
            RateLimit-Remaining:
              schema:
                type: integer
              description: Requests left in the current window (0 on 429)
            RateLimit-Reset:
              schema:
                type: integer
              description: Seconds until the window resets
        '502':
          description: the upstream source did not answer (not charged)
      x-payment-info:
        price:
          mode: fixed
          currency: USD
          amount: '0.002700'
        protocols:
        - x402: {}
      parameters:
      - name: ticker
        in: query
        required: false
        schema:
          type: string
        description: Stock ticker (AAPL, MSFT, BRK-B) or a CIK number. Omit the whole body to get the published example (AAPL)
      - name: forms
        in: query
        required: false
        schema:
          type: string
        description: Only these form types (e.g. 10-K,10-Q,8-K,4,DEF 14A). Omit for all (comma-separated, or a JSON array)
      - name: limit
        in: query
        required: false
        schema:
          type: integer
        description: How many filings, newest first, 1-100 (default 20)
      tags:
      - Sec
      summary: Sec filings get
      x-summary-source: derived
  /v1/sec/financials:
    post:
      operationId: companyFinancials
      description: 'A US-listed company''s financials as it filed them with the SEC (XBRL company facts), by ticker (AAPL, BRK-B) or CIK: for its last 1-12 fiscal years (10-K) or three-month quarters — revenue, net income, diluted EPS, total assets, total liabilities, stockholders'' equity, cash, operating cash flow, shares outstanding — each with the us-gaap tag it came from, the fiscal year/period and the filing. Restatements win; a value the company did not tag is null, never computed (no derived Q4). US-GAAP filers only (not IFRS). An unknown ticker or an SEC outage answers 404/502 and is not charged. Public-domain data, not investment advice. Paid $0.0045 USDC via x402. MCP tool: company_financials.'
      requestBody:
        required: false
        content:
          application/json:
            example:
              ticker: AAPL
              period: annual
              limit: 1
            schema:
              type: object
              properties:
                ticker:
                  description: Stock ticker (AAPL, MSFT, BRK-B) or the company's SEC CIK number
                  type: string
                  maxLength: 10
                  example: AAPL
                period:
                  description: annual (fiscal years, from 10-K filings; default) or quarterly (three-month periods)
                  type: string
                  enum:
                  - annual
                  - quarterly
                  example: annual
                limit:
                  description: How many periods, newest first, 1-12 (default 4)
                  type: integer
                  minimum: 1
                  maximum: 12
                  example: 4
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyFinancials'
          description: Company financials from SEC XBRL
        '400':
          description: an input the tool cannot use, or a field it does not read (not charged)
        '402':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentRequired'
          description: 'x402 v2 Payment Required: the exact requirements arrive base64-JSON in the PAYMENT-REQUIRED response header (pay $0.0045 USDC on base = CAIP-2 eip155 id), then retry with the PAYMENT-SIGNATURE header (x402 v2; the v1 name X-PAYMENT is also accepted). Nothing is charged on a 402 — retrying is always safe.'
        '404':
          description: nothing to answer for this input — e.g. an unknown coin, currency, ticker or token, or a search with no match (not charged)
        '429':
          description: Rate limited (global 120/min/IP; stricter buckets on /mcp, webhook, auth). Sleep exactly Retry-After seconds, then retry.
          headers:
            Retry-After:
              schema:
                type: integer
              description: Seconds until the window resets — sleep this long, then retry
            RateLimit-Limit:
              schema:
                type: integer
              description: Requests allowed per window in this bucket
            RateLimit-Remaining:
              schema:
                type: integer
              description: Requests left in the current window (0 on 429)
            RateLimit-Reset:
              schema:
                type: integer
              description: Seconds until the window resets
        '502':
          description: the upstream source did not answer (not charged)
      x-payment-info:
        price:
          mode: fixed
          currency: USD
          amount: '0.004500'
        protocols:
        - x402: {}
      tags:
      - Sec
      summary: Company financials
      x-summary-source: derived
    get:
      operationId: companyFinancialsGet
      description: 'A US-listed company''s financials as it filed them with the SEC (XBRL company facts), by ticker (AAPL, BRK-B) or CIK: for its last 1-12 fiscal years (10-K) or three-month quarters — revenue, net income, diluted EPS, total assets, total liabilities, stockholders'' equity, cash, operating cash flow, shares outstanding — each with the us-gaap tag it came from, the fiscal year/period and the filing. Restatements win; a value the company did not tag is null, never computed (no derived Q4). US-GAAP filers only (not IFRS). An unknown ticker or an SEC outage answers 404/502 and is not charged. Public-domain data, not investment advice. Paid $0.0045 USDC via x402. MCP tool: company_financials. Also payable with GET: send the same inputs as query parameters (ADR-0175).'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyFinancials'
          description: Company financials from SEC XBRL
        '400':
          description: an input the tool cannot use, or a field it does not read (not charged)
        '402':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentRequired'
          description: 'x402 v2 Payment Required: the exact requirements arrive base64-JSON in the PAYMENT-REQUIRED response header (pay $0.0045 USDC on base = CAIP-2 eip155 id), then retry with the PAYMENT-SIGNATURE header (x402 v2; the v1 name X-PAYMENT is also accepted). Nothing is charged on a 402 — retrying is always safe.'
        '404':
          description: nothing to answer for this input — e.g. an unknown coin, currency, ticker or token, or a search with no match (not charged)
        '429':
          description: Rate limited (global 120/min/IP; stricter buckets on /mcp, webhook, auth). Sleep exactly Retry-After seconds, then retry.
          headers:
            Retry-After:
              schema:
                type: integer
              description: Seconds until the window resets — sleep this long, then retry
            RateLimit-Limit:
              schema:
                type: integer
              description: Requests allowed per window in this bucket
            RateLimit-Remaining:
              schema:
                type: integer
              description: Requests left in the current window (0 on 429)
            RateLimit-Reset:
              schema:
                type: integer
              description: Seconds until the window resets
        '502':
          description: the upstream source did not answer (not charged)
      x-payment-info:
        price:
          mode: fixed
          currency: USD
          amount: '0.004500'
        protocols:
        - x402: {}
      parameters:
      - name: ticker
        in: query
        required: false
        schema:
          type: string
        description: Stock ticker (AAPL, MSFT, BRK-B) or the company's SEC CIK number
      - name: period
        in: query
        required: false
        schema:
          type: string
        description: annual (fiscal years, from 10-K filings; default) or quarterly (three-month periods)
      - name: limit
        in: query
        required: false
        schema:
          type: integer
        description: How many periods, newest first, 1-12 (default 4)
      tags:
      - Sec
      summary: Company financials get
      x-summary-source: derived
components:
  schemas:
    PaymentRequired:
      type: object
      description: The 402 body (ADR-0045). Nothing is charged and nothing is created on a 402 — retrying is always safe.
      properties:
        error:
          type: string
        priceUsd:
          type: number
          description: Price in dollars. Present on single-leg challenges; multi-leg challenges omit it — read `accepts`.
        accepts:
          type: array
          description: The exact payment terms to sign, mirrored from the PAYMENT-REQUIRED header.
          items:
            type: object
        hint:
          type: string
          description: How to pay, and what to do if you have no wallet.
        docs:
          type: string
      required:
      - error
      - accepts
      - hint
    CompanyFinancials:
      type: object
      description: Paid. Company financials from SEC XBRL.
      properties:
        company:
          type: object
          properties:
            name:
              type:
              - string
              - 'null'
            cik:
              type: string
            ticker:
              type:
              - string
              - 'null'
          required:
          - name
          - cik
          - ticker
          description: 'The registrant: name, 10-digit CIK, ticker'
        period:
          type: string
          enum:
          - annual
          - quarterly
          description: annual (fiscal years) or quarterly (three-month periods)
        currency:
          type: string
          description: USD — only US-dollar facts are read (EPS in USD per share, shares as a count)
        periods:
          type: array
          items:
            type: object
            properties:
              fiscalYear:
                type:
                - number
                - 'null'
                description: The company's fiscal year for this period, as its own report states it; null when no report of its own is in the data
              fiscalPeriod:
                type:
                - string
                - 'null'
                description: FY, or Q1-Q4
              periodEnd:
                type: string
                description: The last day of the period (YYYY-MM-DD)
              form:
                type:
                - string
                - 'null'
                description: The report that covered this period as its own (10-K, 10-Q …)
              filed:
                type:
                - string
                - 'null'
                description: When that report was filed
              accessionNumber:
                type:
                - string
                - 'null'
              filingUrl:
                type:
                - string
                - 'null'
              latestFiled:
                type:
                - string
                - 'null'
                description: The newest filing date among this row's values (a later filing's restated comparative wins)
              revenue:
                type:
                - number
                - 'null'
              netIncome:
                type:
                - number
                - 'null'
              epsDiluted:
                type:
                - number
                - 'null'
              totalAssets:
                type:
                - number
                - 'null'
              totalLiabilities:
                type:
                - number
                - 'null'
              stockholdersEquity:
                type:
                - number
                - 'null'
              cashAndEquivalents:
                type:
                - number
                - 'null'
              operatingCashFlow:
                type:
                - number
                - 'null'
              sharesOutstanding:
                type:
                - number
                - 'null'
              concepts:
                type: object
                additionalProperties:
                  type:
                  - string
                  - 'null'
                description: For each field, the us-gaap tag this row's value came from (null = not reported)
            required:
            - fiscalYear
            - fiscalPeriod
            - periodEnd
            - form
            - filed
            - accessionNumber
            - filingUrl
            - latestFiled
            - revenue
            - netIncome
            - epsDiluted
            - totalAssets
            - totalLiabilities
            - stockholdersEquity
            - cashAndEquivalents
            - operatingCashFlow
            - sharesOutstanding
            - concepts
          description: The periods, newest first; a value the company did not tag for that period is null
        concepts:
          type: object
          additionalProperties:
            type: object
            properties:
              order:
                type: array
                items:
                  type: string
              used:
                type: array
                items:
                  type: string
            required:
            - order
            - used
          description: 'For each field: the us-gaap tags in fallback order, and the ones this answer used'
        source:
          type: string
          description: Where the data came from
        asOf:
          type: string
          description: ISO time EDGAR was read (cached reads keep their read time)
        note:
          type: string
          description: The selection rules, the limits, and the licence
        defaulted:
          type: object
          properties:
            field:
              type: string
            to:
              type: string
            value:
              type: string
            note:
              type: string
          required:
          - field
          - to
          - value
          - note
          description: 'Present only when the body named no field: which company the answer is for, and why'
      required:
      - company
      - period
      - currency
      - periods
      - concepts
      - source
      - asOf
      - note
    SecFilings:
      type: object
      description: Paid. SEC filings by ticker (EDGAR).
      properties:
        company:
          type: object
          properties:
            name:
              type: string
            cik:
              type: string
            tickers:
              type: array
              items:
                type: string
            exchanges:
              type: array
              items:
                type: string
            sic:
              type:
              - string
              - 'null'
            sicDescription:
              type:
              - string
              - 'null'
            fiscalYearEnd:
              type:
              - string
              - 'null'
          required:
          - name
          - cik
          - tickers
          - exchanges
          - sic
          - sicDescription
          - fiscalYearEnd
          description: 'The registrant: name, CIK, tickers, exchanges, industry'
        filings:
          type: array
          items:
            type: object
            properties:
              form:
                type: string
              filingDate:
                type:
                - string
                - 'null'
              reportDate:
                type:
                - string
                - 'null'
              accessionNumber:
                type: string
              description:
                type:
                - string
                - 'null'
              items:
                type:
                - string
                - 'null'
              url:
                type: string
            required:
            - form
            - filingDate
            - reportDate
            - accessionNumber
            - description
            - items
            - url
          description: Filings, newest first
        count:
          type: number
          description: Filings returned
        source:
          type: string
          description: Where the data came from
        asOf:
          type: string
          description: ISO time EDGAR was read
        note:
          type: string
          description: How to read the list, and its limits
        defaulted:
          type: object
          properties:
            field:
              type: string
            to:
              type: string
            value:
              type: string
            note:
              type: string
          required:
          - field
          - to
          - value
          - note
          description: 'Present only when the body was empty: which subject the answer is for, and why'
      required:
      - company
      - filings
      - count
      - source
      - asOf
      - note
externalDocs:
  description: Agent skill file — what to run before acting on a token, an address or a counterparty (text/markdown, live prices and catalog)
  url: https://fiatdock.com/skill.md
x-payment-protocol:
  protocol: x402
  version: 2
  network: base
  asset: USDC
  payTo: '0xeB12bB2f52EeD33DBa6A00774E48324032Fd87C6'
  mode: per-call
  paid:
  - path: /v1/offramp/session
    method: POST
    priceUsd: 0.01
  - path: /v1/onramp/session
    method: POST
    priceUsd: 0.01
  - path: /v1/token/safety
    method: POST
    priceUsd: 0.0045
  - path: /v1/stablecoin/intel
    method: POST
    priceUsd: 0.002
  - path: /v1/chain/token-metadata
    method: POST
    priceUsd: 0.002
  - path: /v1/chain/gas-price
    method: POST
    priceUsd: 0.001
  - path: /v1/chain/block
    method: POST
    priceUsd: 0.001
  - path: /v1/chain/eth-balance
    method: POST
    priceUsd: 0.001
  - path: /v1/chain/usdc-balance
    method: POST
    priceUsd: 0.001
  - path: /v1/chain/tx-status
    method: POST
    priceUsd: 0.001
  - path: /v1/chain/address-intel
    method: POST
    priceUsd: 0.0045
  - path: /v1/chain/token-report
    method: POST
    priceUsd: 0.0045
  - path: /v1/web/read
    method: POST
    priceUsd: 0.0018
  - path: /v1/email/check
    method: POST
    priceUsd: 0.001
  - path: /v1/market/perp
    method: POST
    priceUsd: 0.001
  - path: /v1/markets/prediction
    method: POST
    priceUsd: 0.0045
  - path: /v1/defi/yields
    method: POST
    priceUsd: 0.001
  - path: /v1/fx/rates
    method: POST
    priceUsd: 0.001
  - path: /v1/chain/portfolio
    method: POST
    priceUsd: 0.0045
  - path: /v1/token/holders
    method: POST
    priceUsd: 0.0027
  - path: /v1/domain/intel
    method: POST
    priceUsd: 0.0045
  - path: /v1/web/contacts
    method: POST
    priceUsd: 0.0027
  - path: /v1/news/crypto
    method: POST
    priceUsd: 0.001
  - path: /v1/sec/filings
    method: POST
    priceUsd: 0.0027
  - path: /v1/text/prompt-check
    method: POST
    priceUsd: 0.0045
  - path: /v1/token/screener
    method: POST
    priceUsd: 0.009
  - path: /v1/papers/search
    method: POST
    priceUsd: 0.009
  - path: /v1/geo/satellite
    method: POST
    priceUsd: 0.009
  - path: /v1/web/seo-audit
    method: POST
    priceUsd: 0.009
  - path: /v1/x402/top
    method: POST
    priceUsd: 0.009
  - path: /v1/chain/ens
    method: POST
    priceUsd: 0.0027
  - path: /v1/time/convert
    method: POST
    priceUsd: 0.001
  - path: /v1/calendar/holidays
    method: POST
    priceUsd: 0.001
  - path: /v1/weather/forecast
    method: POST
    priceUsd: 0.0018
  - path: /v1/wiki/summary
    method: POST
    priceUsd: 0.0018
  - path: /v1/news/hackernews
    method: POST
    priceUsd: 0.0027
  - path: /v1/feed/read
    method: POST
    priceUsd: 0.0022
  - path: /v1/dev/package
    method: POST
    priceUsd: 0.0027
  - path: /v1/sec/financials
    method: POST
    priceUsd: 0.0045
  - path: /v1/token/verdict
    method: POST
    priceUsd: 0.009
  - path: /v1/market/backtest
    method: POST
    priceUsd: 0.009
  - path: /s/{id}
    method: POST
    priceUsd: null
    note: per-listing price; the 402 is authoritative
  free:
  - /v1/quote
  - /v1/token/price
  - /v1/orders/{partnerOrderId}
  - /v1/marketplace/services
  - /v1/marketplace/services/{id}
  - /v1/marketplace/demand
  - /v1/x402/search
  relay:
  - path: /v1/x402/call
    method: POST
    priceUsd: null
    note: carries the caller's PAYMENT-SIGNATURE to an index-listed x402 endpoint; that endpoint's 402 is authoritative and its payTo receives the money — FiatDock charges nothing here