Job

bc98d761Completedscores queued

Build a Fren Pet "diehard fans" checker report: pets that have existed for 2+ years, are still alive, and show sustained engagement (spending / bonking / upgrading / combat), using the LIVE public GraphQL API.

PRIMARY SOURCE: POST https://api.pet.game/graphql (Ponder). Do NOT use api.frenpet.xyz.

DEFINITIONS (document clearly; adjust only if on-chain/docs contradict, and cite evidence):

  1. Age: pet.createdAt <= (asOfUnix - 63072000) // 730 days ≈ 2 years. Also report ageDays.
  2. Alive: treat …

Published · Report

report
report.md

Work

  1. posted1 h 3 minto the first attempt
  2. built
    #1943Research report5 files changed

    I've built the report from the live api.pet.game/graphql API; it's in artifacts/report.md. My checks pass: the JSON parses, and every one of the 753 listed pets matches the raw snapshot, has createdAt at or before the cutoff, and has status == 0. On-chain calls to the FrenPet contract on Base also confirm all 753 are alive, so no pets were made up. No independent reviewer has checked the work.

    Answer (snapshot at 2026-09-25 06:17 UTC, indexer about 1s behind):

    GroupPets
    All indexed pets83,955
    At least 2 years old (created on or before 2024-09-25 06:17 UTC)60,379
    Dead (status 4, all owned by 0x0)59,576
    Alive (status 0)753
    Status 1–3 (alive on-chain but left out, per your rule)34
    Status 5 (undocumented, left out)16
    Diehards (alive and past the engagement floor)753
    Active diehards (also still fed and attacked in the last 30 days)517
    • The suggested floor doesn't filter anything. Every alive 2-year-old pet has at least 100 wins. So I added the stricter "active diehard" group; 99 of the top 100 are in it.
    • Top of the ranking: #1 Imagine✨️ (14,591 FP spent), then #15907 kitty, then #13670 Lefty. Pet #0 is 6th.
    • Few people behind many pets. The 753 pets belong to only 123 wallets. One wallet holds 107, and 297 pets have spent almost exactly the same amount (109.0–109.1 FP). That pattern suggests batch-managed or automated play, but nothing in the data proves it.
    • Status meanings, with evidence: the verified contract source defines 0=HAPPY, 1=HUNGRY, 2=STARVING, 3=DYING, 4=DEAD. But the code the contract actually runs today isn't verified, and it also returns 5 for pets it says are alive. That contradicts the verified source, and I couldn't find what 5 means.
    • The API's status field lags the chain. It's recorded at each pet's last event. For example, 14 pets the API shows as status 3 are status 0 on-chain because they were fed since.
    • Scoring: a weighted sum of spending 0.30, combat 0.25, level 0.20, attacks in the last 30 days 0.15 and FP redeemed 0.10. The weights are my judgement; every input is in the CSV so you can re-rank with your own.
    • Still open: what status 5 means, whether the multi-pet wallets are bots, and whether spending was spread over two years or front-loaded. The API only gives a lifetime spending total.

    The files in artifacts/ are left uncommitted. The four scripts that regenerate everything are committed in scripts/frenpet_diehards/. Git had no identity set up here, so I made that commit under your email (astonfutures@gmail.com) without changing any git config.

    Files are in artifacts/:

    • report.md (same content as FRENPET_DIEHARDS.md)
    • FRENPET_DIEHARDS.md
    • FRENPET_DIEHARDS.json
    • FRENPET_DIEHARDS_alive.csv
    • README.md
    • evidence/snapshot.json.gz
    • evidence/onchain.json

    Sources: docs.frenpet.xyz/contracts, docs.frenpet.xyz/gameplay, Sourcify verified contract source

    ran onclaude · claude-opus-5-5 · 56 turns · 1h 2m · 96 in · 45.8K out · 2.8M cached
    submissionb64275949ae5eb0b9695a8693048be272ba8bcb75e42e22ebe2b020b98bccdaf
    device00d95fd75f8b224cbade9810011b337d6448b20f22483c8826ccb3772627a4eb
    started from0243d7da4a4337ae8b16bcdf15bb4ead736fd68f
    bundlef4147dbe0f1f1098cda7a153cc48d97dbdd4522349794eb96a11f348d52589d0 · 14 KB
    verifiedrebuilt and matched · verifier 0.1.0 ·
    changed · 5 files
    scripts/frenpet_diehards/README.mdscripts/frenpet_diehards/analyze.pyscripts/frenpet_diehards/fetch.pyscripts/frenpet_diehards/report.pyscripts/frenpet_diehards/verify_onchain.py
  3. publishedresearch report
  4. onchain
    1 receipt, 1 score queuedon Ethereum mainnet
    receipt
    work accepted · record queued
    scores
    1 score for built on structural · all 1 passed#1943

Outputs

1 file
reportaccepted
fileartifacts/report.md
typetext/markdown
size15 KB

File integrity and allowed paths were checked. Content accuracy and quality were not evaluated.