FETCH402
← Protocol index

Resource / 117

healthy

Drip.

Paid JSON for stock-picker calls from financial newsletters and investing articles. Query params: optional `date=YYYY-MM-DD` for one UTC effective day, optional `limit`. Default (omit `date`) returns the latest UTC effective day with picks. Rows missing publication timestamps may use extractedAt for the effective day. Returns 404 when no picks exist for the day. USDC `exact` x402 on Base or Solana; amount is based on distinct attributed source posts returned.

Eligibility
probeable
Failures
0
Last quote
2026-08-12 21:30:02 UTC
Last probe
2026-08-12 21:30:02 UTC
Payment requirements / accepts[] 2 options
State Network Scheme Atomic amount Asset payTo / untrusted
active eip155:8453 exact 100000 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 0xBF22b6DdB5A08c823856A779f1004eEa60C5aB92
active solana:5eykt4usfv8p8njdtrepy1vzqkqzkvdp exact 100000 EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 2cCuDjNEuA7QFgBiS8rYcWrxJxeYGJFGHvXaaCXBqmHF

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-12 21:30:02 UTC GET · HTTP 402 · 145ms · accepts 2 · base 1 ok
Request
GET https://dripstack.xyz/api/v1/stock-picks
Robots
error
Note
robots_error:{:robots_http_status, 404};http_402;accepts=2;base=1
Accepts fingerprint
013fa0a7712083ab4cdcd7c46d239af5ac2a3aafeb3e0b7d7efc61a1437a8dd0

Accepts snapshot

[
  {
    "amount": "100000",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "assetTransferMethod": null,
    "extra": {
      "name": "USD Coin",
      "version": "2"
    },
    "maxTimeoutSeconds": 300,
    "network": "eip155:8453",
    "payTo": "0xBF22b6DdB5A08c823856A779f1004eEa60C5aB92",
    "paymentFlow": null,
    "raw": {
      "amount": "100000",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "maxTimeoutSeconds": 300,
      "max_timeout_seconds": 300,
      "network": "eip155:8453",
      "payTo": "0xBF22b6DdB5A08c823856A779f1004eEa60C5aB92",
      "pay_to": "0xBF22b6DdB5A08c823856A779f1004eEa60C5aB92",
      "scheme": "exact"
    },
    "scheme": "exact"
  },
  {
    "amount": "100000",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "assetTransferMethod": null,
    "extra": {
      "feePayer": "D6ZhtNQ5nT9ZnTHUbqXZsTx5MH2rPFiBBggX4hY1WePM"
    },
    "maxTimeoutSeconds": 300,
    "network": "solana:5eykt4usfv8p8njdtrepy1vzqkqzkvdp",
    "payTo": "2cCuDjNEuA7QFgBiS8rYcWrxJxeYGJFGHvXaaCXBqmHF",
    "paymentFlow": null,
    "raw": {
      "amount": "100000",
      "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
      "extra": {
        "feePayer": "D6ZhtNQ5nT9ZnTHUbqXZsTx5MH2rPFiBBggX4hY1WePM"
      },
      "maxTimeoutSeconds": 300,
      "max_timeout_seconds": 300,
      "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
      "payTo": "2cCuDjNEuA7QFgBiS8rYcWrxJxeYGJFGHvXaaCXBqmHF",
      "pay_to": "2cCuDjNEuA7QFgBiS8rYcWrxJxeYGJFGHvXaaCXBqmHF",
      "scheme": "exact"
    },
    "scheme": "exact"
  }
]

PaymentRequired raw

