zaalcaster guide

The daily loop first - follow the numbers, ~15 minutes. Everything else is reference, folded below. Updated 2026-07-16.

The daily loop

  1. Open Daily and say GM. 1 - post a GM cast. The checklist ticks itself once the app sees it went out.
  2. Clear your ZOE tasks. Same screen, ZOE card - soonest due first. Do the quick ones now, tap done as you go. The shared board updates instantly.
  3. Get to inbox zero. 3 - tap draft all, then walk the list: send the good drafts, edit the close ones, skip the rest. Every send is a confirm - nothing fires on its own.
  4. Skim your channels. 4 - /zao, /wavewarz, /zabal. Reply or boost one good cast per channel.
  5. Engage 3 new people. 7 - Grow's "people to engage next" list, or just work the feed (2). First touches compound.
  6. Post the day's cast. 6 - one real post. Got a second idea? Schedule it for later instead of stacking them.
  7. Reply to your top fans. Still on Grow - the "top fans" list is who engages you most. A reply to them is worth ten cold casts.
  8. Log decisions as they happen. Made a call today? Type it into the ZOE card's decision box. It lands in the tracker and the knowledge graph - future you can find it with Ask ZAO (cmd+K).

Weekly, not daily

  1. Check your empire. 8 - leaderboard moving? Boosters still right? Paste any distribution tx to see who got paid.
  2. Check the bounty board. 9 - open POIDH rounds, new claims worth judging or boosting.
  3. Glance at the coin. Grow tab shows your Zora coin's market cap + 24h move. A glance, not a habit.

Reference

Getting in - owner vs guest

The app is gated by Sign In With Farcaster. The owner (the configured fid) gets everything. Everyone else gets a read-only view: Feed, Channels, Search, POIDH. No write action exists in the guest surface - the server enforces it, not just the UI. Nothing a guest does can post, like, or spend on the owner's behalf.

Tabs + keys
KeyTabWhat
1Dailychecklist, ZOE card, launcher, scheduled posts
2Feedfollowing / for-you / trending / lists
3Inboxunanswered replies + mentions, AI drafts
4Chanhome channels + any channel
5Searchpeople + casts
6Postcompose, quote, schedule, cross-post
7Growfollowers, top fans, top casts, Zora coin
8EmpireEmpire Builder: empire, leaderboards, boosters
9POIDHbounty reader

cmd+K anywhere: jump to a tab, open a profile with @name, search, or Ask ZAO.

ZOE - what the card actually does

ZOE is the ZAO's assistant agent. It lives on Telegram, but zaalcaster plugs into the same two surfaces it works from:

  • Tasks - the ZOE card on Daily reads the shared team tracker. Tapping done completes the task on the real board - no Telegram round trip.
  • Decisions - the decision box writes a permanent record to the tracker; ZOE mirrors it into the knowledge graph.
  • Ask ZAO - cmd+K, type a topic, pick Ask ZAO. Searches months of meetings and decisions: "what did we decide about the Empire API?" gets a real answer.
Posting - previews, scheduling, cross-post
  • Everything previews before sending; the confirm tap is the send. The app never posts on its own.
  • Schedule: pick a datetime, queue it - a cron sends it even with the app closed. Queued posts show on Daily.
  • Cross-post: mirror the same cast to X and Bluesky in one action.
Empire - the tokenless-first playbook

Empire Builder (empirebuilder.world) wraps a community in leaderboards, boosters, and a treasury - with or without a token. The playbook: don't launch a token first. Stand up a tokenless empire, build real energy on a leaderboard, tokenize later when there's something for the token to amplify.

On the tab: your empire card (leaderboards, boosters, rewards, your rank), view-leaderboard (top 25 with Farcaster names), a paste-a-tx-hash lookup showing exactly who a distribution paid, the ecosystem's top empires, and a capabilities catalog marking what's live vs documented.

Create a tokenless empire (step by step)

Needs: a wallet (MetaMask, Coinbase Wallet, or a Farcaster client's built-in one) and a minute. No token, no funds move.

  1. Empire tab -> + create a tokenless empire.
  2. Name it (bio + logo optional).
  3. Connect wallet - this wallet becomes the empire's owner, use the one you mean to keep.
  4. Sign & deploy - your wallet shows the exact sentence you're signing, nothing hidden. The app never holds a key; your signature is the only thing that can deploy.
  5. Copy the empire id it returns, put the owner wallet into config.js (empireOwnerWallet) - the tab shows your card from then on.

No "attach to my Farcaster profile" option on purpose: a profile-attached empire is permanent - that profile can never create another. Create standalone.

Add a booster (step by step)

A booster multiplies leaderboard points for people who hold something - reward your actual community.

  1. Empire tab -> + add booster on your card.
  2. Type: ERC20 (hold a token), NFT (hold from a collection), or reputation (QUOTIENT score).
  3. Paste the contract address (skipped for reputation).
  4. Multiplier 1.1 - 5.0.
  5. Minimum to qualify in normal amounts - e.g. 1000000 for a 1M floor. Decimals stay 18 unless the token is unusual; the math is exact.
  6. Name + symbol (display only), connect wallet, sign. Live within a minute.
POIDH - bounties

POIDH ("pics or it didn't happen", poidh.xyz): fund a pot, people submit proof, the pot pays. The tab reads any bounty live - round chips for the BCZ rounds, or paste any bounty id for the pot, status, and every claim with images. Claiming itself happens on poidh.xyz (it's an on-chain action from your wallet).

Setup - what unlocks what
FeatureNeeds
Reading FarcasterNEYNAR_API_KEY + your fid
Postinga Neynar managed signer (npm run mint-signer)
Sign-in gateSESSION_SECRET + NEYNAR_CLIENT_ID - both or neither; half-set fails closed on purpose
AI drafts + digestOPENROUTER_API_KEY
Sync + scheduled postsVercel KV + CRON_SECRET
Create empire / boostersEMPIRE_BUILDER_API_KEY + your wallet in the browser
Empire cardempireOwnerWallet in config.js
Zora coin cardzoraCoinAddress in config.js - no key
ZOE card + Ask ZAOZAO_TRACKER_URL, ZAO_TRACKER_KEY, BONFIRE_API_KEY, BONFIRE_ID
POIDH, top empiresnothing - public APIs
Fork it

zaalcaster is one person's client, built to be forked. Name yours <your-farcaster-username>caster. Identity, channels, brands, voice, and every integration knob live in config.js + env vars - the README walks the whole thing.