← Protocol index
Resource / 561
healthyVibe 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.
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
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
{}