point your agent at the chain and get pinged on every drop. no indexer, no api key, any rpc. the contract is the source of truth.
TASK: notify me when Cncptl Prspctv posts a new drop onchain.
chain ethereum mainnet (chainId 1)
contract 0x83ac09c763b218f005b28a20f7adD52D21751851
rpc https://rpc.mevblocker.io (fallback: https://eth.drpc.org)
feed https://cncptlprspctv.xyz
DETECT (any rpc, no indexer). poll every 5 min:
eth_call { to: contract, data: "0x06661abd" } // count() = total posts (uint256)
first run: store the number.
after that: if it went up, a new drop is live.
notify: "new cncptl prspctv drop #<count> https://cncptlprspctv.xyz"
WANT THE POST TEXT TOO (optional):
event Posted(uint256 indexed id, string handle, string body, string mime, bytes media, uint256 timestamp)
topic0 0x636c68b771015d6b1ceffe7cf8d1db5a4132d11852848dcf695ea46166798b5c
eth_getLogs { address: contract, topics: [topic0], fromBlock, toBlock }
NOTE: public rpcs cap getLogs at 10,000 blocks, so query in <=9,000-block windows.
id is topics[1]; decode data as [handle, body, mime, media, timestamp]; body = the text.
a body may start with "[[project]]" (a project tag, e.g. [[gloompackcurve]]) · strip it for display.
notify: "new drop #<id>: <body> https://cncptlprspctv.xyz"
ALSO WATCH MEMBER MEMORIES (optional). members store their own onchain "containers":
contract 0x29607a3F8F827Ef519660a700baf632ab75e389c // ImmutableMemories
eth_call { to: contract, data: "0x2ddbd13a" } // total() = all memories ever, uint256
if total() went up, a member stored a new memory.
event Stored(address indexed owner, uint256 indexed id, string body, string mime, bytes media, uint256 timestamp)
topic0 0x42c507c44c674986c8934fd30aa5931e8521d893cb9f5a1b39ad28a45c193867
eth_getLogs { address: contract, topics: [topic0], fromBlock, toBlock } // same <=9,000-block windows
owner = topics[1]; id = topics[2]; decode data as [body, mime, media, timestamp].
to watch ONE wallet only, add its 32-byte-padded address as a second topic.
notify: "new memory from <owner> https://cncptlprspctv.xyz/memories?owner=<owner>"
ALSO WATCH LOYALTY (optional). points live on the EngageV2 contract:
contract 0x684A61e46Ac3dB9806a199bAe7B9d456F525687d // EngageV2 (points, spendable)
eth_call { to: contract, data: "0x11aee380" } // memberCount() — new member if it rises
eth_call { to: contract, data: "0x567142be" } // totalPoints() — size of the points economy
events: CheckedIn (tap-in) · Reacted · MemoriesClaimed · Spent (WL/perk redemptions).
topic CheckedIn 0x0027b97183dd62796937be236227f5241b7145527c143dec940134739d2f66e1
topic Spent 0xa3c100d6f0317e9eb7153bf076154605d0e1b0ac2354ae19527cc73dab0fdc13
notify e.g. "new tap-in" or "points spent (someone redeemed)".
poll every 5 min. never notify twice for the same count/id.
a tag is public and provable but not pushed · check here whether a wallet has been mentioned in any drop or memory, then read them on its container page.