FETCH402
← Protocol index

Resource / 561

healthy

Vibe Springs.

Real-time aggregated cryptocurrency news feed with lexicon-based sentiment analysis and cross-outlet story clustering. Filters by topic, time-range, and sentiment bands.

Eligibility
probeable
Failures
0
Last quote
2026-08-13 01:45:03 UTC
Last probe
2026-08-13 01:45:03 UTC
Payment requirements / accepts[] 1 options
State Network Scheme Atomic amount Asset payTo / untrusted
active eip155:8453 exact 8000 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 0x38C063312719220c676E988f0DEE14B4ec0e44C8

All advertised payment options are stored. Base (`eip155:8453`) is the operational network for ranking and canaries; non-Base options remain visible for transparency.

Probe evidence 1 recent
healthy 2026-08-13 01:45:03 UTC GET · HTTP 402 · 391ms · accepts 1 · base 1 ok
Request
GET https://vibesprings.net/api/news/crypto
Robots
allow
Note
http_402;accepts=1;base=1
Accepts fingerprint
c7a090b795bfc8905a703144fa2616625440924b23e5b622992c66e43b3eb1a6

Accepts snapshot

[
  {
    "amount": "8000",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "assetTransferMethod": null,
    "extra": {
      "name": "USD Coin",
      "version": "2"
    },
    "maxTimeoutSeconds": 300,
    "network": "eip155:8453",
    "payTo": "0x38C063312719220c676E988f0DEE14B4ec0e44C8",
    "paymentFlow": null,
    "raw": {
      "amount": "8000",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "maxTimeoutSeconds": 300,
      "max_timeout_seconds": 300,
      "network": "eip155:8453",
      "payTo": "0x38C063312719220c676E988f0DEE14B4ec0e44C8",
      "pay_to": "0x38C063312719220c676E988f0DEE14B4ec0e44C8",
      "scheme": "exact"
    },
    "scheme": "exact"
  }
]

PaymentRequired raw

{
  "accepts": [
    {
      "amount": "8000",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "maxTimeoutSeconds": 300,
      "network": "eip155:8453",
      "payTo": "0x38C063312719220c676E988f0DEE14B4ec0e44C8",
      "scheme": "exact"
    }
  ],
  "error": "Payment required",
  "extensions": {
    "bazaar": {
      "category": "data-provider",
      "info": {
        "input": {
          "method": "GET",
          "queryParams": {
            "limit": 5,
            "since": "6h",
            "topic": "bitcoin"
          },
          "type": "http"
        },
        "output": {
          "example": {
            "articles": [
              {
                "alsoReportedBy": 2,
                "id": "a1b2c3d4",
                "link": "https://example.com/btc-100k",
                "publishedAt": "2026-07-03T18:00:00Z",
                "scoredTerms": [
                  "breakout",
                  "surge",
                  "strong"
                ],
                "sentimentLabel": "bullish",
                "sentimentScore": 0.75,
                "source": "CoinDesk",
                "sourceId": "coindesk",
                "sourceWeight": 0.9,
                "summary": "Bitcoin surged past the historic $100k mark today as ETF inflows set new records.",
                "title": "Bitcoin Breaks Out Above $100k Amid Strong ETF Inflows"
              }
            ],
            "meta": {
              "freshestArticle": "2026-07-03T18:00:00Z",
              "oldestArticle": "2026-07-03T18:00:00Z",
              "returned": 1,
              "sourcesDown": 1,
              "sourcesHealthy": 9,
              "totalMatching": 1
            },
            "processingTime": "15ms"
          },
          "type": "json"
        }
      },
      "schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "input": {
            "additionalProperties": false,
            "properties": {
              "method": {
                "enum": [
                  "GET"
                ],
                "type": "string"
              },
              "queryParams": {
                "properties": {
                  "limit": {
                    "description": "Max articles to return (1-50, default 20)",
                    "type": "integer"
                  },
                  "maxSentiment": {
                    "description": "Maximum sentiment score (-1 to 1)",
                    "type": "number"
                  },
                  "minSentiment": {
                    "description": "Minimum sentiment score (-1 to 1)",
                    "type": "number"
                  },
                  "since": {
                    "description": "ISO timestamp or shorthand '1h', '6h', '24h'",
                    "type": "string"
                  },
                  "topic": {
                    "description": "Comma-separated keywords (e.g. 'bitcoin,ethereum')",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": {
                "const": "http",
                "type": "string"
              }
            },
            "required": [
              "type",
              "method"
            ],
            "type": "object"
          },
          "output": {
            "properties": {
              "example": {
                "type": "object"
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "type"
            ],
            "type": "object"
          }
        },
        "required": [
          "input"
        ],
        "type": "object"
      },
      "tags": [
        "news",
        "sentiment",
        "crypto",
        "signal",
        "x402",
        "agents"
      ]
    }
  },
  "resource": {
    "description": "Real-time aggregated cryptocurrency news feed with lexicon-based sentiment analysis and cross-outlet story clustering. Filters by topic, time-range, and sentiment bands.",
    "iconUrl": "https://vibesprings.net/logo.png",
    "mimeType": "application/json",
    "serviceName": "Vibe Springs",
    "tags": [
      "news",
      "sentiment",
      "crypto",
      "signal",
      "x402"
    ],
    "url": "https://vibesprings.net/api/news/crypto"
  },
  "x402Version": 2
}

