x402 List

x402 Protocol Service Directory

Isocast

Data PAYMENT-READY

payment-ready until 2026-08-20

Agents buy per-signal bundles via x402 and get pushed (Telegram) the instant a city's daily-high temperature crosses into a new Polymarket bucket — market URL, old/new reading, and live odds for every bucket. 37 cities.

Pay from $0.10 per request in USDC on Base, settled onchain via the x402 protocol, no signup, no API key needed.

first settlement 2026-07-14 · $1.74 all-time · settled via coinbase, payAI

BASE URL https://api.isocast.dev WEBSITE https://isocast.dev ENDPOINTS 2 NETWORK Base ASSET USDC MEMBER SINCE 2026-07-14 MONITORED SINCE 2026-07-14

ASSESSMENT

updated 4h ago

Evidence-backed signals, not a single score. Click any chip for the proof. Measured values stay read-only; unknown is honest.

reliability 99.9%
uptime 24h
100%
uptime 7d
100%
uptime 30d
99.9%
uptime 90d
99.9%
response p95
704ms
avg response
383ms
total checks
2,687

Measured on the unpaid 402 handshake, not the paid call. A service can 402 correctly and still fail after payment.

compliance A (14/14)

14 of 14 x402 conformance checks pass. Full checklist below.

jump to compliance checklist

price $0.10 (p93 in Data)
price (min)
$0.10
category percentile (min)
p93 in Data
endpoints / prices
2 / 1
model
flat
stability
100%
risk clean

No deterministic risk flag. Risk fires only on an exact blocklist match, or a reserved-brand name with a mismatched verified payTo. Never from low uptime, a high price, or a model guess.

domain age
40d
registrar
Namecheap Inc.
hosting
custom
domain created
2026-07-03

Identity facts, not a risk score.

traction $1.73 30d · 5 buyers
volume 30d
$1.73
buyers 30d
5
settlements 30d
173
first settlement
2026-07-14
last settlement
2026-08-13
top buyer share
40% of 30d volume
trend 7d vs 30d
0.35x the 30d daily rate
networks
eip155:8453
volume all-time
$1.74
settlements all-time
174
median settlement 30d
$0.01
max settlement 30d
$0.01
settled via
coinbase ($1.23, 123 tx), payAI ($0.50, 50 tx)

Conservative undercount: only USDC settlements via facilitators we measure are counted. A measured floor, not an estimate.

Top buyer share is a concentration signal, not part of the ranking score.

WHAT IT DOES

ai-derived

Provides weather-based market signals for temperature thresholds across different cities.

category
weather-market-data
in
query params
auth
api key
weathermarket-datanotifications

AI-generated summary. The measured data is never altered by it.

ENDPOINTS

Service endpoints with HTTP method, path, description, pricing, and network
METHOD PATH DESCRIPTION PRICE NETWORK ASSET 402 CHANNEL
GET /v1/signals $0.10 Base USDC header
POST /v1/subscribe $0.10 Base USDC header
2 endpoints

REQUEST / RESPONSE EXAMPLE

An unpaid request to GET /v1/signals returns HTTP 402 with the payment terms. Settle onchain via your facilitator, then retry with the X-Payment header.

