81trust / 100

Analytics Confidence

by Market Intelligence API in Markets & finance

x402 APIPassing, checked 4 h ago

Use to turn evidence quality into one auditable 0-100 confidence ($0.01): send factors such as sample size, data freshness, source agreement and signal consistency (each 0-100, weighted); get the confidence, a band and the weakest factor. A transparent weighted mean, not AI confidence.

POST https://api.marketintelligenceapi.com/api/v1/analytics/confidence

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
59 ms typical, 59 ms slowest 5%
Last check
4 h ago
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X POST "https://api.marketintelligenceapi.com/api/v1/analytics/confidence" \
  -H "content-type: application/json" \
  -d '{"factors":[{"name":"sampleSize","score":90,"weight":0.25},{"name":"dataFreshness","score":85,"weight":0.25},{"name":"sourceAgreement","score":80,"weight":0.25},{"name":"signalConsistency","score":75,"weight":0.25}]}'
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fapi.marketintelligenceapi.com%2Fapi%2Fv1%2Fanalytics%2Fconfidence
const res = await pay("https://api.marketintelligenceapi.com/api/v1/analytics/confidence", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({"factors":[{"name":"sampleSize","score":90,"weight":0.25},{"name":"dataFreshness","score":85,"weight":0.25},{"name":"sourceAgreement","score":80,"weight":0.25},{"name":"signalConsistency","score":75,"weight":0.25}]}),
});
console.log(await res.json());

Example input

{
  "factors": [
    {
      "name": "sampleSize",
      "score": 90,
      "weight": 0.25
    },
    {
      "name": "dataFreshness",
      "score": 85,
      "weight": 0.25
    },
    {
      "name": "sourceAgreement",
      "score": 80,
      "weight": 0.25
    },
    {
      "name": "signalConsistency",
      "score": 75,
      "weight": 0.25
    }
  ]
}

Example output

{
  "band": "VERY_HIGH",
  "confidence": 82.5,
  "factors": [
    {
      "contribution": 22.5,
      "name": "sampleSize",
      "normalizedWeight": 0.25,
      "score": 90,
      "weight": 0.25
    },
    {
      "contribution": 21.25,
      "name": "dataFreshness",
      "normalizedWeight": 0.25,
      "score": 85,
      "weight": 0.25
    },
    {
      "contribution": 20,
      "name": "sourceAgreement",
      "normalizedWeight": 0.25,
      "score": 80,
      "weight": 0.25
    },
    {
      "contribution": 18.75,
      "name": "signalConsistency",
      "normalizedWeight": 0.25,
      "score": 75,
      "weight": 0.25
    }
  ],
  "method": "WEIGHTED_MEAN",
  "operation": "confidence",
  "result": 82.5,
  "scale": "0-100",
  "totalWeight": 1,
  "weakestFactor": "signalConsistency",
  "weightsNormalized": false
}

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
4 h agoPassed40259 ms$0.01