{
  "accepts": [
    {
      "amount": "100000",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "maxTimeoutSeconds": 300,
      "network": "eip155:8453",
      "payTo": "0xBF22b6DdB5A08c823856A779f1004eEa60C5aB92",
      "scheme": "exact"
    },
    {
      "amount": "100000",
      "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
      "extra": {
        "feePayer": "D6ZhtNQ5nT9ZnTHUbqXZsTx5MH2rPFiBBggX4hY1WePM"
      },
      "maxTimeoutSeconds": 300,
      "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
      "payTo": "2cCuDjNEuA7QFgBiS8rYcWrxJxeYGJFGHvXaaCXBqmHF",
      "scheme": "exact"
    }
  ],
  "error": "Payment required",
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "method": "GET",
          "queryParams": {
            "limit": 200
          },
          "type": "http"
        },
        "output": {
          "example": {
            "asOf": "2026-06-02T18:30:00.000Z",
            "count": 1,
            "dateUsed": "2026-05-30",
            "endDate": "2026-05-30",
            "items": [
              {
                "action": "NEW_POSITION",
                "activePick": true,
                "articleTitle": "Example investment letter",
                "articleUrl": "https://example.substack.com/p/example-investment-letter",
                "author": "Author display name",
                "authorConviction": 4,
                "callId": "example-call-id",
                "convictionLabel": "High",
                "direction": "LONG",
                "evidenceQuote": "Short source quote supporting the pick.",
                "id": "clxexamplestockpick0001",
                "instrumentType": "EQUITY",
                "postSlug": "example-investment-letter",
                "publicationSlug": "example.substack.com",
                "publishedAt": "2026-05-30T12:00:00.000Z",
                "rationaleSnippet": "Concise rationale for the extracted call.",
                "ticker": "ACME",
                "tickerExchange": "NASDAQ"
              }
            ],
            "startDate": "2026-05-30"
          },
          "type": "json"
        }
      },
      "schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "input": {
            "additionalProperties": false,
            "properties": {
              "method": {
                "enum": [
                  "GET"
                ],
                "type": "string"
              },
              "queryParams": {
                "additionalProperties": false,
                "properties": {
                  "date": {
                    "description": "Optional UTC effective calendar day in YYYY-MM-DD form.",
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                    "type": "string"
                  },
                  "limit": {
                    "description": "Maximum number of stock-pick calls returned.",
                    "maximum": 500,
                    "minimum": 1,
                    "type": "integer"
                  }
                },
                "type": "object"
              },
              "type": {
                "const": "http",
                "type": "string"
              }
            },
            "required": [
              "type",
              "method"
            ],
            "type": "object"
          },
          "output": {
            "properties": {
              "example": {
                "properties": {
                  "asOf": {
                    "type": "string"
                  },
                  "count": {
                    "type": "integer"
                  },
                  "dateUsed": {
                    "type": "string"
                  },
                  "endDate": {
                    "type": "string"
                  },
                  "items": {
                    "type": "array"
                  },
                  "startDate": {
                    "type": "string"
                  }
                },
                "required": [
                  "dateUsed",
                  "startDate",
                  "endDate",
                  "asOf",
                  "count",
                  "items"
                ],
                "type": "object"
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "type"
            ],
            "type": "object"
          }
        },
        "required": [
          "input"
        ],
        "type": "object"
      }
    }
  },
  "resource": {
    "description": "Paid JSON for stock-picker calls from financial newsletters and investing articles. Query params: optional `date=YYYY-MM-DD` for one UTC effective day, optional `limit`. Default (omit `date`) returns the latest UTC effective day with picks. Rows missing publication timestamps may use extractedAt for the effective day. Returns 404 when no picks exist for the day. USDC `exact` x402 on Base or Solana; amount is based on distinct attributed source posts returned.",
    "mimeType": "application/json",
    "serviceName": "Drip",
    "tags": [
      "substack",
      "newsletter",
      "newsletters",
      "blog",
      "article",
      "articles",
      "podcast",
      "media",
      "finance",
      "financial-analysis",
      "investing",
      "investment-research",
      "trading",
      "markets",
      "stocks",
      "equities",
      "stock-picks",
      "research",
      "micropayments"
    ],
    "url": "https://dripstack.xyz/api/v1/stock-picks"
  },
  "x402Version": 2
}

Response headers