Response headers

{
  "alt-svc": "h3=\":443\"; ma=86400",
  "cache-control": "no-cache, no-store, must-revalidate",
  "connection": "keep-alive",
  "content-security-policy": "upgrade-insecure-requests",
  "content-type": "application/json",
  "date": "Thu, 13 Aug 2026 01:45:03 GMT",
  "panel": "hpanel",
  "payment-required": "eyJ4NDAyVmVyc2lvbiI6MiwiZXJyb3IiOiJQYXltZW50IHJlcXVpcmVkIiwicmVzb3VyY2UiOnsidXJsIjoiaHR0cHM6Ly92aWJlc3ByaW5ncy5uZXQvYXBpL25ld3MvY3J5cHRvIiwiZGVzY3JpcHRpb24iOiJSZWFsLXRpbWUgYWdncmVnYXRlZCBjcnlwdG9jdXJyZW5jeSBuZXdzIGZlZWQgd2l0aCBsZXhpY29uLWJhc2VkIHNlbnRpbWVudCBhbmFseXNpcyBhbmQgY3Jvc3Mtb3V0bGV0IHN0b3J5IGNsdXN0ZXJpbmcuIEZpbHRlcnMgYnkgdG9waWMsIHRpbWUtcmFuZ2UsIGFuZCBzZW50aW1lbnQgYmFuZHMuIiwibWltZVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIiwic2VydmljZU5hbWUiOiJWaWJlIFNwcmluZ3MiLCJ0YWdzIjpbIm5ld3MiLCJzZW50aW1lbnQiLCJjcnlwdG8iLCJzaWduYWwiLCJ4NDAyIl0sImljb25VcmwiOiJodHRwczovL3ZpYmVzcHJpbmdzLm5ldC9sb2dvLnBuZyJ9LCJhY2NlcHRzIjpbeyJzY2hlbWUiOiJleGFjdCIsIm5ldHdvcmsiOiJlaXAxNTU6ODQ1MyIsImFtb3VudCI6IjgwMDAiLCJhc3NldCI6IjB4ODMzNTg5ZkNENmVEYjZFMDhmNGM3QzMyRDRmNzFiNTRiZEEwMjkxMyIsInBheVRvIjoiMHgzOEMwNjMzMTI3MTkyMjBjNjc2RTk4OGYwREVFMTRCNGVjMGU0NEM4IiwibWF4VGltZW91dFNlY29uZHMiOjMwMCwiZXh0cmEiOnsibmFtZSI6IlVTRCBDb2luIiwidmVyc2lvbiI6IjIifX1dLCJleHRlbnNpb25zIjp7ImJhemFhciI6eyJpbmZvIjp7ImlucHV0Ijp7InR5cGUiOiJodHRwIiwicXVlcnlQYXJhbXMiOnsidG9waWMiOiJiaXRjb2luIiwic2luY2UiOiI2aCIsImxpbWl0Ijo1fSwibWV0aG9kIjoiR0VUIn0sIm91dHB1dCI6eyJ0eXBlIjoianNvbiIsImV4YW1wbGUiOnsiYXJ0aWNsZXMiOlt7ImlkIjoiYTFiMmMzZDQiLCJ0aXRsZSI6IkJpdGNvaW4gQnJlYWtzIE91dCBBYm92ZSAkMTAwayBBbWlkIFN0cm9uZyBFVEYgSW5mbG93cyIsImxpbmsiOiJodHRwczovL2V4YW1wbGUuY29tL2J0Yy0xMDBrIiwic291cmNlIjoiQ29pbkRlc2siLCJzb3VyY2VJZCI6ImNvaW5kZXNrIiwic291cmNlV2VpZ2h0IjowLjksInB1Ymxpc2hlZEF0IjoiMjAyNi0wNy0wM1QxODowMDowMFoiLCJzdW1tYXJ5IjoiQml0Y29pbiBzdXJnZWQgcGFzdCB0aGUgaGlzdG9yaWMgJDEwMGsgbWFyayB0b2RheSBhcyBFVEYgaW5mbG93cyBzZXQgbmV3IHJlY29yZHMuIiwiYWxzb1JlcG9ydGVkQnkiOjIsInNlbnRpbWVudFNjb3JlIjowLjc1LCJzZW50aW1lbnRMYWJlbCI6ImJ1bGxpc2giLCJzY29yZWRUZXJtcyI6WyJicmVha291dCIsInN1cmdlIiwic3Ryb25nIl19XSwibWV0YSI6eyJzb3VyY2VzSGVhbHRoeSI6OSwic291cmNlc0Rvd24iOjEsImZyZXNoZXN0QXJ0aWNsZSI6IjIwMjYtMDctMDNUMTg6MDA6MDBaIiwib2xkZXN0QXJ0aWNsZSI6IjIwMjYtMDctMDNUMTg6MDA6MDBaIiwidG90YWxNYXRjaGluZyI6MSwicmV0dXJuZWQiOjF9LCJwcm9jZXNzaW5nVGltZSI6IjE1bXMifX19LCJzY2hlbWEiOnsiJHNjaGVtYSI6Imh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LzIwMjAtMTIvc2NoZW1hIiwidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsiaW5wdXQiOnsidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsidHlwZSI6eyJ0eXBlIjoic3RyaW5nIiwiY29uc3QiOiJodHRwIn0sIm1ldGhvZCI6eyJ0eXBlIjoic3RyaW5nIiwiZW51bSI6WyJHRVQiXX0sInF1ZXJ5UGFyYW1zIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7InRvcGljIjp7InR5cGUiOiJzdHJpbmciLCJkZXNjcmlwdGlvbiI6IkNvbW1hLXNlcGFyYXRlZCBrZXl3b3JkcyAoZS5nLiAnYml0Y29pbixldGhlcmV1bScpIn0sInNpbmNlIjp7InR5cGUiOiJzdHJpbmciLCJkZXNjcmlwdGlvbiI6IklTTyB0aW1lc3RhbXAgb3Igc2hvcnRoYW5kICcxaCcsICc2aCcsICcyNGgnIn0sImxpbWl0Ijp7InR5cGUiOiJpbnRlZ2VyIiwiZGVzY3JpcHRpb24iOiJNYXggYXJ0aWNsZXMgdG8gcmV0dXJuICgxLTUwLCBkZWZhdWx0IDIwKSJ9LCJtaW5TZW50aW1lbnQiOnsidHlwZSI6Im51bWJlciIsImRlc2NyaXB0aW9uIjoiTWluaW11bSBzZW50aW1lbnQgc2NvcmUgKC0xIHRvIDEpIn0sIm1heFNlbnRpbWVudCI6eyJ0eXBlIjoibnVtYmVyIiwiZGVzY3JpcHRpb24iOiJNYXhpbXVtIHNlbnRpbWVudCBzY29yZSAoLTEgdG8gMSkifX19fSwicmVxdWlyZWQiOlsidHlwZSIsIm1ldGhvZCJdLCJhZGRpdGlvbmFsUHJvcGVydGllcyI6ZmFsc2V9LCJvdXRwdXQiOnsidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsidHlwZSI6eyJ0eXBlIjoic3RyaW5nIn0sImV4YW1wbGUiOnsidHlwZSI6Im9iamVjdCJ9fSwicmVxdWlyZWQiOlsidHlwZSJdfX0sInJlcXVpcmVkIjpbImlucHV0Il19LCJjYXRlZ29yeSI6ImRhdGEtcHJvdmlkZXIiLCJ0YWdzIjpbIm5ld3MiLCJzZW50aW1lbnQiLCJjcnlwdG8iLCJzaWduYWwiLCJ4NDAyIiwiYWdlbnRzIl19fX0=",
  "platform": "hostinger",
  "pragma": "no-cache",
  "referrer-policy": "strict-origin-when-cross-origin",
  "server": "hcdn",
  "strict-transport-security": "max-age=63072000; includeSubDomains; preload",
  "transfer-encoding": "chunked",
  "vary": "Accept-Encoding",
  "x-content-type-options": "nosniff",
  "x-frame-options": "DENY",
  "x-hcdn-request-id": "dfc56791bb907dbc934904aa33f545c1-tok-edge3",
  "x-xss-protection": "1; mode=block"
}

Response body

{}

Request headers

{
  "accept": "*/*",
  "user-agent": "Fetch402Bot/0.1 (+https://fetch402.com/crawler; contact: crawler@fetch402.com)"
}

Machine contract

Schemas.

InputJSON
{}
OutputJSON
{}