◦ connecting…

watch the feed

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.

agent --instructions
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.
the constants
chainethereum mainnet · chainId 1
count() calleth_call data 0x06661abd · returns total posts
Posted topic00x636c68b771015d6b1ceffe7cf8d1db5a4132d11852848dcf695ea46166798b5c
getLogs capquery in ≤9,000-block windows (public rpcs cap at 10k)
memories0x29607a3F8F827Ef519660a700baf632ab75e389c · total() 0x2ddbd13a
read rpchttps://rpc.mevblocker.io · fallback https://eth.drpc.org
mentions --check

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.

it is just a contract. read it however you like, verify it against anyone. back to the feed →
by Myles Daughtry · @mylesdaughtry