{
  "age": "0",
  "cache-control": "no-store",
  "content-security-policy": "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://challenges.cloudflare.com https://vercel.live https://static.userback.io https://static.ads-twitter.com https://*.posthog.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https:; font-src 'self'; connect-src 'self' https://auth.privy.io wss://relay.walletconnect.com wss://relay.walletconnect.org wss://www.walletlink.org https://*.rpc.privy.systems https://explorer-api.walletconnect.com https://vitals.vercel-insights.com https://*.posthog.com https://static.userback.io; frame-src https://auth.privy.io https://verify.walletconnect.com https://verify.walletconnect.org https://challenges.cloudflare.com https://vercel.live https://js.stripe.com; worker-src 'self' blob:; manifest-src 'self'; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'",
  "content-type": "application/problem+json",
  "date": "Wed, 12 Aug 2026 21:30:02 GMT",
  "payment-required": "eyJ4NDAyVmVyc2lvbiI6MiwiZXJyb3IiOiJQYXltZW50IHJlcXVpcmVkIiwicmVzb3VyY2UiOnsidXJsIjoiaHR0cHM6Ly9kcmlwc3RhY2sueHl6L2FwaS92MS9zdG9jay1waWNrcyIsImRlc2NyaXB0aW9uIjoiUGFpZCBKU09OIGZvciBzdG9jay1waWNrZXIgY2FsbHMgZnJvbSBmaW5hbmNpYWwgbmV3c2xldHRlcnMgYW5kIGludmVzdGluZyBhcnRpY2xlcy4gUXVlcnkgcGFyYW1zOiBvcHRpb25hbCBgZGF0ZT1ZWVlZLU1NLUREYCBmb3Igb25lIFVUQyBlZmZlY3RpdmUgZGF5LCBvcHRpb25hbCBgbGltaXRgLiBEZWZhdWx0IChvbWl0IGBkYXRlYCkgcmV0dXJucyB0aGUgbGF0ZXN0IFVUQyBlZmZlY3RpdmUgZGF5IHdpdGggcGlja3MuIFJvd3MgbWlzc2luZyBwdWJsaWNhdGlvbiB0aW1lc3RhbXBzIG1heSB1c2UgZXh0cmFjdGVkQXQgZm9yIHRoZSBlZmZlY3RpdmUgZGF5LiBSZXR1cm5zIDQwNCB3aGVuIG5vIHBpY2tzIGV4aXN0IGZvciB0aGUgZGF5LiBVU0RDIGBleGFjdGAgeDQwMiBvbiBCYXNlIG9yIFNvbGFuYTsgYW1vdW50IGlzIGJhc2VkIG9uIGRpc3RpbmN0IGF0dHJpYnV0ZWQgc291cmNlIHBvc3RzIHJldHVybmVkLiIsIm1pbWVUeXBlIjoiYXBwbGljYXRpb24vanNvbiIsInNlcnZpY2VOYW1lIjoiRHJpcCIsInRhZ3MiOlsic3Vic3RhY2siLCJuZXdzbGV0dGVyIiwibmV3c2xldHRlcnMiLCJibG9nIiwiYXJ0aWNsZSIsImFydGljbGVzIiwicG9kY2FzdCIsIm1lZGlhIiwiZmluYW5jZSIsImZpbmFuY2lhbC1hbmFseXNpcyIsImludmVzdGluZyIsImludmVzdG1lbnQtcmVzZWFyY2giLCJ0cmFkaW5nIiwibWFya2V0cyIsInN0b2NrcyIsImVxdWl0aWVzIiwic3RvY2stcGlja3MiLCJyZXNlYXJjaCIsIm1pY3JvcGF5bWVudHMiXX0sImFjY2VwdHMiOlt7InNjaGVtZSI6ImV4YWN0IiwibmV0d29yayI6ImVpcDE1NTo4NDUzIiwiYW1vdW50IjoiMTAwMDAwIiwiYXNzZXQiOiIweDgzMzU4OWZDRDZlRGI2RTA4ZjRjN0MzMkQ0ZjcxYjU0YmRBMDI5MTMiLCJwYXlUbyI6IjB4QkYyMmI2RGRCNUEwOGM4MjM4NTZBNzc5ZjEwMDRlRWE2MEM1YUI5MiIsIm1heFRpbWVvdXRTZWNvbmRzIjozMDAsImV4dHJhIjp7Im5hbWUiOiJVU0QgQ29pbiIsInZlcnNpb24iOiIyIn19LHsic2NoZW1lIjoiZXhhY3QiLCJuZXR3b3JrIjoic29sYW5hOjVleWt0NFVzRnY4UDhOSmRUUkVwWTF2enFLcVpLdmRwIiwiYW1vdW50IjoiMTAwMDAwIiwiYXNzZXQiOiJFUGpGV2RkNUF1ZnFTU3FlTTJxTjF4enliYXBDOEc0d0VHR2tad3lURHQxdiIsInBheVRvIjoiMmNDdURqTkV1QTdRRmdCaVM4clljV3J4SnhlWUdKRkdIdlhhYUNYQnFtSEYiLCJtYXhUaW1lb3V0U2Vjb25kcyI6MzAwLCJleHRyYSI6eyJmZWVQYXllciI6IkQ2Wmh0TlE1blQ5Wm5USFVicVhac1R4NU1IMnJQRmlCQmdnWDRoWTFXZVBNIn19XSwiZXh0ZW5zaW9ucyI6eyJiYXphYXIiOnsiaW5mbyI6eyJpbnB1dCI6eyJ0eXBlIjoiaHR0cCIsInF1ZXJ5UGFyYW1zIjp7ImxpbWl0IjoyMDB9LCJtZXRob2QiOiJHRVQifSwib3V0cHV0Ijp7InR5cGUiOiJqc29uIiwiZXhhbXBsZSI6eyJkYXRlVXNlZCI6IjIwMjYtMDUtMzAiLCJzdGFydERhdGUiOiIyMDI2LTA1LTMwIiwiZW5kRGF0ZSI6IjIwMjYtMDUtMzAiLCJhc09mIjoiMjAyNi0wNi0wMlQxODozMDowMC4wMDBaIiwiY291bnQiOjEsIml0ZW1zIjpbeyJpZCI6ImNseGV4YW1wbGVzdG9ja3BpY2swMDAxIiwiY2FsbElkIjoiZXhhbXBsZS1jYWxsLWlkIiwiYXV0aG9yIjoiQXV0aG9yIGRpc3BsYXkgbmFtZSIsImFydGljbGVUaXRsZSI6IkV4YW1wbGUgaW52ZXN0bWVudCBsZXR0ZXIiLCJhcnRpY2xlVXJsIjoiaHR0cHM6Ly9leGFtcGxlLnN1YnN0YWNrLmNvbS9wL2V4YW1wbGUtaW52ZXN0bWVudC1sZXR0ZXIiLCJwdWJsaXNoZWRBdCI6IjIwMjYtMDUtMzBUMTI6MDA6MDAuMDAwWiIsInRpY2tlciI6IkFDTUUiLCJ0aWNrZXJFeGNoYW5nZSI6Ik5BU0RBUSIsImluc3RydW1lbnRUeXBlIjoiRVFVSVRZIiwiYWN0aW9uIjoiTkVXX1BPU0lUSU9OIiwiZGlyZWN0aW9uIjoiTE9ORyIsImF1dGhvckNvbnZpY3Rpb24iOjQsImNvbnZpY3Rpb25MYWJlbCI6IkhpZ2giLCJhY3RpdmVQaWNrIjp0cnVlLCJldmlkZW5jZVF1b3RlIjoiU2hvcnQgc291cmNlIHF1b3RlIHN1cHBvcnRpbmcgdGhlIHBpY2suIiwicmF0aW9uYWxlU25pcHBldCI6IkNvbmNpc2UgcmF0aW9uYWxlIGZvciB0aGUgZXh0cmFjdGVkIGNhbGwuIiwicHVibGljYXRpb25TbHVnIjoiZXhhbXBsZS5zdWJzdGFjay5jb20iLCJwb3N0U2x1ZyI6ImV4YW1wbGUtaW52ZXN0bWVudC1sZXR0ZXIifV19fX0sInNjaGVtYSI6eyIkc2NoZW1hIjoiaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQvMjAyMC0xMi9zY2hlbWEiLCJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJpbnB1dCI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJ0eXBlIjp7InR5cGUiOiJzdHJpbmciLCJjb25zdCI6Imh0dHAifSwibWV0aG9kIjp7InR5cGUiOiJzdHJpbmciLCJlbnVtIjpbIkdFVCJdfSwicXVlcnlQYXJhbXMiOnsidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsiZGF0ZSI6eyJ0eXBlIjoic3RyaW5nIiwicGF0dGVybiI6Il5cXGR7NH0tXFxkezJ9LVxcZHsyfSQiLCJkZXNjcmlwdGlvbiI6Ik9wdGlvbmFsIFVUQyBlZmZlY3RpdmUgY2FsZW5kYXIgZGF5IGluIFlZWVktTU0tREQgZm9ybS4ifSwibGltaXQiOnsidHlwZSI6ImludGVnZXIiLCJtaW5pbXVtIjoxLCJtYXhpbXVtIjo1MDAsImRlc2NyaXB0aW9uIjoiTWF4aW11bSBudW1iZXIgb2Ygc3RvY2stcGljayBjYWxscyByZXR1cm5lZC4ifX0sImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjpmYWxzZX19LCJyZXF1aXJlZCI6WyJ0eXBlIiwibWV0aG9kIl0sImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjpmYWxzZX0sIm91dHB1dCI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJ0eXBlIjp7InR5cGUiOiJzdHJpbmcifSwiZXhhbXBsZSI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJkYXRlVXNlZCI6eyJ0eXBlIjoic3RyaW5nIn0sInN0YXJ0RGF0ZSI6eyJ0eXBlIjoic3RyaW5nIn0sImVuZERhdGUiOnsidHlwZSI6InN0cmluZyJ9LCJhc09mIjp7InR5cGUiOiJzdHJpbmcifSwiY291bnQiOnsidHlwZSI6ImludGVnZXIifSwiaXRlbXMiOnsidHlwZSI6ImFycmF5In19LCJyZXF1aXJlZCI6WyJkYXRlVXNlZCIsInN0YXJ0RGF0ZSIsImVuZERhdGUiLCJhc09mIiwiY291bnQiLCJpdGVtcyJdfX0sInJlcXVpcmVkIjpbInR5cGUiXX19LCJyZXF1aXJlZCI6WyJpbnB1dCJdfX19fQ==",
  "server": "Vercel",
  "strict-transport-security": "max-age=63072000",
  "transfer-encoding": "chunked",
  "www-authenticate": "Payment id=\"EeeUuLWXg65jrwSefaq1EDXQoxBQb0yxWz0_dd0KHKw\", realm=\"dripstack.xyz\", method=\"tempo\", intent=\"charge\", request=\"eyJhbW91bnQiOiIxMDAwMDAiLCJjdXJyZW5jeSI6IjB4MjBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwYjk1MzdkMTFjNjBFOGI1MCIsIm1ldGhvZERldGFpbHMiOnsiY2hhaW5JZCI6NDIxN30sInJlY2lwaWVudCI6IjB4QkYyMmI2RGRCNUEwOGM4MjM4NTZBNzc5ZjEwMDRlRWE2MEM1YUI5MiJ9\", description=\"Stock picks for 2026-08-12\", expires=\"2026-08-12T21:35:02.732Z\", Payment id=\"r8-jSE3SPb5ak8Aw4TzpCvM9pIm-IuefI1MkOFQiTfw\", realm=\"dripstack.xyz\", method=\"stripe\", intent=\"charge\", request=\"eyJhbW91bnQiOiI1MCIsImN1cnJlbmN5IjoidXNkIiwibWV0aG9kRGV0YWlscyI6eyJuZXR3b3JrSWQiOiJwcm9maWxlXzYxVW16MUZVZlh4Q2hEQTVvQTZVbXoxRU03U1ExQWpKcE5ReGlTR1dXVVNlIiwicGF5bWVudE1ldGhvZFR5cGVzIjpbImNhcmQiLCJsaW5rIl19LCJyZWNpcGllbnQiOiJwcm9maWxlXzYxVW16MUZVZlh4Q2hEQTVvQTZVbXoxRU03U1ExQWpKcE5ReGlTR1dXVVNlIn0\", description=\"Stock picks for 2026-08-12\", expires=\"2026-08-12T21:35:02.734Z\"",
  "x-matched-path": "/api/v1/stock-picks",
  "x-vercel-cache": "MISS",
  "x-vercel-id": "iad1::iad1::8mqhh-1786570202599-b27fbc1136fc"
}

