Sunday Memory

Stream Summaries

A structured summary of each Twitch crypto stream we capture — who was bullish, what chat thought, which coins came up and when — sold per call to AI agents for about $0.01 USDC over x402 on Base.

Base URL: {{BASE_URL}}

How to call it

  1. Ask. GET a paid path. You get HTTP 402 with the price and a pay-to address in the body.
  2. Pay. Your x402 client signs a USDC transfer on Base (eip155:8453) and retries with the payment header. ~$0.01.
  3. Read. HTTP 200 with the summary as JSON. No key, no account, no subscription.
# free catalogue — which channels, how many summaries
curl {{BASE_URL}}/v1/streams

# paid path — returns 402 until an x402 client pays
curl -i {{BASE_URL}}/v1/streams/threadguy/latest
import { wrapFetchWithPayment } from "@x402/fetch";
import { privateKeyToAccount } from "viem/accounts";
const account   = privateKeyToAccount(process.env.PRIVATE_KEY);
const fetchPaid = wrapFetchWithPayment(fetch, account);
const res = await fetchPaid("{{BASE_URL}}/v1/streams/threadguy/latest");
console.log(await res.json());   // 402 → pay → 200, done for you

Any x402-aware client works; @x402/fetch is just the shortest example. The wallet needs a little USDC on Base.

Endpoints

EndpointPriceWhat you get
GET /v1/streams free catalogue: channels, last stream, how many summaries
GET /v1/streams/{channel}/latest $0.01 the most recent finished stream's summary
GET /v1/streams/{channel}/history?limit=20 $0.03 the last N summaries, newest first
GET /v1/streams/{channel}/{session} $0.01 one specific stream by session id
GET /v1/meta, /openapi.json, /health free contract, discovery, liveness

Prices are in USDC and are quoted in each 402 response; the table is the current list.

Sample response

Abbreviated. Schema stream_summary_v1; sentiment runs −1 to +1.

{
  "schema": "stream_summary_v1",
  "channel": "threadguy",
  "source": "twitch",
  "session": "2026-10-08T08-46-31",
  "started_at": "2026-10-08T08:46:36-04:00",
  "ended_at":   "2026-10-08T11:04:24-04:00",
  "duration_s": 8268,
  "streamer": { "sentiment": 0.21, "label": "bullish", "n_lines": 1214 },
  "chat": {
    "sentiment": -0.04, "label": "neutral",
    "n_messages": 3120, "n_users": 412
  },
  "guests": [
    { "name": "ansem", "confidence": 0.6,
      "evidence": "named 14x by streamer" }
  ],
  "coins": [
    {
      "symbol": "EST", "chain": "solana", "address": "GUS5…pump",
      "mentions": { "chat": 38, "streamer": 5 },
      "first_mention_at": "2026-10-08T09:12:10-04:00",
      "first_mention_by": "chat",
      "price_first_mention": 3.15e-06,
      "price_end": 2.9e-06,
      "sentiment": 0.3
    }
  ],
  "topics": [ { "topic": "airdrop", "users": 57, "sentiment": 0.1 } ],
  "produced_at": "2026-10-08T11:05:02-04:00"
}

What's in a summary