{
  "data": {
    "a": {
      "slug": "codex-graphql",
      "name": "Codex",
      "vendor": "Codex Data Inc.",
      "vendorUrl": "https://www.codex.io",
      "kind": "http-api",
      "category": "data-providers",
      "summary": "Codex is a GraphQL API from Codex Data Inc. for on-chain crypto data, with token prices, OHLCV bars, trades, holders, wallet PnL, launchpads and prediction markets across 80+ networks, over HTTP, WebSocket subscriptions and webhooks.",
      "url": "https://www.anchorterminal.com/tools/codex-graphql",
      "markdownUrl": "https://www.anchorterminal.com/tools/codex-graphql.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/codex-graphql.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/codex-graphql.json",
      "dns": "codex-graphql.grade.anchorterminal.com",
      "repo": "https://github.com/Codex-Data/sdk",
      "license": "Proprietary service under Codex Data Inc.'s terms of service. The TypeScript SDK is MIT",
      "transports": [
        "http",
        "websocket"
      ],
      "remoteUrl": "https://graph.codex.io/graphql",
      "packages": [
        {
          "registry": "npm",
          "name": "@codex-data/sdk"
        }
      ],
      "auth": "api-key",
      "authNotes": "API key in the `Authorization` header with no `Bearer` prefix, from the dashboard after signup. Secret keys are long-lived; `createApiTokens` mints short-lived tokens (sent as `Bearer \u003ctoken\u003e`) with an expiry and a request limit for browsers. Keys can be deactivated and given their own compute-unit limit. 1 key on the free plan, 5 on Growth. A request with no `Authorization` header is treated as a pay-per-query MPP call.",
      "pricing": "freemium",
      "pricingNotes": "Almost free plan: 10,000 compute units over a rolling 30 days and 5 requests a second, after a one-time $1 activation fee paid by card or 1 USDC. Growth from $360 a month for 3M compute units ($120 per million), 5M to 50M tiers, overage $115 to $138 per million. Without an account, $0.001 a query in USDC on Tempo through MPP. Enterprise by contact (https://www.codex.io/pricing, https://docs.codex.io/agents/mpp, checked 2026-11-06).",
      "priceSummary": "$0.001 / call",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402. Codex takes the Machine Payments Protocol (MPP) on every query endpoint: a request with no API key gets HTTP 402 with a payment challenge, paid at $0.001 in USDC on Tempo. Subscriptions and webhooks are not available through MPP. An unauthenticated GET to https://graph.codex.io/graphql answered 400 application/problem+json with type https://ietf.org/payment/problems/invalid-request on 6 November 2026 (https://docs.codex.io/agents/mpp).",
        "endpoints": [
          {
            "url": "https://graph.codex.io/graphql",
            "priceUsd": null,
            "network": ""
          }
        ]
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 74802,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.codex.io",
      "llmsTxt": "https://docs.codex.io/llms.txt",
      "capabilities": [
        "market.crypto",
        "data.markets",
        "market.indices"
      ],
      "tags": [
        "hosted",
        "graphql",
        "websocket",
        "webhooks",
        "llms-txt",
        "typescript",
        "status-page",
        "freemium",
        "usage-based",
        "stablecoin",
        "agent-skills",
        "closed-source"
      ],
      "lastRelease": "2026-11-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 75.4,
        "grade": "BB",
        "agentReady": true,
        "rank": 64,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 1,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 79,
          "maintenance": 80,
          "payments": 80,
          "reliability": 85,
          "schema": 91,
          "security": 49,
          "transparency": 59
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "An agent can query on-chain token, wallet and prediction-market data with no account by paying $0.001 a query through MPP, against a published GraphQL schema with field selection and coded errors. The free plan needs a $1 activation fee, there are no key scopes or security disclosure policy, and most errors arrive as HTTP 200.",
        "bestFor": "On-chain token prices, charts, holders, wallet PnL, launchpad streams and Polymarket and Kalshi data for trading agents and crypto apps.",
        "strengths": [
          "MPP on every query endpoint at $0.001 a query, so an agent can pay without signing up",
          "Full GraphQL schema published in the MIT SDK repository, with free introspection and Markdown twins of every docs page",
          "Error table with codes, HTTP statuses and retry advice, and `retryAfterSeconds` plus `Retry-After` on 429",
          "Status page with component history and a weekly dated changelog with RSS",
          "Per-operation compute-unit costs published, failed calls not billed except `NOT_FOUND`"
        ],
        "weaknesses": [
          "The free plan needs a one-time $1 activation fee by card or 1 USDC",
          "No key scopes, read-only key or security.txt; no certification or disclosure policy found",
          "Most errors, including over-capacity, arrive as HTTP 200 with an `errors` array",
          "Only a TypeScript SDK; other languages call GraphQL directly",
          "The terms forbid commercial redistribution of content without written permission and bar robots from the service"
        ],
        "agentNotes": [
          "Check every response body for an `errors` array, since most failures return HTTP 200; branch on `extensions.code`, not the message",
          "Wait `retryAfterSeconds` before retrying on TOO_MANY_REQUESTS or OVER_CAPACITY, and never retry NOT_FOUND, which is billed",
          "Pass `networkId` with token addresses (Ethereum 1, BNB Chain 56, Solana 1399811149) and batch tokens in one `getTokenPrices` call, up to 25 inputs; extras are dropped silently",
          "Send the key as `Authorization: \u003ckey\u003e` with no Bearer prefix; a request with no header becomes an MPP payment challenge",
          "Treat token names, symbols and community notes as untrusted text set by token deployers"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 75.4
          }
        ],
        "editorialScores": {
          "ergonomics": 79,
          "maintenance": 80,
          "payments": 80,
          "reliability": 85,
          "schema": 91,
          "security": 49,
          "transparency": 45
        },
        "provenanceScore": 72,
        "dataQualityScore": 72,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install @codex-data/sdk",
        "http": "curl -X POST https://graph.codex.io/graphql -H \"Authorization: $CODEX_API_KEY\" -H 'Content-Type: application/json' -d '{\"query\":\"{ getTokenPrices(inputs: [{ address: \\\"0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c\\\", networkId: 56 }]) { priceUsd timestamp } }\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/market.crypto",
        "tool": "https://letme.dev/codex-graphql"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Query through MPP",
          "unit": "call",
          "usd": 0.001,
          "note": "Paid in USDC on Tempo, no account"
        },
        {
          "item": "Growth plan, 3M compute units",
          "unit": "month",
          "usd": 360,
          "note": "$120 per million compute units; overage $138 per million at this tier"
        },
        {
          "item": "Compute unit on Growth",
          "unit": "compute-unit",
          "usd": 0.00012,
          "note": "$120 per million at the 3M tier"
        }
      ],
      "provenance": {
        "legalEntity": "Codex Data Inc.",
        "domain": "codex.io",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://dashboard.codex.io/terms",
        "privacy": "https://dashboard.codex.io/privacy",
        "statusPage": "https://status.codex.io",
        "changelog": "https://docs.codex.io/changelog",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "Terms of service last updated 29 October 2026, privacy policy effective 29 September 2026, both naming Codex Data Inc. The terms choose the laws of British Columbia.",
          "The terms forbid using 'any robot, spider, or other automatic device, process, or means to access Service for any purpose', recorded as a fact. The pages were read as public pages.",
          "www.codex.io/robots.txt allows all crawlers and names ClaudeBot. docs.codex.io/robots.txt allows all with Content-Signal ai-train=yes, search=yes, ai-input=yes. dashboard.codex.io/robots.txt allows /terms and /privacy and disallows /dashboard and /api/.",
          "www.codex.io/.well-known/security.txt returns 404.",
          "Domain registration date not checked."
        ],
        "score": 72
      },
      "dataQuality": {
        "coverage": "80+ networks, 109M+ tokens, 3B+ wallets and 41B+ historical events, plus Polymarket and Kalshi, per the vendor's pricing page",
        "coverageRating": 4,
        "freshness": "The vendor states data freshness of less than one second on every plan, with WebSocket subscriptions and webhooks for live events",
        "freshnessClass": "realtime",
        "history": "Varies by network. Solana data begins 20 March 2024 and won't be backfilled, per the FAQ. Other start dates were not found in the reviewed documentation",
        "historyYears": 2,
        "methodology": "https://docs.codex.io/extra/faq",
        "sourcesDisclosed": true,
        "licence": "Proprietary. The terms say content may not be distributed, reused or copied for commercial purposes without written permission",
        "licenceClass": "clear",
        "standing": "A private indexer of public blockchain data",
        "standingClass": "none",
        "reuse": "The terms bar distributing, reposting or reusing content for commercial purposes or personal gain without express written permission. No separate data licence for API output was found.",
        "score": 72,
        "checks": null
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/codex-graphql.json",
      "live": {
        "slug": "codex-graphql",
        "probe": {
          "target": "https://graph.codex.io/graphql",
          "method": "get",
          "lastAt": "2026-11-07T22:55:51.875658749Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 421,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 164,
          "p95ms24h": 288,
          "samples24h": 244,
          "samples30d": 246,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 233,
              "ok": 233
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.codex.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T22:56:44.281528691Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "Codex-Data/sdk",
            "version": "v2.5.21",
            "released": "2026-11-06",
            "seenAt": "2026-11-06T23:16:21.229256469Z"
          },
          {
            "registry": "npm",
            "name": "@codex-data/sdk",
            "version": "2.5.21",
            "seenAt": "2026-11-06T23:16:20.448959102Z"
          }
        ],
        "githubStars": 21,
        "npmWeekly": 74802,
        "securityTxt": {
          "url": "https://codex.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T15:59:36.582787003Z"
        },
        "llmsTxt": {
          "url": "https://docs.codex.io/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:05.519106152Z"
        },
        "pages": [
          {
            "url": "https://docs.codex.io/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:05:37.95254166Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a6db7ccffa80"
          },
          {
            "url": "https://www.codex.io/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:26:56.031284341Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7277bd818db0"
          },
          {
            "url": "https://dashboard.codex.io/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:02:20.691085475Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "46045be6768a"
          },
          {
            "url": "https://dashboard.codex.io/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:02:23.015428001Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "4bfd1b23b9d8"
          }
        ],
        "updatedAt": "2026-11-07T22:56:44.281528691Z"
      }
    },
    "answer": "Codex scores 75.4 (BB) on agent readiness against CoinGecko x402 API's 69.8 (B), and leads in 3 of 7 scored categories. CoinGecko x402 API leads on security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust.",
    "b": {
      "slug": "coingecko-x402-api",
      "name": "CoinGecko x402 API",
      "vendor": "CoinGecko",
      "vendorUrl": "https://www.coingecko.com",
      "kind": "http-api",
      "category": "data-providers",
      "summary": "CoinGecko exposes pay-per-call endpoints under an /x402/ path prefix of its Pro API, settled in USDC on Base, Solana or Polygon with no API key.",
      "url": "https://www.anchorterminal.com/tools/coingecko-x402-api",
      "markdownUrl": "https://www.anchorterminal.com/tools/coingecko-x402-api.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/coingecko-x402-api.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/coingecko-x402-api.json",
      "dns": "coingecko-x402-api.grade.anchorterminal.com",
      "license": "proprietary",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://pro-api.coingecko.com/api/v3/x402/",
      "packages": [],
      "auth": "none",
      "authNotes": "No API key on the x402 endpoints; payment is the credential. The conventional Pro API continues to use `x-cg-pro-api-key`.",
      "pricing": "usage",
      "pricingNotes": "$0.005 USDC a request on five experimental x402 endpoints, paid on Base, Solana or Polygon with no key, per the x402 docs and the 26 October 2026 changelog (was $0.01 on Base or Solana). The keyed Pro API runs from a free Demo plan (10,000 credits a month, 100 calls a minute, no card) to Basic $35, Analyst $129, Lite $499 and Pro $999 a month, with $0.0005 a call overage and custom Enterprise plans, per the 1 October check (https://www.coingecko.com/en/api/pricing).",
      "priceSummary": "$0.005 / call",
      "where": "hosted",
      "x402": {
        "level": "yes",
        "evidence": "The x402 docs list five endpoints at $0.005 USDC a request on Base, Solana or Polygon, marked experimental, and the changelog of 26 October 2026 records the cut from $0.01 and the Polygon addition (https://docs.coingecko.com/ai-integration/x402). Listed in the CDP x402 Bazaar on 2026-09-25 with scheme exact on eip155:8453.",
        "endpoints": [
          {
            "url": "https://pro-api.coingecko.com/api/v3/x402/simple/price",
            "priceUsd": 0.005,
            "network": "eip155:8453"
          },
          {
            "url": "https://pro-api.coingecko.com/api/v3/x402/onchain/simple/networks/{id}/token_price/{address}",
            "priceUsd": 0.005,
            "network": "eip155:8453"
          },
          {
            "url": "https://pro-api.coingecko.com/api/v3/x402/onchain/search/pools",
            "priceUsd": 0.005,
            "network": "eip155:8453"
          },
          {
            "url": "https://pro-api.coingecko.com/api/v3/x402/onchain/networks/{id}/trending_pools",
            "priceUsd": 0.005,
            "network": "eip155:8453"
          },
          {
            "url": "https://pro-api.coingecko.com/api/v3/x402/onchain/networks/{network}/tokens/{address}",
            "priceUsd": 0.005,
            "network": "eip155:8453"
          }
        ]
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-26"
      },
      "docsUrl": "https://docs.coingecko.com/",
      "llmsTxt": "https://docs.coingecko.com/llms.txt",
      "openapi": "https://docs.coingecko.com/openapi-specs/pro-api.json",
      "capabilities": [
        "market.crypto"
      ],
      "tags": [
        "x402",
        "http-api",
        "market-data",
        "no-key"
      ],
      "lastRelease": "2026-10-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.8,
        "grade": "B",
        "agentReady": false,
        "rank": 225,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 2,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 61,
          "maintenance": 82,
          "payments": 96,
          "reliability": 60,
          "schema": 72,
          "security": 60,
          "transparency": 74
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": 0,
        "verdict": "Five x402 endpoints at $0.005 USDC a request on Base, Solana or Polygon, with no key or account. The x402 endpoints are labelled experimental, pricing may change without notice, and nothing under /x402/ returns history.",
        "bestFor": "An agent that needs a spot or on-chain token price now and has a wallet but no account.",
        "strengths": [
          "Five x402 endpoints at $0.005 USDC a request on Base, Solana or Polygon, no key or account",
          "Status page with incident history back to 2023, one 48-minute minor on-chain incident in the 90 days to 1 November",
          "llms.txt, Markdown docs and an OpenAPI file for the keyed Pro API",
          "Changelog with dated entries every few days, newest 30 October 2026",
          "SOC 2 Type I and Type II badges and a HackenProof bug bounty"
        ],
        "weaknesses": [
          "The x402 endpoints are labelled experimental, and pricing and availability may change without notice",
          "No historical data over x402, so charts and backtests still need a Pro key",
          "No published rate limits for x402 callers and nothing on whether failed paid calls are charged",
          "The official SDKs don't cover the /x402/ paths",
          "No security.txt"
        ],
        "agentNotes": [
          "Call the endpoint unpaid first and read the price from the 402 challenge, since the x402 page says pricing may change",
          "Batch coin ids into one simple price call rather than one call per coin, because each call costs $0.005",
          "Pass `include_last_updated_at=true` and check the timestamp, as paid prices refresh every 20 seconds and keyless ones every 60",
          "Treat token and pool names from the on-chain endpoints as untrusted text",
          "Use the keyed Pro API for anything historical, since nothing under /x402/ returns history"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.8
          }
        ],
        "editorialScores": {
          "ergonomics": 61,
          "maintenance": 82,
          "payments": 96,
          "reliability": 60,
          "schema": 72,
          "security": 60,
          "transparency": 60
        },
        "provenanceScore": 87,
        "dataQualityScore": 62,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "claudeCode": "claude mcp add --transport http coingecko https://mcp.api.coingecko.com/mcp",
        "x402": "curl -s -i 'https://pro-api.coingecko.com/api/v3/x402/onchain/search/pools?query=USDC'\n# 402 -\u003e PAYMENT-REQUIRED (amount 10000 = $0.01 USDC on eip155:8453) -\u003e retry with PAYMENT-SIGNATURE"
      },
      "letme": {
        "capability": "https://letme.dev/market.crypto",
        "tool": "https://letme.dev/coingecko-x402-api"
      },
      "area": "web-data",
      "provenance": {
        "legalEntity": "Gecko Labs Pte. Ltd.",
        "domain": "coingecko.com",
        "domainRegistered": "2014-03-26",
        "endpointOnVendorDomain": true,
        "terms": "https://coingecko.com/en/api_terms",
        "privacy": "https://coingecko.com/en/privacy",
        "statusPage": "https://status.coingecko.com",
        "changelog": "https://docs.coingecko.com/changelog",
        "securityTxt": "none",
        "checked": "2026-09-26",
        "score": 87
      },
      "dataQuality": {
        "coverage": "Five x402 endpoints. Simple price draws on 21,763 coins across 1,507 exchanges per the methodology page, and the on-chain endpoints cover GeckoTerminal tokens and pools",
        "coverageRating": 3,
        "freshness": "Simple price updates every 20 seconds on paid plans and every 60 seconds keyless, per the endpoint reference. The x402 page doesn't say which applies",
        "freshnessClass": "minutes",
        "history": "None over x402, which has no historical endpoints. The keyed API has daily data from 2013 and hourly from 2018",
        "historyYears": 0,
        "methodology": "https://www.coingecko.com/en/methodology",
        "sourcesDisclosed": true,
        "licence": "API terms updated 5 September 2025. 'Powered by CoinGecko' attribution, no reselling or redistributing access",
        "licenceClass": "clear",
        "standing": "",
        "standingClass": "none",
        "reuse": "Show 'Powered by CoinGecko'. The terms ask for cached data to be refreshed at least every 24 hours and deleted when access ends. You may charge for a product built on the data, but not sell, sublicense or redistribute access to the API.",
        "score": 62,
        "checks": null
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/coingecko-x402-api.json",
      "live": {
        "slug": "coingecko-x402-api",
        "probe": {
          "target": "https://pro-api.coingecko.com/api/v3/x402/",
          "method": "get",
          "lastAt": "2026-11-07T22:55:52.096573374Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 166,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 157,
          "p95ms24h": 275,
          "samples24h": 244,
          "samples30d": 7956,
          "days": [
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 233,
              "ok": 233
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.coingecko.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:47:33.385816906Z"
        },
        "securityTxt": {
          "url": "https://coingecko.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:39.338152795Z"
        },
        "llmsTxt": {
          "url": "https://docs.coingecko.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:10.179805022Z"
        },
        "domain": {
          "domain": "coingecko.com",
          "registered": "2014-03-26",
          "source": "https://rdap.verisign.com/com/v1/domain/coingecko.com",
          "checkedAt": "2026-11-01T14:12:37.895452418Z"
        },
        "pages": [
          {
            "url": "https://docs.coingecko.com/changelog",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:05:40.44237471Z",
            "changedAt": "2026-11-03T07:46:51.700319286Z",
            "fingerprint": "167a012e473d"
          },
          {
            "url": "https://www.coingecko.com/en/api/pricing",
            "kind": "pricing",
            "status": 403,
            "checkedAt": "2026-11-07T14:26:59.445816644Z",
            "changedAt": "2026-10-11T19:37:32.531669662Z",
            "fingerprint": "a3cf6f0a6715"
          },
          {
            "url": "https://coingecko.com/en/privacy",
            "kind": "privacy",
            "status": 403,
            "checkedAt": "2026-11-07T14:01:45.009740388Z",
            "changedAt": "2026-10-11T19:22:51.173265676Z",
            "fingerprint": "4f27107aa78f"
          },
          {
            "url": "https://coingecko.com/en/api_terms",
            "kind": "terms",
            "status": 403,
            "checkedAt": "2026-11-07T14:01:42.867051298Z",
            "changedAt": "2026-10-12T19:47:01.961346281Z",
            "fingerprint": "43986b5e48f8"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.api.coingecko.com/mcp",
          "checkedAt": "2026-11-07T01:43:16.992922351Z",
          "status": "ok",
          "protocol": "2025-11-25",
          "tools": [
            {
              "name": "execute",
              "description": "Runs JavaScript code to interact with the Coingecko API.\n\nYou are a skilled TypeScript programmer writing code to interface with the service.\nDefine an async function named \"run\" that takes a single parameter of an initialized SDK client and it will be run.\nFor example:\n\n```\nasync function run(client) {\n  const price = await client.simple.price.get({ vs_currencies: 'usd', ids: 'bitcoin' });\n}\n```\n\nYou will be returned anything that your function returns, plus the results of any console.log statements.\nDo not add try-catch blocks for single API calls. The tool will handle errors for you.\nDo not add comments unless necessary for generating better code.\nCode will run in a container, and cannot interact with the network outside of the given SDK client.\nVariables will not persist between calls, so make sure to return or log any data you might need later.\nRemember that you are writing TypeScript code, so you need to be careful with your types.\nAlways type dynamic key-value stores explicitly as Record\u003cstring, YourValueType\u003e instead of {}.",
              "inputSchema": {
                "properties": {
                  "code": {
                    "description": "Code to execute.",
                    "type": "string"
                  },
                  "intent": {
                    "description": "Task you are trying to perform. Used for improving the service.",
                    "type": "string"
                  }
                },
                "required": [
                  "code"
                ],
                "type": "object"
              },
              "annotations": {
                "readOnlyHint": true
              }
            },
            {
              "name": "search_docs",
              "description": "Search SDK documentation to find methods, parameters, and usage examples for interacting with the API. Use this before writing code when you need to discover the right approach.",
              "inputSchema": {
                "properties": {
                  "detail": {
                    "description": "The amount of detail to return.",
                    "enum": [
                      "default",
                      "verbose"
                    ],
                    "type": "string"
                  },
                  "language": {
                    "description": "The language for the SDK to search for.",
                    "enum": [
                      "http",
                      "python",
                      "go",
                      "typescript",
                      "javascript",
                      "terraform",
                      "ruby",
                      "java",
                      "kotlin"
                    ],
                    "type": "string"
                  },
                  "query": {
                    "description": "The query to search for.",
                    "type": "string"
                  }
                },
                "required": [
                  "query",
                  "language"
                ],
                "type": "object"
              },
              "annotations": {
                "readOnlyHint": true
              }
            }
          ],
          "schemaTokens": 512,
          "changedAt": "2026-11-07T01:43:16.992922351Z",
          "check": {
            "checker": "anchor-check/1.0",
            "totalTokens": 512,
            "counts": {
              "error": 0,
              "note": 1,
              "warn": 0
            },
            "findings": [
              {
                "rule": "TC24",
                "severity": "note",
                "message": "2 of 2 tools have no outputSchema",
                "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
              }
            ]
          }
        },
        "updatedAt": "2026-11-07T22:55:52.096573374Z"
      }
    },
    "edges": [
      {
        "by": 25,
        "category": "reliability",
        "leads": "codex-graphql",
        "name": "Reliability",
        "reasons": {
          "a": "Hosted lines. Status page at status.codex.io (incident.io) with API, Dashboard and 25 network components and a history page (20). The history from 8 August to 6 November lists an elevated-latency incident on 11 August (balances queries, 42 minutes, labelled degraded performance), a 5xx spike the same day, degraded filterTokens on 12 August, and network delays on Robinhood, BNB, Cronos, Fogo and Solana pricing in late August and September, with none in October or November. All read as partial or degraded, so minor only (20). Per-plan rate limits (5 a second free, 300 on Growth with a 500 burst) and per-request maxima are published (15). 429 TOO_MANY_REQUESTS carries `retryAfterSeconds` and `Retry-After`, OVER_CAPACITY says to wait 30 seconds, and the errors page says which codes to retry; writes are limited to webhook and token mutations (15). The pricing page shows '99.9% Uptime SLA' as a headline figure and custom SLAs on Enterprise, with no SLA document found (5 of 10). The API is generally available (10). 20+20+15+15+5+10 = 85.",
          "b": "Status page at status.coingecko.com (StatusHQ) with Pro API, Public API and GeckoTerminal API components and incidents back to January 2023 (20). One incident in the 90 days to 1 November. On 21 October some /onchain requests returned 500 errors for 48 minutes (from 15:40 +08) and three on-chain WebSocket channels were delayed, which the page marks a minor incident, with all other endpoints operational. Four of the five x402 endpoints sit under /onchain. Partial and labelled minor, so minor only (20, was 30 with a clean window on 1 October). Plan rate limits are published (100 a minute on Demo, 300 to 1,000 on paid plans) per the 1 October check, but none for the x402 endpoints (5 of 15). The errors page lists 429 as rate limit exceeded with no Retry-After or backoff guidance, re-read on 1 November (5 of 15). The Enterprise plan carries a 99.9% uptime SLA, per the 1 October check (10). The x402 endpoints are still labelled experimental (0). 20+20+5+5+10+0 = 60."
        },
        "scores": {
          "a": 85,
          "b": 60
        }
      },
      {
        "by": 19,
        "category": "schema",
        "leads": "codex-graphql",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "The full GraphQL schema, 18,159 lines, is in the MIT SDK repository at src/resources/schema.graphql, updated on 5 November 2026, and introspection is free (25). llms.txt, llms-full.txt and a Markdown twin of every page (10). Reference pages give a one-line purpose per operation, and the API reference intro, the queries-versus-subscriptions page and llms.txt say which operation to use for which job and to batch rather than loop (13 of 20). GraphQL types with enums, input objects and non-null markers, and documented maxima per argument (14 of 15). Examples on every recipe and reference page, and an error table with code, HTTP status, meaning and retry advice (14 of 15). Weekly dated changelog from 26 August 2024 to 2 November 2026 with RSS and dated deprecations (15). 25+10+13+14+14+15 = 91.",
          "b": "OpenAPI 3.0.0 'CoinGecko Pro API' at docs.coingecko.com/openapi-specs/pro-api.json, 104 paths on 1 November, none under /x402/ and only 200 responses, so the contract describes the keyed paths the x402 ones mirror, not the x402 surface itself (15 of 25). llms.txt at docs.coingecko.com with Markdown twins of every page (10). The x402 page is short and the endpoint references say what each call returns but rarely when not to use it (12 of 20). Typed parameters with enums and required flags, for example `include_tokens` and `precision` on simple price (12 of 15). Request examples on the x402 page and a 200 example per endpoint. Error codes sit on one shared page and none are in the spec (8 of 15). Versioned /api/v3 paths and a dated changelog (15)."
        },
        "scores": {
          "a": 91,
          "b": 72
        }
      },
      {
        "by": 18,
        "category": "ergonomics",
        "leads": "codex-graphql",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "GraphQL field selection, so a response holds only the fields asked for, and `usageData` reports the cost of a request (23 of 25). `limit` on filter queries up to 200, rankings and 100+ filter signals on filterTokens; some list arguments drop extra inputs silently rather than failing (18 of 20). Coded errors an agent can branch on, but most arrive as HTTP 200 in an `errors` array, and an inline input type mismatch returns only a message (16 of 20). Queries are reads and identical requests cost the same; errors are not billed except NOT_FOUND. No idempotency key on the webhook and token mutations (14 of 20). Few required arguments beyond `networkId`. One official SDK, TypeScript (8 of 15). 23+18+16+14+8 = 79.",
          "b": "Simple price returns only the extras you switch on with `include_*` flags, and the reference allows up to 515 ids a call. The on-chain endpoints have no field selection (15 of 25). Page and duration parameters on trending pools and search, no cursor on the x402 set (12 of 20). Eight error codes with one-line meanings, and the 402 challenge is machine-readable (12 of 20). Every call is a GET, but the docs don't say whether a retried or failed paid call is charged (10 of 20). One required parameter on simple price. Official TypeScript and Python SDKs exist but don't cover the /x402/ paths (12 of 15)."
        },
        "scores": {
          "a": 79,
          "b": 61
        }
      },
      {
        "by": 16,
        "category": "payments",
        "leads": "coingecko-x402-api",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "MPP (Machine Payments Protocol) on every query endpoint, paid in USDC on Tempo; subscriptions and webhooks are not covered, and it is not x402 (35 of 40). $0.001 a query through MPP, compute-unit costs per operation, and Growth at $120 per million compute units, all public (20). The Almost free plan's 10,000 compute units need a one-time $1 activation fee by card or 1 USDC, which the terms say confirms a payment method (5 of 20). An agent can pay per query with no account or key (20). 35+20+5+20 = 80.",
          "b": "x402 on all five endpoints of this surface, USDC on Base, Solana or Polygon (Polygon added on 26 October) (40). $0.005 a request, cut from $0.01 on 26 October, published on the x402 page and in the changelog without a login (20). The Demo plan is free with 10,000 credits a month and no card, per the 1 October check (the pricing page answered 403 on 1 November) (20). An agent can pay with no account or key (20). 100 less 4 because the rest of the Pro API, including all history, still needs a key."
        },
        "scores": {
          "a": 80,
          "b": 96
        }
      },
      {
        "by": 15,
        "category": "transparency",
        "leads": "coingecko-x402-api",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service under terms that name Codex Data Inc., last updated 29 October 2026; the SDK is MIT (15 of 30). The privacy policy (effective 29 September 2026) is general, keeps data 'only for as long as is necessary' with no periods, transfers data to the United States, and links no DPA or subprocessor list (10 of 30). The changelog dates deprecations, such as NFT endpoints removed on 31 March 2026 and the transactions fields deprecated on 2 November, with no written deprecation policy or notice period (12 of 20). The terms name Mixpanel, Rollbar and Sentry and the privacy policy says data is processed in the United States; no fuller subprocessor list found (8 of 20). 15+10+12+8 = 45.",
          "b": "Closed service under API terms last updated 5 September 2025, licensor Gecko Labs Pte. Ltd. of Singapore, per the 1 October check (www.coingecko.com answered 403 on 1 November). The SDKs are Apache-2.0 (15). Privacy policy updated 31 July 2026 links a subprocessor list at trust.coingecko.com, per the 1 October check. Retention is 'as long as you still use' the service and then for legal and audit purposes, with no periods in days (20 of 30). The changelog dates its breaking changes and gave 11 days' notice of the 10 November open interest change, but the 28 August removal of `community_data` and `developer_data` got 14 days' notice, the terms allow changes 'without any notice', and the x402 page still warns that pricing and availability 'may change without notice' (10 of 20). Singapore named as the primary location with a linked subprocessor list we didn't open (15 of 20)."
        },
        "scores": {
          "a": 59,
          "b": 74
        }
      },
      {
        "by": 11,
        "category": "security",
        "leads": "coingecko-x402-api",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Secret API keys in a header, never in the URL. Short-lived tokens from `createApiTokens` with an expiry and a request limit, per-key compute-unit limits and key deactivation. No scopes (22 of 30). The surface is mostly reads; mutations create webhooks and short-lived tokens. No read-only key (12 of 20). Token names, symbols, social links and community notes come from token deployers and other sources, and the docs warn tokens may be scams, with no prompt-injection guidance (5 of 15). The dashboard usage page breaks compute units down by operation, `apiUsage` reports the period's use and `usageData` the cost of each request (10 of 15). security.txt returns 404, and no disclosure policy, bug bounty or certification was found on the site or docs (0 of 20). 22+12+5+10+0 = 49.",
          "b": "No key on the x402 endpoints. Each call carries a signed $0.01 USDC payment, so exposure is bounded by the wallet and the client's spend cap. No scopes (20 of 30). Read-only data with no write actions (15 of 20). Mostly numbers, but on-chain token and pool names are set by whoever deploys the token, and we found no guidance on that (5 of 15). Each paid call leaves an on-chain USDC transfer. We found no request log for x402 callers (5 of 15). SOC 2 Type I and Type II badges in the site footer and a HackenProof bug bounty. security.txt returns 404 (15 of 20)."
        },
        "scores": {
          "a": 49,
          "b": 60
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Codex Data Inc.",
        "b": "CoinGecko",
        "name": "Vendor"
      },
      {
        "a": "https://graph.codex.io/graphql",
        "b": "https://pro-api.coingecko.com/api/v3/x402/",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, websocket",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "yes, from $0.005/call",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Codex Data Inc.'s terms of service. The TypeScript SDK is MIT",
        "b": "proprietary",
        "name": "Licence"
      },
      {
        "a": "0",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-02",
        "b": "2026-10-30",
        "name": "Last release"
      },
      {
        "a": "2026-10-29",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-29",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "75k npm/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Codex scores 75.4 (BB) on agent readiness against CoinGecko x402 API's 69.8 (B), and leads in 3 of 7 scored categories. CoinGecko x402 API leads on security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Codex or CoinGecko x402 API?"
      },
      {
        "answer": "Codex needs an API key. CoinGecko x402 API needs no key. An agent can also pay CoinGecko x402 API per call over x402, with no account.",
        "question": "Do Codex and CoinGecko x402 API need an API key?"
      },
      {
        "answer": "Yes. Codex has a hosted endpoint at https://graph.codex.io/graphql and CoinGecko x402 API at https://pro-api.coingecko.com/api/v3/x402/.",
        "question": "Can an agent call Codex and CoinGecko x402 API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 85 against 60",
          "Schema \u0026 documentation, 91 against 72",
          "Agent ergonomics, 79 against 61"
        ],
        "also": [
          "Agent-ready, a grade of BB or better"
        ],
        "goodFor": "On-chain token prices, charts, holders, wallet PnL, launchpad streams and Polymarket and Kalshi data for trading agents and crypto apps.",
        "slug": "codex-graphql",
        "watchFor": "The free plan needs a one-time $1 activation fee by card or 1 USDC"
      },
      {
        "aheadOn": [
          "Security \u0026 auth, 60 against 49",
          "Payments \u0026 pricing, 96 against 80",
          "Transparency \u0026 trust, 74 against 59"
        ],
        "also": [
          "An agent can pay per call over x402, with no account",
          "No key needed to call it"
        ],
        "goodFor": "An agent that needs a spot or on-chain token price now and has a wallet but no account.",
        "slug": "coingecko-x402-api",
        "watchFor": "The x402 endpoints are labelled experimental, and pricing and availability may change without notice"
      }
    ],
    "history": {
      "codex-graphql": null,
      "coingecko-x402-api": [
        {
          "causes": [
            "reliability"
          ],
          "date": "2026-11-01",
          "delta": -2,
          "from": 71.8,
          "fromGrade": "BB",
          "to": 69.8,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 71.7,
          "fromGrade": "BB",
          "to": 71.8,
          "toGrade": "BB"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.2,
          "from": 71.9,
          "fromGrade": "BB",
          "to": 71.7,
          "toGrade": "BB"
        }
      ]
    },
    "job": {
      "capability": "market.crypto",
      "name": "Crypto market data"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/codex-graphql-vs-coindesk-data-api.json",
        "title": "Codex vs CoinDesk Data API",
        "url": "https://www.anchorterminal.com/compare/codex-graphql-vs-coindesk-data-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/codex-graphql-vs-coinmarketcap-x402-api.json",
        "title": "Codex vs CoinMarketCap x402 API",
        "url": "https://www.anchorterminal.com/compare/codex-graphql-vs-coinmarketcap-x402-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/codex-graphql-vs-cryptoquant-mcp.json",
        "title": "Codex vs CryptoQuant MCP server",
        "url": "https://www.anchorterminal.com/compare/codex-graphql-vs-cryptoquant-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/codex-graphql-vs-nansen-x402-api.json",
        "title": "Codex vs Nansen x402 API",
        "url": "https://www.anchorterminal.com/compare/codex-graphql-vs-nansen-x402-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/codex-graphql-vs-openbb.json",
        "title": "Codex vs OpenBB",
        "url": "https://www.anchorterminal.com/compare/codex-graphql-vs-openbb"
      },
      {
        "json": "https://www.anchorterminal.com/compare/codex-graphql-vs-yield-xyz-mcp.json",
        "title": "Codex vs Yield.xyz MCP server",
        "url": "https://www.anchorterminal.com/compare/codex-graphql-vs-yield-xyz-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coindesk-data-api-vs-coingecko-x402-api.json",
        "title": "CoinDesk Data API vs CoinGecko x402 API",
        "url": "https://www.anchorterminal.com/compare/coindesk-data-api-vs-coingecko-x402-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coingecko-x402-api-vs-coinmarketcap-x402-api.json",
        "title": "CoinGecko x402 API vs CoinMarketCap x402 API",
        "url": "https://www.anchorterminal.com/compare/coingecko-x402-api-vs-coinmarketcap-x402-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coingecko-x402-api-vs-cryptoquant-mcp.json",
        "title": "CoinGecko x402 API vs CryptoQuant MCP server",
        "url": "https://www.anchorterminal.com/compare/coingecko-x402-api-vs-cryptoquant-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coingecko-x402-api-vs-nansen-x402-api.json",
        "title": "CoinGecko x402 API vs Nansen x402 API",
        "url": "https://www.anchorterminal.com/compare/coingecko-x402-api-vs-nansen-x402-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coingecko-x402-api-vs-openbb.json",
        "title": "CoinGecko x402 API vs OpenBB",
        "url": "https://www.anchorterminal.com/compare/coingecko-x402-api-vs-openbb"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coingecko-x402-api-vs-yield-xyz-mcp.json",
        "title": "CoinGecko x402 API vs Yield.xyz MCP server",
        "url": "https://www.anchorterminal.com/compare/coingecko-x402-api-vs-yield-xyz-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/assymetrix-mcp-vs-codex-graphql.json",
        "title": "Assymetrix MCP Server vs Codex",
        "url": "https://www.anchorterminal.com/compare/assymetrix-mcp-vs-codex-graphql"
      },
      {
        "json": "https://www.anchorterminal.com/compare/codex-graphql-vs-fred.json",
        "title": "Codex vs FRED API",
        "url": "https://www.anchorterminal.com/compare/codex-graphql-vs-fred"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 25,
        "codex-graphql": 85,
        "coingecko-x402-api": 60,
        "edge": "codex-graphql",
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 19,
        "codex-graphql": 91,
        "coingecko-x402-api": 72,
        "edge": "codex-graphql",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 18,
        "codex-graphql": 79,
        "coingecko-x402-api": 61,
        "edge": "codex-graphql",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 11,
        "codex-graphql": 49,
        "coingecko-x402-api": 60,
        "edge": "coingecko-x402-api",
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 16,
        "codex-graphql": 80,
        "coingecko-x402-api": 96,
        "edge": "coingecko-x402-api",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 2,
        "codex-graphql": 80,
        "coingecko-x402-api": 82,
        "edge": "coingecko-x402-api",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 15,
        "codex-graphql": 59,
        "coingecko-x402-api": 74,
        "edge": "coingecko-x402-api",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Codex scores 75.4 (BB) on agent readiness against CoinGecko x402 API's 69.8 (B), and leads in 3 of 7 scored categories. CoinGecko x402 API leads on security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust. Both do crypto market data. CoinGecko x402 API accepts x402. Codex doesn't.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "codex-graphql": "An agent can query on-chain token, wallet and prediction-market data with no account by paying $0.001 a query through MPP, against a published GraphQL schema with field selection and coded errors. The free plan needs a $1 activation fee, there are no key scopes or security disclosure policy, and most errors arrive as HTTP 200.",
      "coingecko-x402-api": "Five x402 endpoints at $0.005 USDC a request on Base, Solana or Polygon, with no key or account. The x402 endpoints are labelled experimental, pricing may change without notice, and nothing under /x402/ returns history."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/codex-graphql-vs-coingecko-x402-api",
    "json": "https://www.anchorterminal.com/compare/codex-graphql-vs-coingecko-x402-api.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/codex-graphql-vs-coingecko-x402-api.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/codex-graphql-vs-coingecko-x402-api.min.md"
  },
  "markdown": "Codex scores 75.4 (BB) on agent readiness against CoinGecko x402 API's 69.8 (B), and leads in 3 of 7 scored categories. CoinGecko x402 API leads on security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust. Both do crypto market data. CoinGecko x402 API accepts x402. Codex doesn't.\n\n- Codex: grade BB, 75.4/100, rank #64 of 1510. Markdown https://www.anchorterminal.com/tools/codex-graphql.md · JSON https://www.anchorterminal.com/api/v1/tools/codex-graphql.json\n- CoinGecko x402 API: grade B, 69.8/100, rank #225 of 1510. Markdown https://www.anchorterminal.com/tools/coingecko-x402-api.md · JSON https://www.anchorterminal.com/api/v1/tools/coingecko-x402-api.json\n- Best data provider APIs for AI agents: https://www.anchorterminal.com/best/data-providers/index.md\n- All 57 data comparisons: https://www.anchorterminal.com/compare/data-providers/index.md\n\n## Which one, for what\n\n### Codex (BB)\n\nGood for: On-chain token prices, charts, holders, wallet PnL, launchpad streams and Polymarket and Kalshi data for trading agents and crypto apps.\n\nAhead on:\n- Reliability, 85 against 60\n- Schema \u0026 documentation, 91 against 72\n- Agent ergonomics, 79 against 61\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n\nWatch for: The free plan needs a one-time $1 activation fee by card or 1 USDC\n\n### CoinGecko x402 API (B)\n\nGood for: An agent that needs a spot or on-chain token price now and has a wallet but no account.\n\nAhead on:\n- Security \u0026 auth, 60 against 49\n- Payments \u0026 pricing, 96 against 80\n- Transparency \u0026 trust, 74 against 59\n\nAlso in its favour:\n- An agent can pay per call over x402, with no account\n- No key needed to call it\n\nWatch for: The x402 endpoints are labelled experimental, and pricing and availability may change without notice\n\n\n## Why the edge\n\n### Reliability: Codex +25\n\n- Codex (85): Hosted lines. Status page at status.codex.io (incident.io) with API, Dashboard and 25 network components and a history page (20). The history from 8 August to 6 November lists an elevated-latency incident on 11 August (balances queries, 42 minutes, labelled degraded performance), a 5xx spike the same day, degraded filterTokens on 12 August, and network delays on Robinhood, BNB, Cronos, Fogo and Solana pricing in late August and September, with none in October or November. All read as partial or degraded, so minor only (20). Per-plan rate limits (5 a second free, 300 on Growth with a 500 burst) and per-request maxima are published (15). 429 TOO_MANY_REQUESTS carries `retryAfterSeconds` and `Retry-After`, OVER_CAPACITY says to wait 30 seconds, and the errors page says which codes to retry; writes are limited to webhook and token mutations (15). The pricing page shows '99.9% Uptime SLA' as a headline figure and custom SLAs on Enterprise, with no SLA document found (5 of 10). The API is generally available (10). 20+20+15+15+5+10 = 85.\n- CoinGecko x402 API (60): Status page at status.coingecko.com (StatusHQ) with Pro API, Public API and GeckoTerminal API components and incidents back to January 2023 (20). One incident in the 90 days to 1 November. On 21 October some /onchain requests returned 500 errors for 48 minutes (from 15:40 +08) and three on-chain WebSocket channels were delayed, which the page marks a minor incident, with all other endpoints operational. Four of the five x402 endpoints sit under /onchain. Partial and labelled minor, so minor only (20, was 30 with a clean window on 1 October). Plan rate limits are published (100 a minute on Demo, 300 to 1,000 on paid plans) per the 1 October check, but none for the x402 endpoints (5 of 15). The errors page lists 429 as rate limit exceeded with no Retry-After or backoff guidance, re-read on 1 November (5 of 15). The Enterprise plan carries a 99.9% uptime SLA, per the 1 October check (10). The x402 endpoints are still labelled experimental (0). 20+20+5+5+10+0 = 60.\n\n### Schema \u0026 documentation: Codex +19\n\n- Codex (91): The full GraphQL schema, 18,159 lines, is in the MIT SDK repository at src/resources/schema.graphql, updated on 5 November 2026, and introspection is free (25). llms.txt, llms-full.txt and a Markdown twin of every page (10). Reference pages give a one-line purpose per operation, and the API reference intro, the queries-versus-subscriptions page and llms.txt say which operation to use for which job and to batch rather than loop (13 of 20). GraphQL types with enums, input objects and non-null markers, and documented maxima per argument (14 of 15). Examples on every recipe and reference page, and an error table with code, HTTP status, meaning and retry advice (14 of 15). Weekly dated changelog from 26 August 2024 to 2 November 2026 with RSS and dated deprecations (15). 25+10+13+14+14+15 = 91.\n- CoinGecko x402 API (72): OpenAPI 3.0.0 'CoinGecko Pro API' at docs.coingecko.com/openapi-specs/pro-api.json, 104 paths on 1 November, none under /x402/ and only 200 responses, so the contract describes the keyed paths the x402 ones mirror, not the x402 surface itself (15 of 25). llms.txt at docs.coingecko.com with Markdown twins of every page (10). The x402 page is short and the endpoint references say what each call returns but rarely when not to use it (12 of 20). Typed parameters with enums and required flags, for example `include_tokens` and `precision` on simple price (12 of 15). Request examples on the x402 page and a 200 example per endpoint. Error codes sit on one shared page and none are in the spec (8 of 15). Versioned /api/v3 paths and a dated changelog (15).\n\n### Agent ergonomics: Codex +18\n\n- Codex (79): GraphQL field selection, so a response holds only the fields asked for, and `usageData` reports the cost of a request (23 of 25). `limit` on filter queries up to 200, rankings and 100+ filter signals on filterTokens; some list arguments drop extra inputs silently rather than failing (18 of 20). Coded errors an agent can branch on, but most arrive as HTTP 200 in an `errors` array, and an inline input type mismatch returns only a message (16 of 20). Queries are reads and identical requests cost the same; errors are not billed except NOT_FOUND. No idempotency key on the webhook and token mutations (14 of 20). Few required arguments beyond `networkId`. One official SDK, TypeScript (8 of 15). 23+18+16+14+8 = 79.\n- CoinGecko x402 API (61): Simple price returns only the extras you switch on with `include_*` flags, and the reference allows up to 515 ids a call. The on-chain endpoints have no field selection (15 of 25). Page and duration parameters on trending pools and search, no cursor on the x402 set (12 of 20). Eight error codes with one-line meanings, and the 402 challenge is machine-readable (12 of 20). Every call is a GET, but the docs don't say whether a retried or failed paid call is charged (10 of 20). One required parameter on simple price. Official TypeScript and Python SDKs exist but don't cover the /x402/ paths (12 of 15).\n\n### Payments \u0026 pricing: CoinGecko x402 API +16\n\n- Codex (80): MPP (Machine Payments Protocol) on every query endpoint, paid in USDC on Tempo; subscriptions and webhooks are not covered, and it is not x402 (35 of 40). $0.001 a query through MPP, compute-unit costs per operation, and Growth at $120 per million compute units, all public (20). The Almost free plan's 10,000 compute units need a one-time $1 activation fee by card or 1 USDC, which the terms say confirms a payment method (5 of 20). An agent can pay per query with no account or key (20). 35+20+5+20 = 80.\n- CoinGecko x402 API (96): x402 on all five endpoints of this surface, USDC on Base, Solana or Polygon (Polygon added on 26 October) (40). $0.005 a request, cut from $0.01 on 26 October, published on the x402 page and in the changelog without a login (20). The Demo plan is free with 10,000 credits a month and no card, per the 1 October check (the pricing page answered 403 on 1 November) (20). An agent can pay with no account or key (20). 100 less 4 because the rest of the Pro API, including all history, still needs a key.\n\n### Transparency \u0026 trust: CoinGecko x402 API +15\n\n- Codex (59): Closed service under terms that name Codex Data Inc., last updated 29 October 2026; the SDK is MIT (15 of 30). The privacy policy (effective 29 September 2026) is general, keeps data 'only for as long as is necessary' with no periods, transfers data to the United States, and links no DPA or subprocessor list (10 of 30). The changelog dates deprecations, such as NFT endpoints removed on 31 March 2026 and the transactions fields deprecated on 2 November, with no written deprecation policy or notice period (12 of 20). The terms name Mixpanel, Rollbar and Sentry and the privacy policy says data is processed in the United States; no fuller subprocessor list found (8 of 20). 15+10+12+8 = 45.\n- CoinGecko x402 API (74): Closed service under API terms last updated 5 September 2025, licensor Gecko Labs Pte. Ltd. of Singapore, per the 1 October check (www.coingecko.com answered 403 on 1 November). The SDKs are Apache-2.0 (15). Privacy policy updated 31 July 2026 links a subprocessor list at trust.coingecko.com, per the 1 October check. Retention is 'as long as you still use' the service and then for legal and audit purposes, with no periods in days (20 of 30). The changelog dates its breaking changes and gave 11 days' notice of the 10 November open interest change, but the 28 August removal of `community_data` and `developer_data` got 14 days' notice, the terms allow changes 'without any notice', and the x402 page still warns that pricing and availability 'may change without notice' (10 of 20). Singapore named as the primary location with a linked subprocessor list we didn't open (15 of 20).\n\n### Security \u0026 auth: CoinGecko x402 API +11\n\n- Codex (49): Secret API keys in a header, never in the URL. Short-lived tokens from `createApiTokens` with an expiry and a request limit, per-key compute-unit limits and key deactivation. No scopes (22 of 30). The surface is mostly reads; mutations create webhooks and short-lived tokens. No read-only key (12 of 20). Token names, symbols, social links and community notes come from token deployers and other sources, and the docs warn tokens may be scams, with no prompt-injection guidance (5 of 15). The dashboard usage page breaks compute units down by operation, `apiUsage` reports the period's use and `usageData` the cost of each request (10 of 15). security.txt returns 404, and no disclosure policy, bug bounty or certification was found on the site or docs (0 of 20). 22+12+5+10+0 = 49.\n- CoinGecko x402 API (60): No key on the x402 endpoints. Each call carries a signed $0.01 USDC payment, so exposure is bounded by the wallet and the client's spend cap. No scopes (20 of 30). Read-only data with no write actions (15 of 20). Mostly numbers, but on-chain token and pool names are set by whoever deploys the token, and we found no guidance on that (5 of 15). Each paid call leaves an on-chain USDC transfer. We found no request log for x402 callers (5 of 15). SOC 2 Type I and Type II badges in the site footer and a HackenProof bug bounty. security.txt returns 404 (15 of 20).\n\n## Score by category\n\n| Category | Weight | Codex | CoinGecko x402 API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 85 | 60 | Codex +25 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 91 | 72 | Codex +19 |\n| Agent ergonomics | 13% (16.2 this run) | 79 | 61 | Codex +18 |\n| Security \u0026 auth | 14% (17.5 this run) | 49 | 60 | CoinGecko x402 API +11 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 80 | 96 | CoinGecko x402 API +16 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 80 | 82 | CoinGecko x402 API +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 59 | 74 | CoinGecko x402 API +15 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **75.4 · BB** | **69.8 · B** | |\n\n## Facts side by side\n\n| Fact | Codex | CoinGecko x402 API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Codex Data Inc. | CoinGecko |\n| Hosted endpoint | `https://graph.codex.io/graphql` | `https://pro-api.coingecko.com/api/v3/x402/` |\n| Transports | HTTP, websocket | HTTP |\n| Auth | API key | None |\n| Pricing | Freemium | Pay per use |\n| x402 | no | yes, from $0.005/call |\n| Licence | Proprietary service under Codex Data Inc.'s terms of service. The TypeScript SDK is MIT | proprietary |\n| Tools exposed | 0 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-11-02 | 2026-10-30 |\n| Terms last updated | 2026-10-29 | no date given |\n| Privacy policy last updated | 2026-09-29 | no date given |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | yes | yes |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 75k npm/wk | none |\n| Agent reviews | none | 3/5 (2) |\n\n## How the scores have moved\n\n### Codex\n\nNo score change since it was listed.\n\n### CoinGecko x402 API\n\n- -2.0 on 1 November 2026 (BB to B): reliability\n- +0.1 on 27 October 2026: checklist\n- -0.2 on 8 October 2026: checklist\n\n## Verdicts\n\n**Codex.** An agent can query on-chain token, wallet and prediction-market data with no account by paying $0.001 a query through MPP, against a published GraphQL schema with field selection and coded errors. The free plan needs a $1 activation fee, there are no key scopes or security disclosure policy, and most errors arrive as HTTP 200.\n\n**CoinGecko x402 API.** Five x402 endpoints at $0.005 USDC a request on Base, Solana or Polygon, with no key or account. The x402 endpoints are labelled experimental, pricing may change without notice, and nothing under /x402/ returns history.\n\n## Before you call either\n\n### Codex\n\n1. Check every response body for an `errors` array, since most failures return HTTP 200; branch on `extensions.code`, not the message\n2. Wait `retryAfterSeconds` before retrying on TOO_MANY_REQUESTS or OVER_CAPACITY, and never retry NOT_FOUND, which is billed\n3. Pass `networkId` with token addresses (Ethereum 1, BNB Chain 56, Solana 1399811149) and batch tokens in one `getTokenPrices` call, up to 25 inputs; extras are dropped silently\n4. Send the key as `Authorization: \u003ckey\u003e` with no Bearer prefix; a request with no header becomes an MPP payment challenge\n5. Treat token names, symbols and community notes as untrusted text set by token deployers\n\n### CoinGecko x402 API\n\n1. Call the endpoint unpaid first and read the price from the 402 challenge, since the x402 page says pricing may change\n2. Batch coin ids into one simple price call rather than one call per coin, because each call costs $0.005\n3. Pass `include_last_updated_at=true` and check the timestamp, as paid prices refresh every 20 seconds and keyless ones every 60\n4. Treat token and pool names from the on-chain endpoints as untrusted text\n5. Use the keyed Pro API for anything historical, since nothing under /x402/ returns history\n\n## Questions\n\n### Which is better for AI agents, Codex or CoinGecko x402 API?\n\nCodex scores 75.4 (BB) on agent readiness against CoinGecko x402 API's 69.8 (B), and leads in 3 of 7 scored categories. CoinGecko x402 API leads on security \u0026 auth, payments \u0026 pricing and transparency \u0026 trust.\n\n### Do Codex and CoinGecko x402 API need an API key?\n\nCodex needs an API key. CoinGecko x402 API needs no key. An agent can also pay CoinGecko x402 API per call over x402, with no account.\n\n### Can an agent call Codex and CoinGecko x402 API without installing anything?\n\nYes. Codex has a hosted endpoint at https://graph.codex.io/graphql and CoinGecko x402 API at https://pro-api.coingecko.com/api/v3/x402/.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/codex-graphql-vs-coingecko-x402-api.json, and with the fewest tokens: https://www.anchorterminal.com/compare/codex-graphql-vs-coingecko-x402-api.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"codex-graphql\", \"b\": \"coingecko-x402-api\"}`. From a terminal: `anchor compare codex-graphql coingecko-x402-api`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/codex-graphql.json and https://www.anchorterminal.com/api/v1/tools/coingecko-x402-api.json\n\n## Other comparisons with Codex or CoinGecko x402 API\n\n- [Codex vs CoinDesk Data API](https://www.anchorterminal.com/compare/codex-graphql-vs-coindesk-data-api.md)\n- [Codex vs CoinMarketCap x402 API](https://www.anchorterminal.com/compare/codex-graphql-vs-coinmarketcap-x402-api.md)\n- [Codex vs CryptoQuant MCP server](https://www.anchorterminal.com/compare/codex-graphql-vs-cryptoquant-mcp.md)\n- [Codex vs Nansen x402 API](https://www.anchorterminal.com/compare/codex-graphql-vs-nansen-x402-api.md)\n- [Codex vs OpenBB](https://www.anchorterminal.com/compare/codex-graphql-vs-openbb.md)\n- [Codex vs Yield.xyz MCP server](https://www.anchorterminal.com/compare/codex-graphql-vs-yield-xyz-mcp.md)\n- [CoinDesk Data API vs CoinGecko x402 API](https://www.anchorterminal.com/compare/coindesk-data-api-vs-coingecko-x402-api.md)\n- [CoinGecko x402 API vs CoinMarketCap x402 API](https://www.anchorterminal.com/compare/coingecko-x402-api-vs-coinmarketcap-x402-api.md)\n- [CoinGecko x402 API vs CryptoQuant MCP server](https://www.anchorterminal.com/compare/coingecko-x402-api-vs-cryptoquant-mcp.md)\n- [CoinGecko x402 API vs Nansen x402 API](https://www.anchorterminal.com/compare/coingecko-x402-api-vs-nansen-x402-api.md)\n- [CoinGecko x402 API vs OpenBB](https://www.anchorterminal.com/compare/coingecko-x402-api-vs-openbb.md)\n- [CoinGecko x402 API vs Yield.xyz MCP server](https://www.anchorterminal.com/compare/coingecko-x402-api-vs-yield-xyz-mcp.md)\n- [Assymetrix MCP Server vs Codex](https://www.anchorterminal.com/compare/assymetrix-mcp-vs-codex-graphql.md)\n- [Codex vs FRED API](https://www.anchorterminal.com/compare/codex-graphql-vs-fred.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Codex vs CoinGecko x402 API",
        "url": ""
      }
    ],
    "description": "Codex scores 75.4 (BB) to CoinGecko x402's 69.8 (B) for crypto market data. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Codex BB 75.4",
      "CoinGecko x402 API B 69.8",
      "scores"
    ],
    "h1": "Codex vs CoinGecko x402 API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/codex-graphql-vs-coingecko-x402-api",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Codex vs CoinGecko x402 for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/codex-graphql-vs-coingecko-x402-api"
  },
  "tokens": {
    "markdown": 4700,
    "slim": 3030
  },
  "version": 1
}
