Graph Advocate API

Routing and trader-intelligence API at graphadvocate.com. POST / speaks A2A JSON-RPC 2.0 (message/send) and is the free tier (3 routed queries/day per wallet-identified sender); POST /route and 22 further POST endpoints (/hyperliquid/*, /polymarket/*, /kalshi/*, /uniswap/*, /predmarket/spread, /narrative/divergence, /ask, /onchain-x402/address, /agent/score) are x402-gated at $0.01-$0.10 USDC on Base and answer 402 with x402 v2 PaymentRequirements until an X-PAYMENT header is presented. All 23 operations in the published OpenAPI 3.1.0 are read-style queries; there is no API key, OAuth or signup.

Operations 23

POST /route Route an onchain data request #
POST /agent/score Composite 0-100 reputation score for any Base wallet #
POST /ask Natural-language Q&A over the x402 Base settlements warehouse #
POST /hyperliquid/fills Recent Hyperliquid perp fill stream #
POST /hyperliquid/pnl Full Hyperliquid trader dossier #
POST /hyperliquid/risk Hyperliquid counterparty risk #
POST /hyperliquid/score Composite skill_score 0-100 for a Hyperliquid perps trader #
POST /hyperliquid/screen Top N traders of a Hyperliquid coin, each scored sharp/neutral/retail. #
POST /hyperliquid/vault Hyperliquid vault evaluator #
POST /kalshi-polymarket/spread Where Kalshi and Polymarket disagree on a topic — matched by wording where possible, and by aligning the two venues' full outcome distributions where they frame the same event diff #
POST /kalshi/consensus-trend Kalshi consensus-probability trajectory #
POST /kalshi/sports-live-edge Live sports mispricing detector #
POST /onchain-x402/address On-chain x402 settlement profile for an address #
POST /polymarket/pnl Full Polymarket trader dossier #
POST /polymarket/pnl-quick Fast derived skill metrics for a Polymarket wallet #
POST /polymarket/risk Polymarket ghost-fill risk #
POST /polymarket/screen Top holders of a Polymarket market, each with skill score and ghost-fill risk. #
POST /polymarket/leaders Top Polymarket traders leaderboard ranked by PnL or volume over a window — the discovery/copy-trade counterpart to the per-wallet skill endpoints. #
POST /predmarket/spread Polymarket vs Limitless cross-venue spread on a topic — JOIN that single-venue APIs cannot return; arbitrage direction included. #
POST /narrative/divergence Narrative-vs-flow divergence #
POST /uniswap/basis Uniswap spot vs Hyperliquid perp basis for one asset — a cross-venue JOIN returning basis_pct and a perp_premium/perp_discount/aligned signal. #
POST /uniswap/pretrade Uniswap pre-trade due-diligence for a token #
POST /uniswap/traders Per-wallet Uniswap flow on a token's deepest venue #

Documentation

Specifications

Other Resources

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/graph-advocate-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

graphadvocate-com-openapi.yml Raw ↑
# Verbatim conversion (JSON -> YAML) of https://graphadvocate.com/openapi.json fetched 2026-09-19 (HTTP 200, application/json).
# Original preserved at openapi/_original/graphadvocate-com-openapi.json. No content added or removed.
openapi: 3.1.0
info:
  title: Graph Advocate
  version: 1.0.0
  description: Claude-powered routing agent for The Graph Protocol. Send a plain-English onchain data request and receive
    a ready-to-execute GraphQL query, the right subgraph ID, and an MCP/npm install hint.
  contact:
    name: Graph Advocate
    url: https://graphadvocate.com
servers:
- url: https://graphadvocate.com
x-discovery:
  ownershipProofs: []
  agent:
    name: Graph Advocate
    ens: graphadvocate.eth
    erc8004: 'Agent #734 on Arbitrum'
    wallet: '0x0FF5A6ecef783BBA35463ec2F8403B9B5e9e7C86'
    llms_txt: https://graphadvocate.com/llms.txt
    capabilities: https://graphadvocate.com/agents/capabilities.json
x-llms-txt: https://graphadvocate.com/llms.txt
x-agents-index: https://graphadvocate.com/agents/index.json
externalDocs:
  description: LLM-readable docs (llmstxt.org convention)
  url: https://graphadvocate.com/llms.txt
components:
  schemas:
    RoutingRequest:
      type: object
      required:
      - jsonrpc
      - id
      - method
      - params
      properties:
        jsonrpc:
          type: string
          const: '2.0'
        id:
          type:
          - string
          - number
        method:
          type: string
          const: message/send
        params:
          type: object
          required:
          - message
          properties:
            message:
              type: object
              required:
              - role
              - messageId
              - parts
              properties:
                role:
                  type: string
                  const: user
                messageId:
                  type: string
                parts:
                  type: array
                  items:
                    type: object
                    properties:
                      kind:
                        type: string
                        const: text
                      text:
                        type: string
                        description: Plain-English onchain data request
    RoutingResponse:
      type: object
      properties:
        recommendation:
          type: string
          description: Service to use (e.g. graph-aave-mcp, subgraph-registry, token-api)
        reason:
          type: string
        confidence:
          type: string
          enum:
          - high
          - medium
          - low
        query_ready:
          type: object
          description: Tool name + args you can call directly
          properties:
            tool:
              type: string
            args:
              type: object
        curl_example:
          type: string
        install:
          type: string
          description: npm install / npx command if applicable
        alternatives:
          type: array
paths:
  /route:
    post:
      operationId: routeQuery
      summary: Route an onchain data request
      description: POST a plain-English request via A2A JSON-RPC 2.0 (`message/send`) and receive a ready-to-execute query,
        the right subgraph ID, an MCP install hint, and a working curl example. Powered by Claude with auto-search across
        15,500+ subgraphs.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RoutingRequest'
      responses:
        '200':
          description: Routing recommendation with ready-to-run query
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoutingResponse'
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
      x-payment-info:
        protocols:
        - x402: {}
        price:
          mode: fixed
          currency: USD
          amount: '0.01'
  /agent/score:
    post:
      operationId: agentScore
      summary: Composite 0-100 reputation score for any Base wallet
      description: 'Composite 0-100 reputation score for any Base wallet: ERC-8004 identity, USDC settlement history and on-chain
        feedback, blended into one figure with the component breakdown.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Result
          content:
            application/json:
              schema:
                type: object
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
      x-payment-info:
        protocols:
        - x402: {}
        price:
          mode: fixed
          currency: USD
          amount: '0.02'
  /ask:
    post:
      operationId: askSettlements
      summary: Natural-language Q&A over the x402 Base settlements warehouse
      description: 'Natural-language Q&A over the x402 Base settlements warehouse: 132M EIP-3009 settlement rows on R2 plus
        pre-aggregated daily_stats, answered as JSON with the SQL trace.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Result
          content:
            application/json:
              schema:
                type: object
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
      x-payment-info:
        protocols:
        - x402: {}
        price:
          mode: fixed
          currency: USD
          amount: '0.05'
  /hyperliquid/fills:
    post:
      operationId: hyperliquidFills
      summary: Recent Hyperliquid perp fill stream
      description: 'Recent Hyperliquid perp fill stream: the last N fills with direction, price, size, notional, fee and trader
        address, plus an aggregate buy/sell notional split and a whale-fill count for fills over $10k.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Result
          content:
            application/json:
              schema:
                type: object
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
      x-payment-info:
        protocols:
        - x402: {}
        price:
          mode: fixed
          currency: USD
          amount: '0.02'
  /hyperliquid/pnl:
    post:
      operationId: hyperliquidPnl
      summary: Full Hyperliquid trader dossier
      description: 'Full Hyperliquid trader dossier: skill metrics plus open positions and recent fills.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Result
          content:
            application/json:
              schema:
                type: object
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
      x-payment-info:
        protocols:
        - x402: {}
        price:
          mode: fixed
          currency: USD
          amount: '0.05'
  /hyperliquid/risk:
    post:
      operationId: hyperliquidRisk
      summary: Hyperliquid counterparty risk
      description: 'Hyperliquid counterparty risk: liquidation rate, funding burn, recent-outflow flag.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Result
          content:
            application/json:
              schema:
                type: object
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
      x-payment-info:
        protocols:
        - x402: {}
        price:
          mode: fixed
          currency: USD
          amount: '0.02'
  /hyperliquid/score:
    post:
      operationId: hyperliquidScore
      summary: Composite skill_score 0-100 for a Hyperliquid perps trader
      description: 'Composite skill_score 0-100 for a Hyperliquid perps trader: classification, liquidation rate, funding
        burn, profit factor.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Result
          content:
            application/json:
              schema:
                type: object
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
      x-payment-info:
        protocols:
        - x402: {}
        price:
          mode: fixed
          currency: USD
          amount: '0.02'
  /hyperliquid/screen:
    post:
      operationId: hyperliquidScreen
      summary: Top N traders of a Hyperliquid coin, each scored sharp/neutral/retail.
      description: Top N traders of a Hyperliquid coin, each scored sharp/neutral/retail.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Result
          content:
            application/json:
              schema:
                type: object
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
      x-payment-info:
        protocols:
        - x402: {}
        price:
          mode: fixed
          currency: USD
          amount: '0.05'
  /hyperliquid/vault:
    post:
      operationId: hyperliquidVault
      summary: Hyperliquid vault evaluator
      description: 'Hyperliquid vault evaluator: leader skill, depositor concentration, redemption pressure.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Result
          content:
            application/json:
              schema:
                type: object
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
      x-payment-info:
        protocols:
        - x402: {}
        price:
          mode: fixed
          currency: USD
          amount: '0.10'
  /kalshi-polymarket/spread:
    post:
      operationId: kalshiPolymarketSpread
      summary: Where Kalshi and Polymarket disagree on a topic — matched by wording where possible, and by aligning the two
        venues' full outcome distributions where they frame the same event differently (threshold vs delta, e.g. Fed rates).
        Per-outcome difference in bps, bounded by quote width so noise is distinguishable from signal. JOIN that single-source
        APIs cannot return.
      description: Where Kalshi and Polymarket disagree on a topic — matched by wording where possible, and by aligning the
        two venues' full outcome distributions where they frame the same event differently (threshold vs delta, e.g. Fed rates).
        Per-outcome difference in bps, bounded by quote width so noise is distinguishable from signal. JOIN that single-source
        APIs cannot return.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Result
          content:
            application/json:
              schema:
                type: object
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
      x-payment-info:
        protocols:
        - x402: {}
        price:
          mode: fixed
          currency: USD
          amount: '0.05'
  /kalshi/consensus-trend:
    post:
      operationId: kalshiConsensusTrend
      summary: Kalshi consensus-probability trajectory
      description: 'Kalshi consensus-probability trajectory: slope, acceleration, volatility band derived from Kalshi-unique
        forecast_history.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Result
          content:
            application/json:
              schema:
                type: object
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
      x-payment-info:
        protocols:
        - x402: {}
        price:
          mode: fixed
          currency: USD
          amount: '0.05'
  /kalshi/sports-live-edge:
    post:
      operationId: kalshiSportsLiveEdge
      summary: Live sports mispricing detector
      description: 'Live sports mispricing detector: play-by-play momentum vs market candlestick reaction; flags latency-arb
        windows.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Result
          content:
            application/json:
              schema:
                type: object
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
      x-payment-info:
        protocols:
        - x402: {}
        price:
          mode: fixed
          currency: USD
          amount: '0.05'
  /onchain-x402/address:
    post:
      operationId: onchainX402Address
      summary: On-chain x402 settlement profile for an address
      description: 'On-chain x402 settlement profile for an address: lifetime totals as payer and recipient, volume, first
        and last seen, recent payments in both directions and facilitator metadata, read from the x402 Base subgraph on The
        Graph Network.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Result
          content:
            application/json:
              schema:
                type: object
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
      x-payment-info:
        protocols:
        - x402: {}
        price:
          mode: fixed
          currency: USD
          amount: '0.01'
  /polymarket/pnl:
    post:
      operationId: polymarketPnl
      summary: Full Polymarket trader dossier
      description: 'Full Polymarket trader dossier: skill scores plus per-position aggregates with mark-to-market unrealized
        PnL.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Result
          content:
            application/json:
              schema:
                type: object
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
      x-payment-info:
        protocols:
        - x402: {}
        price:
          mode: fixed
          currency: USD
          amount: '0.05'
  /polymarket/pnl-quick:
    post:
      operationId: polymarketPnlQuick
      summary: Fast derived skill metrics for a Polymarket wallet
      description: 'Fast derived skill metrics for a Polymarket wallet: skill score, classification, realized PnL, win rate.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Result
          content:
            application/json:
              schema:
                type: object
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
      x-payment-info:
        protocols:
        - x402: {}
        price:
          mode: fixed
          currency: USD
          amount: '0.01'
  /polymarket/risk:
    post:
      operationId: polymarketRisk
      summary: Polymarket ghost-fill risk
      description: 'Polymarket ghost-fill risk: wallet-type detection plus risk score for counterparty assessment.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Result
          content:
            application/json:
              schema:
                type: object
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
      x-payment-info:
        protocols:
        - x402: {}
        price:
          mode: fixed
          currency: USD
          amount: '0.02'
  /polymarket/screen:
    post:
      operationId: polymarketScreen
      summary: Top holders of a Polymarket market, each with skill score and ghost-fill risk.
      description: Top holders of a Polymarket market, each with skill score and ghost-fill risk.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Result
          content:
            application/json:
              schema:
                type: object
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
      x-payment-info:
        protocols:
        - x402: {}
        price:
          mode: fixed
          currency: USD
          amount: '0.02'
  /polymarket/leaders:
    post:
      operationId: polymarketLeaders
      summary: Top Polymarket traders leaderboard ranked by PnL or volume over a window — the discovery/copy-trade counterpart
        to the per-wallet skill endpoints.
      description: Top Polymarket traders leaderboard ranked by PnL or volume over a window — the discovery/copy-trade counterpart
        to the per-wallet skill endpoints.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Result
          content:
            application/json:
              schema:
                type: object
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
      x-payment-info:
        protocols:
        - x402: {}
        price:
          mode: fixed
          currency: USD
          amount: '0.02'
  /predmarket/spread:
    post:
      operationId: predmarketSpread
      summary: Polymarket vs Limitless cross-venue spread on a topic — JOIN that single-venue APIs cannot return; arbitrage
        direction included.
      description: Polymarket vs Limitless cross-venue spread on a topic — JOIN that single-venue APIs cannot return; arbitrage
        direction included.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Result
          content:
            application/json:
              schema:
                type: object
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
      x-payment-info:
        protocols:
        - x402: {}
        price:
          mode: fixed
          currency: USD
          amount: '0.05'
  /narrative/divergence:
    post:
      operationId: narrativeDivergence
      summary: Narrative-vs-flow divergence
      description: 'Narrative-vs-flow divergence: social momentum (Cambrian deep42) JOINed with on-chain flow acceleration
        from a Uniswap subgraph. Finds tokens loud on social but quiet on-chain, and the reverse — a JOIN neither a social
        feed nor a chain indexer can return alone.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Result
          content:
            application/json:
              schema:
                type: object
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
      x-payment-info:
        protocols:
        - x402: {}
        price:
          mode: fixed
          currency: USD
          amount: '0.05'
  /uniswap/basis:
    post:
      operationId: uniswapBasis
      summary: Uniswap spot vs Hyperliquid perp basis for one asset — a cross-venue JOIN returning basis_pct and a perp_premium/perp_discount/aligned
        signal.
      description: Uniswap spot vs Hyperliquid perp basis for one asset — a cross-venue JOIN returning basis_pct and a perp_premium/perp_discount/aligned
        signal.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Result
          content:
            application/json:
              schema:
                type: object
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
      x-payment-info:
        protocols:
        - x402: {}
        price:
          mode: fixed
          currency: USD
          amount: '0.05'
  /uniswap/pretrade:
    post:
      operationId: uniswapPretrade
      summary: Uniswap pre-trade due-diligence for a token
      description: 'Uniswap pre-trade due-diligence for a token: real liquidity, deepest venue ranked by volume (not TVL),
        honeypot two-way-flow check, daily volume trend, and a tradeable/risk verdict.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Result
          content:
            application/json:
              schema:
                type: object
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
      x-payment-info:
        protocols:
        - x402: {}
        price:
          mode: fixed
          currency: USD
          amount: '0.02'
  /uniswap/traders:
    post:
      operationId: uniswapTraders
      summary: Per-wallet Uniswap flow on a token's deepest venue
      description: 'Per-wallet Uniswap flow on a token''s deepest venue: accumulators vs distributors with trader EOAs, buys/sells
        and volume_usd.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Result
          content:
            application/json:
              schema:
                type: object
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
      x-payment-info:
        protocols:
        - x402: {}
        price:
          mode: fixed
          currency: USD
          amount: '0.02'