llms.txt Content
# Isocast — Polymarket weather-signal API for AI agents (v1.1.0)
> Agents pay 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. Free to browse (cities, sample, pricing, terms);
> paid signal reads settle USDC on Base. Informational data only — not financial or betting advice.
## Base URL
- API: https://api.isocast.dev
- This document: https://api.isocast.dev/llms.txt · Extended: /llms-full.txt · Topic: /llms/weather-signals
- Discovery (JSON): https://api.isocast.dev/discovery
- OpenAPI 3.1: https://api.isocast.dev/openapi.json
- x402 manifest: https://api.isocast.dev/.well-known/x402
- Agent card (A2A): https://api.isocast.dev/.well-known/agent-card.json
- Terms: https://isocast.dev/terms
## What a signal is
When a city's observed daily-high temperature crosses out of one Polymarket temperature
bucket and into another, Isocast emits ONE signal for that (city, day, transition). It carries:
the Polymarket market URL + conditionId, the old and new {reading, unit, bucket}, and live
YES/NO/midpoint odds for EVERY bucket (with `dead: true` on buckets the day can no longer reach),
plus `bucketsAsOf` (odds freshness, ≤ ~10s) and `observedAt`. `seq` is a monotonic per-city
counter; delivery is at-most-once per (city, day, bucket). See /llms/weather-signals for semantics.
## Free endpoints (no auth, no payment)
| Method | Path | Description |
|--------|------|-------------|
| GET | /health | Liveness + payment mode (live\|mock) + OFAC status |
| GET | /v1/cities | All active cities (slug, unit, bucketWidth, timezone, latestSeq). 30s cache |
| GET | /v1/cities/:slug | One city + today's targetDate + Polymarket marketUrl |
| GET | /v1/sample?city=SLUG | Promo signal — fixed seq-1 (never latest); synthetic fallback. `sample:true` |
| GET | /v1/signals/meta?city=SLUG | Pricing + payment metadata (un
OpenAPI Spec (preview)
{
"openapi": "3.1.0",
"info": {
"title": "Isocast API",
"version": "1.1.0",
"summary": "Per-signal Polymarket weather-market bucket-transition signals for AI agents.",
"x-guidance": "Start with GET /v1/cities to pick a city slug. Cheapest paid read: GET /v1/spot?city={slug} buys a $0.01 snapshot of the city's LATEST signal — payable by a STOCK x402 client (plain @x402/fetch, no binding nonce); it never returns history. For a running feed: POST /v1/subscribe?city={slug}&coun