Daily Bitcoin and Ethereum ETF flow thread on X

Every weekday after the US close, an agent posts a 3 to 4 tweet thread on X with spot Bitcoin and Ethereum ETF net flows, per-ticker winners and losers, and a one-line market mood read.

Agentic Task
CoinGlassX (Twitter)MarketingFinanceDaily DigestsContent GenerationAI Reports

Build me an agent workflow that posts a daily spot crypto ETF flows recap as a thread to my X (Twitter) account.

Trigger: cron, every weekday at 5:30pm America/New_York. That timing is after the US market close and after spot ETF issuers (BlackRock, Fidelity, etc.) publish their flow numbers via CoinGlass.

Data to pull from CoinGlass for the most recent US trading day:

1. Get Bitcoin ETF Flows History — most recent trading day, plus the prior day so the agent can compute day-over-day direction. I want the per-ticker breakdown (IBIT, FBTC, ARKB, BITB, GBTC, HODL, BTCO, EZBC, BRRR, BTCW, etc.) and the aggregate net flow in USD.

2. Get Ethereum ETF Flows History — same shape, most recent trading day plus the prior day, with per-ticker breakdown (ETHA, FETH, ETHE, ETHW, CETH, ETH, QETH, EZET, ETHV, etc.) and aggregate net flow in USD.

3. Get Fear and Greed Index History — latest reading and the prior day's reading for the market mood line.

4. Get Bitcoin Dominance — latest value as a percentage for the market mood line.

Holiday and weekend guard: if both the Bitcoin and Ethereum ETF Flows History responses show zero net flows for the target day (markets closed, no issuer report), skip the run silently. Do not post a "no data today" tweet.

Output: draft a 3 to 4 tweet thread, then publish it using the X (Twitter) Create Tweet operation. Each tweet must be under 270 characters so it never gets truncated. No em dashes anywhere — use periods or commas. Round all flow numbers to the nearest $0.1M.

Thread structure:

Tweet 1 (headline): spot BTC ETFs net inflow or outflow in USD with day-over-day direction (e.g. "+$245.3M, vs +$112.0M yesterday"), then spot ETH ETFs net inflow or outflow in USD with day-over-day direction. Mention the date. Optional cashtags $BTC $ETH at the end if there's room.

Tweet 2 (BTC breakdown): top BTC ETF inflows by ticker with dollar amounts, then biggest outflows by ticker. Keep it scannable, ticker first then number.

Tweet 3 (ETH breakdown): same shape as tweet 2 but for spot ETH ETFs.

Tweet 4 (optional context, only post if there's a meaningful reading): Crypto Fear and Greed Index value and label (e.g. "Greed (68)") with delta vs yesterday, plus BTC dominance percentage. Keep it to one short line.

Threading mechanics: post tweet 1 first via Create Tweet, capture the returned tweet id, then for each subsequent tweet call Create Tweet again with reply.in_reply_to_tweet_id set to the previous tweet's id so the whole sequence renders as a proper thread under my account.

Voice: terse crypto-Twitter recap, like a HODL15Capital or James Seyffart daily post. No hype, no emojis, no em dashes, just clean numbers and direction. The point is signal, not personality.

Additional information

What does this prompt do?
  • Posts a clean 3 to 4 tweet thread to your X account every weekday at 5:30pm ET, after spot ETF issuers have reported the day's numbers.
  • Leads with the headline net inflow or outflow across spot Bitcoin and Ethereum ETFs in dollars, with the day-over-day direction.
  • Breaks down the winners and losers by ticker (IBIT, FBTC, ARKB, BITB on the BTC side, plus the spot ETH funds) in plain-English language.
  • Closes with an optional one-line market mood read using the crypto Fear and Greed Index and Bitcoin dominance.
  • Skips the post silently on weekends and US market holidays when both Bitcoin and Ethereum ETFs report zero flows, so your feed stays clean.
What do I need to use this?
  • A CoinGlass account with an API key (CoinGlass requires a paid plan starting at $29/month).
  • An X (Twitter) account you'd like to post from, connected with permission to publish on your behalf.
  • A few minutes to pick the time of day and the voice you want the recap written in.
How can I customize it?
  • Move the post time earlier or later if your audience reads on a different schedule, or run it twice a day for an early summary and a final close.
  • Tighten or relax the editorial voice (just the numbers, a touch of commentary, or full crypto-Twitter snark) and adjust the character budget per tweet.
  • Add or remove the optional market mood tweet, swap in extra context like the Altcoin Season Index or stablecoin market cap, or add a recurring hashtag and cashtag set.

Frequently asked questions

Do I need a paid CoinGlass plan?
Yes. ETF flow data is part of the standard CoinGlass API and requires a paid subscription, which starts at $29/month. The free tier does not include the ETF endpoints used here.
Will the replies actually render as a real thread on X?
Yes. The agent grabs the ID of the first tweet after it posts, then replies to that ID with tweet two, replies to tweet two with tweet three, and so on, so the whole sequence shows up as a proper thread under the headline post.
What happens on weekends and US market holidays?
Spot ETFs only trade on US market days, so the agent checks the data first. If both the Bitcoin and Ethereum responses show zero flows for the day, it skips the post silently. No empty threads, no "no data today" tweets.
Can I change the time, the account, or which ETFs are covered?
Yes. You can move the post time, point it at a different X account, focus only on spot Bitcoin, add spot Ethereum tickers, or expand coverage as new spot ETF products launch. All of that is editable from the workflow settings.
How does the agent decide which tickers are winners and losers?
It sorts each fund family by yesterday's net flow in dollars, calls out the top inflows and the biggest outflows, and rounds figures to the nearest $0.1M so the numbers stay readable inside the tweet character limit.

Stop hand-typing your daily ETF flows thread.

Connect CoinGlass and X once, and Geni publishes the spot Bitcoin and Ethereum ETF flow recap every weekday after the close.