Response body

{
  "challengeId": "EeeUuLWXg65jrwSefaq1EDXQoxBQb0yxWz0_dd0KHKw",
  "detail": "Payment is required (Stock picks for 2026-08-12).",
  "hint": "Use a supported wallet to pay for this resource using one of the supported payment methods returned in the WWW-Authenticate header. See https://mpp.dev/tools/wallet.md",
  "status": 402,
  "title": "Payment Required",
  "type": "https://paymentauth.org/problems/payment-required"
}

Request headers

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

Machine contract

Schemas.

InputJSON
{
  "method": "GET",
  "queryParams": {
    "limit": 200
  },
  "type": "http"
}
OutputJSON
{
  "example": {
    "asOf": "2026-06-02T18:30:00.000Z",
    "count": 1,
    "dateUsed": "2026-05-30",
    "endDate": "2026-05-30",
    "items": [
      {
        "action": "NEW_POSITION",
        "activePick": true,
        "articleTitle": "Example investment letter",
        "articleUrl": "https://example.substack.com/p/example-investment-letter",
        "author": "Author display name",
        "authorConviction": 4,
        "callId": "example-call-id",
        "convictionLabel": "High",
        "direction": "LONG",
        "evidenceQuote": "Short source quote supporting the pick.",
        "id": "clxexamplestockpick0001",
        "instrumentType": "EQUITY",
        "postSlug": "example-investment-letter",
        "publicationSlug": "example.substack.com",
        "publishedAt": "2026-05-30T12:00:00.000Z",
        "rationaleSnippet": "Concise rationale for the extracted call.",
        "ticker": "ACME",
        "tickerExchange": "NASDAQ"
      }
    ],
    "startDate": "2026-05-30"
  },
  "type": "json"
}