// request
curl -i 'https://api.isocast.dev/v1/signals'
// 402 response (captured by monitor) · 2 payloads · click to expand
[
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x44b16952484b6dbea40ede12927ee03a5ea6cdd3",
        "amount": "100000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://api.isocast.dev/v1/subscribe",
      "mimeType": "application/json",
      "description": "Buy the next N Polymarket weather-signal(s) for a city (bundle prepay, count ≥ 2, $0.01–$7.00). Returns a Bearer receipt for /v1/signals. Nonce binds (payer, citySlug, count)."
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "city": "istanbul",
              "count": 20
            },
            "type": "http",
            "method": "POST",
            "bodyType": "json"
          },
          "output": {
            "type": "json",
            "example": {
              "ok": true,
              "city": "istanbul",
              "count": 20,
              "amountUsd": 0.1,
              "idempotent": false,
              "receiptToken": "ic_rcpt_…",
              "unitPriceUsd": 0.005,
              "paidThroughSeq": 24
            }
          }
        },
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method",
                "bodyType",
                "body"
              ],
              "properties": {
                "body": {
                  "required": [
                    "city",
                    "count"
                  ],
                  "properties": {
                    "city": {
                      "type": "string",
                      "description": "City slug (see GET /v1/cities), e.g. istanbul, nyc, los-angeles"
                    },
                    "count": {
                      "type": "integer",
                      "minimum": 2,
                      "description": "Number of signals to buy (integer ≥ 2, and total ≥ 0.01 USDC min spend)"
                    }
                  }
                },
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "POST"
                  ],
                  "type": "string"
                },
                "bodyType": {
                  "enum": [
                    "json",
                    "form-data",
                    "text"
                  ],
                  "type": "string"
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  },
  {
    "error": "Payment required",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x44b16952484b6dbea40ede12927ee03a5ea6cdd3",
        "amount": "100000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      }
    ],
    "resource": {
      "url": "https://api.isocast.dev/v1/signals",
      "mimeType": "application/json",
      "description": "Read entitled Polymarket weather signals for a city; pay inline (x402) or present the Bearer receipt from /v1/subscribe. Each signal: market URL + conditionId, old/new temperature bucket, live odds for every bucket. 402 on exhaustion."
    },
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "queryParams": {
              "city": "istanbul"
            }
          },
          "output": {
            "type": "json",
            "example": {
              "more": false,
              "latest": 12,
              "signals": [
                {
                  "new": {
                    "unit": "C",
                    "bucket": "29-30°C",
                    "reading": 30.1
                  },
                  "old": {
                    "unit": "C",
                    "bucket": "28-29°C",
                    "reading": 28.9
                  },
                  "seq": 1,
                  "city": "istanbul",
                  "buckets": [
                    {
                      "no": 0.45,
                      "yes": 0.55,
                      "label": "29-30°C"
                    }
                  ],
                  "marketUrl": "https://polymarket.com/event/highest-temperature-in-istanbul-on-july-3-2026",
                  "targetDate": "2026-07-03",
                  "conditionId": "0x…"
                }
              ],
              "next_cursor": 1,
              "paid_through": 24
            }
          }
        },
        "schema": {
          "type": "object",
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "required": [
            "input"
          ],
          "properties": {
            "input": {
              "type": "object",
              "required": [
                "type",
                "method"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "enum": [
                    "GET"
                  ],
                  "type": "string"
                },
                "queryParams": {
                  "type": "object",
                  "required": [
                    "city"
                  ],
                  "properties": {
                    "city": {
                      "type": "string",
                      "description": "City slug (see GET /v1/cities)"
                    },
                    "count": {
                      "type": "integer",
                      "default": 20,
                      "minimum": 2,
                      "description": "Bundle size proposed in the 402 challenge if payment is required"
                    },
                    "since": {
                      "type": "integer",
                      "default": 0,
                      "minimum": 0,
                      "description": "Return signals with seq strictly greater than this (cursor)"
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string"
                },
                "example": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "x402Version": 2
  }
]

OVER TIME

All charts use the 7d selector; each series spans only the dates it has data for. Every series is also served as JSON at /api/v1/services/isocast/price, /scores, /volume and /buyers. On-chain volume and distinct buyers are measured over the service's settlement address and are a conservative undercount (only settlements that reach a measured facilitator are counted). The on-chain series roll up hourly, so the latest day can be up to about an hour behind; distinct buyers are counted per payout address, so a service that settles to more than one address is an upper bound.

UPTIME
08-07 · uptime 100.0% · 431ms avg08-08 · uptime 100.0% · 412ms avg08-09 · uptime 100.0% · 481ms avg08-10 · uptime 100.0% · 405ms avg08-11 · uptime 100.0% · 413ms avg08-12 · uptime 100.0% · 472ms avg08-13 · uptime 100.0% · 492ms avg08-0708-13
7d UPTIME 100%
RESPONSE TIME
08-07 · 431ms avg08-07 · 431ms avg08-08 · 412ms avg08-08 · 412ms avg08-09 · 481ms avg08-09 · 481ms avg08-10 · 405ms avg08-10 · 405ms avg08-11 · 413ms avg08-11 · 413ms avg08-12 · 472ms avg08-12 · 472ms avg08-13 · 492ms avg08-13 · 492ms avg08-0708-13
AVG RESP 383ms
PRICE (captured 402, USD)
08-06 · $0.1008-13 · $0.10$0.1008-0608-13

Median across 2 endpoints. Use the selector to isolate one.

SUB-SCORES (uptime + x402 compliance)
08-06 uptime: 99.9% compliance: 100% checks08-07 uptime: 99.9% compliance: 100% checks08-08 uptime: 99.9% compliance: 100% checks08-09 uptime: 99.9% compliance: 100% checks08-10 uptime: 99.9% compliance: 100% checks08-11 uptime: 99.9% compliance: 100% checks08-12 uptime: 99.9% compliance: 100% checks08-13 uptime: 99.9% compliance: 100% checksuptimecompliance08-0608-13

checklist grew 11->14 on 2026-07-28; a step here is a metric change, not a regression

PILLARS OVER TIME (measured)

Measured site and economics pillars from the assessment history, so the latest value shown elsewhere on this page reads as a point on a trend rather than a permanent state.

VOLUME (on-chain settlement, USD)
08-07 · $0.0208-08 · $0.0208-09 · $0.0208-10 · $0.0208-11 · $0.0208-12 · $0.0208-13 · $0.01peak $0.0208-0708-13
DISTINCT BUYERS
08-07 · 2 buyers08-08 · 2 buyers08-09 · 2 buyers08-10 · 2 buyers08-11 · 2 buyers08-12 · 2 buyers08-13 · 1 buyerpeak 2 buyers08-0708-13

COMPLIANCE

14/14 checks pass · grade A

last 402 captured 2026-07-14 · last up 2026-08-13

  • 402 payload captured
  • accepts[] array present
  • payTo address recoverable
  • payTo at accepts[0].payTo (conformant shape)
  • payTo is a valid on-chain address
  • atomic price declared
  • atomic price in a sane range
  • asset (token) address declared
  • network resolves to CAIP-2
  • payment scheme declared
  • served over HTTPS
  • declares the current x402 version (2)
  • EIP-712 domain parameters present on every EVM entry
  • x402 v2 envelope delivered in the payment-required header

SITE PILLARS

  • homepage reachable
  • openapi doc
  • pricing page
  • llms.txt
  • robots.txt
  • terms page
recent checks (18) live · click to expand
TIME STATUS RESP CAUSE
● OK 276ms
● OK 453ms
● OK 417ms
● OK 498ms
● OK 394ms
● OK 493ms
● OK 423ms
● OK 463ms
● SLOW 665ms
● OK 557ms
● OK 363ms
● OK 364ms
● OK 489ms
● OK 447ms
● OK 431ms
● OK 276ms
● OK 483ms
● SLOW 624ms

EMBED THIS BADGE

Show that Isocast is monitored on x402-list. Paste this on your site or README, it links back to this live listing.

Isocast listed on x402-list
status
Isocast uptime on x402-list
live uptime
// HTML
<a href="https://x402-list.com/services/isocast?utm_source=badge&utm_medium=referral&utm_campaign=embed">
  <img src="https://x402-list.com/badge/isocast.svg" alt="Isocast listed on x402-list" height="28">
</a>
// Markdown
[![Isocast on x402-list](https://x402-list.com/badge/isocast.svg)](https://x402-list.com/services/isocast?utm_source=badge&utm_medium=referral&utm_campaign=embed)
// HTML · live uptime variant
<a href="https://x402-list.com/services/isocast?utm_source=badge&utm_medium=referral&utm_campaign=embed">
  <img src="https://x402-list.com/badge/isocast.svg?data=uptime" alt="Isocast uptime on x402-list" height="28">
</a>

RUN THIS SERVICE?

Keep this listing accurate: propose changes to the name, description, website, category or add new endpoints to monitor. Ownership is verified with a domain proof and every change is reviewed manually; measured data stays read-only.

[ update this listing ]

Earn the verified tier: x402list pays a real call to this endpoint and, if it delivers, the service is delivery-verified. The fee covers the cost of the probe, not the badge; there is no refund if the call does not deliver. Agent and API only, no in-browser signing. See /api.

[ verify this service ($0.25) ]

To request delisting, email info@x402-list.com or update your listing at /services/isocast/update.