addrbookFor publishers
← The evidence ledger

Evidence row 571910

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint fbf4a60b-e0c1-4d63-bfb9-aedf765fafed
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
e1316be89cddc66c032ac6cc9037fcf88f5e482d428c22063037e7a645afa870
Leaf
0x41ac688312a2c20ebae092b5fb896335b5e628964df0ee053b47fe2769dc8d71

What was observed

{
  "count": 8,
  "tools": [
    {
      "description": "Cheapest current API offers for one model across direct providers and aggregators, in USD per 1M tokens (input, output, blended 3:1). Stale prices, and flex/batch tiers, are excluded by default. Optional filters (context, tools, JSON, vision, region, no training on prompts, open sign-up) and usage (tokens per request, requests per day) to get an estimated cost per request and per month. Returns the winner in detail and one short line per following offer. A condition that is absent was not published by the provider, it never means \"no\"; a flag not listed in signals is false.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "cached_ratio": {
            "description": "Share of input tokens served from the provider's prompt cache (0 to 1)",
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "detail": {
            "description": "compact (default): the winner in detail and one short line per other offer (provider, prices, signals, training on prompts when published). full: every field of every offer (all published conditions, reliability), much longer",
            "enum": [
              "compact",
              "full"
            ],
            "type": "string"
          },
          "include_tiers": {
            "description": "Also include lower-priority service tiers, comma-separated: flex, batch (hidden by default)",
            "type": "string"
          },
          "json": {
            "description": "Only offers that support JSON output",
            "type": "boolean"
          },
          "limit": {
            "description": "Number of offers to return, winner included (default 5, max 25)",
            "maximum": 25,
            "minimum": 1,
            "type": "integer"
          },
          "min_context": {
            "description": "Minimum context window in tokens",
            "minimum": 0,
            "type": "integer"
          },
          "model": {
            "description": "Model id or name, e.g. 'deepseek-v3.2', 'deepseek/deepseek-v4-pro', 'gpt-5.6-luna'. Use search_models when unsure.",
            "type": "string"
          },
          "no_training": {
            "description": "Only providers whose published terms say they do not train on your prompts",
            "type": "boolean"
          },
          "no_waitlist": {
            "description": "Only providers with open sign-up (no waitlist, invitation or country restriction)",
            "type": "boolean"
          },
          "output_tokens": {
            "description": "Output tokens per request, for the estimated cost",
            "minimum": 0,
            "type": "integer"
          },
          "prompt_tokens": {
            "description": "Input tokens per request, for the estimated cost",
            "minimum": 0,
            "type": "integer"
          },
          "region": {
            "description": "Only providers that process data in this region: eu, us, …",
            "type": "string"
          },
          "requests_per_day": {
            "description": "Requests per day, to also get an estimated monthly cost",
            "minimum": 0,
            "type": "integer"
          },
          "strict": {
            "description": "Exclude offers whose provider does not publish the filtered information (by default they are kept and flagged)",
            "type": "boolean"
          },
          "tools": {
            "description": "Only offers that support tool calling",
            "type": "boolean"
          },
          "vision": {
            "description": "Only offers that accept image input",
            "type": "boolean"
          }
        },
        "required": [
          "model"
        ],
        "type": "object"
      },
      "name": "cheapest"
    },
    {
      "description": "Current offers for one model, one line per provider and source (direct or via an aggregator), cheapest first (10 by default), with price, quantization, signals and training on prompts when published; the cheapest offer comes in detail. Pass detail: \"full\" for context, every published condition (data regions, sign-up) and reliability from official status pages on each offer.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "cached_ratio": {
            "description": "Share of input tokens served from the provider's prompt cache (0 to 1)",
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "detail": {
            "description": "compact (default): the winner in detail and one short line per other offer (provider, prices, signals, training on prompts when published). full: every field of every offer (all published conditions, reliability), much longer",
            "enum": [
              "compact",
              "full"
            ],
            "type": "string"
          },
          "include_tiers": {
            "description": "Also include lower-priority service tiers, comma-separated: flex, batch (hidden by default)",
            "type": "string"
          },
          "limit": {
            "description": "Number of offers to return, cheapest included (default 10, max 50)",
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "model": {
            "description": "Model id or name, e.g. 'deepseek-v3.2', 'deepseek/deepseek-v4-pro', 'gpt-5.6-luna'. Use search_models when unsure.",
            "type": "string"
          },
          "no_training": {
            "description": "Only providers whose published terms say they do not train on your prompts",
            "type": "boolean"
          },
          "no_waitlist": {
            "description": "Only providers with open sign-up (no waitlist, invitation or country restriction)",
            "type": "boolean"
          },
          "output_tokens": {
            "description": "Output tokens per request, for the estimated cost",
            "minimum": 0,
            "type": "integer"
          },
          "prompt_tokens": {
            "description": "Input tokens per request, for the estimated cost",
            "minimum": 0,
            "type": "integer"
          },
          "region": {
            "description": "Only providers that process data in this region: eu, us, …",
            "type": "string"
          },
          "requests_per_day": {
            "description": "Requests per day, to also get an estimated monthly cost",
            "minimum": 0,
            "type": "integer"
          },
          "sort": {
            "description": "Sort order: default blended (3:1 mix), or estimated_cost (the cost of your load) when prompt_tokens or output_tokens is given; estimated_cost needs one of them",
            "enum": [
              "blended",
              "input",
              "output",
              "estimated_cost"
            ],
            "type": "string"
          },
          "strict": {
            "description": "Exclude offers whose provider does not publish the filtered information (by default they are kept and flagged)",
            "type": "boolean"
          }
        },
        "required": [
          "model"
        ],
        "type": "object"
      },
      "name": "compare_providers"
    },
    {
      "description": "Estimated cost of a workload on one model at each provider: cost per request, and per month if requests_per_day is given, taking the provider's tiered pricing and prompt-cache price into account. Offers sorted by estimated cost, cheapest first: the cheapest in detail, then one short line per offer with its estimated cost.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "cached_ratio": {
            "description": "Share of input tokens served from the provider's prompt cache (0 to 1)",
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "detail": {
            "description": "compact (default): the winner in detail and one short line per other offer (provider, prices, signals, training on prompts when published). full: every field of every offer (all published conditions, reliability), much longer",
            "enum": [
              "compact",
              "full"
            ],
            "type": "string"
          },
          "limit": {
            "description": "Number of offers to return, cheapest included (default 5, max 25)",
            "maximum": 25,
            "minimum": 1,
            "type": "integer"
          },
          "model": {
            "description": "Model id or name, e.g. 'deepseek-v3.2', 'deepseek/deepseek-v4-pro', 'gpt-5.6-luna'. Use search_models when unsure.",
            "type": "string"
          },
          "output_tokens": {
            "description": "Output tokens per request, for the estimated cost",
            "minimum": 0,
            "type": "integer"
          },
          "prompt_tokens": {
            "description": "Input tokens per request, for the estimated cost",
            "minimum": 0,
            "type": "integer"
          },
          "requests_per_day": {
            "description": "Requests per day, to also get an estimated monthly cost",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "model"
        ],
        "type": "object"
      },
      "name": "estimate_cost"
    },
    {
      "description": "Rental offers for one GPU type: provider, price in USD per GPU per hour, number of GPUs in the published configuration, billing and region when published. One block per tier (guaranteed, community, spot), each with its own cheapest offer, also given per configuration (cheapest_by_gpu_count: the price per GPU of a single GPU and of a multi-GPU node are not comparable); tiers are never compared with each other. guaranteed: capacity the provider presents as not interrupted; community: third-party hosts; spot: interruptible capacity. Prices are as published by the provider, and dated. Get the GPU id from list_gpus.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "detail": {
            "description": "compact (default): the 3 cheapest offers of each tier. full: up to 50 offers per tier",
            "enum": [
              "compact",
              "full"
            ],
            "type": "string"
          },
          "gpu": {
            "description": "GPU id from list_gpus, for example h100-sxm-80gb",
            "type": "string"
          },
          "gpu_count": {
            "description": "Only this published configuration: 1, 2, 4, 8 or 16 GPUs",
            "maximum": 16,
            "minimum": 1,
            "type": "integer"
          },
          "region": {
            "description": "Only this region, as published by the provider",
            "type": "string"
          },
          "tier": {
            "description": "Only this tier (default: one block per tier)",
            "enum": [
              "guaranteed",
              "community",
              "spot"
            ],
            "type": "string"
          }
        },
        "required": [
          "gpu"
        ],
        "type": "object"
      },
      "name": "gpu_rentals"
    },
    {
      "description": "GPU types whose rental price InferIndex tracks (H100, A100, L40S…), with the lowest price per GPU per hour in USD for each tier (guaranteed, community, spot) and the number of GPUs of that configuration. Prices are per GPU per hour, as published by each provider, and dated. Tiers are different products and are never compared with each other.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "name": "list_gpus"
    },
    {
      "description": "Price history of one model: every offer tracked by InferIndex (daily or weekly min/max/last price in USD, or raw price changes), plus the official price of the model's lab over time. Give either days, or from/to (YYYY-MM-DD), or at (a date) for the prices in effect that day.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "at": {
            "description": "A single date, YYYY-MM-DD: prices in effect that day",
            "type": "string"
          },
          "days": {
            "description": "Number of days back from today (default 7)",
            "minimum": 1,
            "type": "integer"
          },
          "from": {
            "description": "Start date, YYYY-MM-DD (with to, instead of days)",
            "type": "string"
          },
          "granularity": {
            "description": "day (default), week, or raw price changes",
            "enum": [
              "day",
              "week",
              "raw"
            ],
            "type": "string"
          },
          "limit": {
            "description": "Maximum number of points (default 100, max 500)",
            "maximum": 500,
            "minimum": 1,
            "type": "integer"
          },
          "model": {
            "description": "Model id or name, e.g. 'deepseek-v3.2', 'deepseek/deepseek-v4-pro', 'gpt-5.6-luna'. Use search_models when unsure.",
            "type": "string"
          },
          "provider": {
            "description": "Only this provider",
            "type": "string"
          },
          "to": {
            "description": "End date, YYYY-MM-DD",
            "type": "string"
          }
        },
        "required": [
          "model"
        ],
        "type": "object"
      },
      "name": "price_history"
    },
    {
      "description": "Find the exact id of an LLM tracked by InferIndex from a name or partial name (e.g. 'deepseek', 'qwen3 max', 'claude opus'). Returns matching model ids and names, best match first.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "query": {
            "description": "Model name or part of it",
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "search_models"
    },
    {
      "description": "Is it cheaper to host an open-weights model yourself on rented GPUs, or to use the cheapest API offer? Returns a one-sentence verdict (headline) and the numbers behind it: the break-even volume in million tokens per day, the throughput the whole configuration must deliver for self-hosting to cost less (required_tokens_per_second: compare it with what your setup does), the break-even utilization when a throughput is known, the GPU configuration and its hourly price, and what the verdict rests on (confidence). Without a volume you still get the verdict and the break-even volume. It is an estimate: the throughput is a published measurement (measured), an estimate scaled from one (derived; estimated for a wide range), or a published minimum (lower_bound: a floor, valid for requests of up to 2,048 tokens in total, that can show self-hosting wins, never that the API is cheaper); or you give your own tokens_per_second. When no published figure decides, the headline gives the break-even volume and the required throughput, to compare with yours, rather than a yes or no, and may point out a dearer setup that published figures do decide (settled_alternative: for comparison, not a recommendation). headline_kind and headline_values give the headline as fields. It declines to give a number (status refused, with a reason) when it cannot do so reliably, for example a closed model, weights that do not fit the requested GPU, or a GPU nobody rents. Hardware rental only: the hourly price the provider publishes for the machine. It does not count the engineering to deploy and run the model, monitoring, redundancy, start-up time, or storage and network costs billed separately.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "detail": {
            "description": "compact (default): verdict, headline and key numbers. full: also the three throughput scenarios, the model and every assumption",
            "enum": [
              "compact",
              "full"
            ],
            "type": "string"
          },
          "gpu": {
            "description": "Impose a GPU: id from list_gpus, for example h100-sxm-80gb",
            "type": "string"
          },
          "gpu_count": {
            "description": "Impose a number of GPUs: 1, 2, 4, 8 or 16",
            "maximum": 16,
            "minimum": 1,
            "type": "integer"
          },
          "model": {
            "description": "Model id or name, e.g. 'deepseek-v3.2', 'deepseek/deepseek-v4-pro', 'gpt-5.6-luna'. Use search_models when unsure.",
            "type": "string"
          },
          "output_tokens": {
            "description": "Output tokens per request",
            "minimum": 1,
            "type": "integer"
          },
          "prompt_tokens": {
            "description": "Input tokens per request",
            "minimum": 1,
            "type": "integer"
          },
          "quantization": {
            "description": "Precision of the weights (default fp8); must be published by at least one provider unless fp16 or bf16",
            "enum": [
              "fp16",
              "bf16",
              "fp8",
              "int8",
              "fp4",
              "int4"
            ],
            "type": "string"
          },
          "requests_per_day": {
            "description": "Requests per day (with prompt_tokens and output_tokens)",
            "minimum": 1,
            "type": "integer"
          },
          "tier": {
            "description": "GPU rental tier (default guaranteed)",
            "enum": [
              "guaranteed",
              "community",
              "spot"
            ],
            "type": "string"
          },
          "tokens_per_day": {
            "description": "Your volume in tokens per day (input and output together). Or give requests_per_day, prompt_tokens and output_tokens",
            "minimum": 1,
            "type": "integer"
          },
          "tokens_per_second": {
            "description": "Your own measured throughput for the whole configuration, input and output tokens together, instead of our estimate",
            "minimum": 1,
            "type": "number"
          },
          "utilization": {
            "description": "Average share of time the GPUs serve requests, in percent (default 50)",
            "maximum": 100,
            "minimum": 1,
            "type": "number"
          },
          "weights_margin": {
            "description": "Percent of the GPU memory the model weights may fill (default 70; the rest is the engine reserve and the context cache)",
            "maximum": 95,
            "minimum": 50,
            "type": "integer"
          }
        },
        "required": [
          "model"
        ],
        "type": "object"
      },
      "name": "self_host_or_api"
    }
  ]
}

