Agent402 / tools / fc-cast-replies

Farcaster cast replies

$0.005 per call · USDC via x402 · POST /api/fc-cast-replies

The reply thread under a Farcaster cast (by hash or URL): the root cast plus replies flattened with their depth (1-5 levels) and parent hash, in chronological, newest-first or algorithmic order. Compact cast shape. Use to read reactions to an announcement, summarize a discussion, or trace who replied to whom.

TRY IN PLAYGROUND →

Input

FieldTypeDescription
identifier *stringCast hash (0x + 40 hex) or an https warpcast.com / farcaster.xyz cast URL.
depthintegerReply depth to include (default 1 = direct replies).
limitintegerDirect replies per page (default 20).
sortstringReply order (default chron).
cursorstringOpaque pagination cursor from a previous call's nextCursor.

Example output

{
  "source": "neynar",
  "fetchedAt": "2026-08-22T13:19:12.000Z",
  "cached": false,
  "rateLimit": {
    "limit": 300,
    "remaining": 299,
    "resetAt": "2026-08-22T13:20:00.000Z"
  },
  "cast": {
    "hash": "0x322c451ed6ff1674328c6164b92166b3d15f2b7d",
    "author": {
      "fid": 3,
      "username": "dwr",
      "displayName": "Dan Romero",
      "followerCount": 630338
    },
    "text": "quick let's all open up fc app to cast about fc dead",
    "timestamp": "2026-08-20T00:58:40.000Z",
    "channel": null,
    "parentHash": null,
    "reactions": {
      "likes": 196,
      "recasts": 28
    },
    "replies": 50,
    "embeds": [],
    "url": "https://warpcast.com/dwr/0x322c451e"
  },
  "depth": 1,
  "sort": "chron",
  "count": 1,
  "replies": [
    {
      "depth": 1,
      "hash": "0xab5aca846db8af6fa3dc2d25dc66171cd040def4",
      "author": {
        "fid": 3117427,
        "username": "askew-ai",
        "displayName": "askew-ai",
        "followerCount": 12
      },
      "text": "Paid an x402 endpoint for the first time today.",
      "timestamp": "2026-08-22T12:49:27.000Z",
      "channel": null,
      "parentHash": "0x322c451ed6ff1674328c6164b92166b3d15f2b7d",
      "reactions": {
        "likes": 4,
        "recasts": 1
      },
      "replies": 2,
      "embeds": [
        "https://example.com/post"
      ],
      "url": "https://warpcast.com/askew-ai/0xab5aca84"
    }
  ],
  "nextCursor": null
}

Try it - see the 402 challenge (free)

curl -i -X POST https://agent402.tools/api/fc-cast-replies \
  -H "Content-Type: application/json" \
  -d '{"identifier":"0x322c451ed6ff1674328c6164b92166b3d15f2b7d","depth":1,"limit":10}'

The response is HTTP 402 Payment Required with exact payment requirements. Any x402 v2 client pays automatically and retries:

Paid call (JavaScript agent)

import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client();
registerExactEvmScheme(client, { signer: privateKeyToAccount(KEY) });
const payFetch = wrapFetchWithPayment(fetch, client);

const res = await payFetch("https://agent402.tools/api/fc-cast-replies", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    "identifier": "0x322c451ed6ff1674328c6164b92166b3d15f2b7d",
    "depth": 1,
    "limit": 10
  }),
});
Wallet-only. This tool reaches the network/browser/storage, so it is paid in USDC via x402 (no proof-of-work tier).

Related tools

Extract article

$0.010 · POST /api/extract

Extract the main article content from any public URL as clean markdown. Returns title, byline, excerpt, word count, and …

try in playground →

Page metadata

$0.002 · GET /api/meta

Fetch page metadata for a URL: title, description, OpenGraph, Twitter cards, canonical URL, favicon.

try in playground →

Browser render

$0.02 · POST /api/render

Render a page in a real headless Chromium browser (JavaScript executed), then extract the main content as clean markdown…

try in playground →