What the leaf hashes

{"body":"e1316be89cddc66c032ac6cc9037fcf88f5e482d428c22063037e7a645afa870","id":571910,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793140485704080,"prev":null,"subject":"fbf4a60b-e0c1-4d63-bfb9-aedf765fafed","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).

  1. 0x41acb529d9369b3adfe0d80152ca21fc1400ee425ab8aff98797c57867cf6f0c
  2. 0x4452e4e66a84061f88feb173629bb0565a126af7a51be57c7eda961361740c6e
  3. 0x577cb41f16f9a19e8b5a950033b696c5ca585c1795d0a2d23e0a733aa476eb26
  4. 0xfdc5cc99596b2c62b03a404b6b893121e4c3cc04fedf59503428f6df2b6b4b8d
  5. 0x3e7212e6271e422675f9ea15c5d8c9a15b9e66a319feace02fef03a72cb4a6cc
  6. 0xd70d95f6b26719d7233b14406ac8878c7884fe7d5c54b5759e700d57b5f0173e
  7. 0x77a4a5f33a64338ea3dc471e8382fd985532cdf0ff90b1674a55e1c82dff1c4e
  8. 0x2fafe5bb137186b1f903a6d3f704dc951d7c7607bfe62bcd55e201feaf85c73b
  9. 0x64b90f9c8c438266a4a67df4d5688b34bec880411a47a3a75d867713aac3f2d6
  10. 0x81bb0ab9f8535c77ee374d24ba86b8e095221cf4d2122c2d48886e5f1dd0544d
  11. 0xfd91625eaaf9a70c689df6148f05bf46a5b16da2b57967e1e74462f5e514be57
  12. 0xc897d71d9632ce913abe93619ab42cfbeb45fae1da80e2533fb77a3b950138a9
  13. 0x4b4a1e815a33d351cc45dfa35f97aef5faf461590a54756a40dc36a0bbabf04b
  14. 0x1de9caca1fa6dbbe090ee48dad5f962bbfd09856fd897edc8c3c110272d35c56
  15. 0x2c117b27721eea45f6590fbccb471d21a7b0b079a53f089ecb300c63bdb3aebf
  16. 0x3ed50f053eca72dfd3a9d45a11935240bfe691e57835c367ddebe2cbc49efe9d
  17. 0x0e01aa9525097570a6edaf32bfc959de57bf5c24317cf10c0716affea85ca60d
  18. 0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON