Bot conversor Jogo Barato
Use the Telegram bot to forward an offer and convert it
AI summary · website content
View and bid on Phunks across collections and see treasury proposals
Translation pending
AI summary · website content
CommerceJavaScript · CSSGitHub @rdupoOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Next.js 16 (Pages Router, Turbopack) · React 19 · ethers v6. Requires Node 20.9+ (22 LTS recommended).
npm run dev / npm run build / npm startnpm run lint runs ESLint directly (next build no longer lints)The site no longer scans the blockchain from the browser. A small indexer stores just the
events we care about (NFT transfers + marketplace listings/bids/sales for the four collections)
in Postgres, and pages read them through /api/* routes.
Alchemy webhook (new blocks, ~seconds) ─┐
Catch-up sync (on page views / daily cron) ─┼─> lib/indexer -> Postgres `events` table -> /api/* -> pages
One-time backfill (Etherscan) ─┘
lib/indexer/collections.js – which contracts and events are indexedlib/indexer/sync.js – incremental sync and backfilllib/queries.js – SQL behind each API routepages/api/collections/[collection]/{listings,sales} and .../tokens/[id]/historypages/api/wallets/[address]/{history,nfts}hooks/use*.js – React hooks the pages use to call the APICollection slugs: philip-intern-project, cryptophunks, wrapped-v1-phunks, v3-phunks.
DATABASE_URL..env.example to .env.local and fill in DATABASE_URL,
ALCHEMY_API_KEY, ETHERSCAN_API_KEY, CRON_SECRET. Add the same vars in Vercel.npm run db:setupnpm run backfill (re-runnable; npm run backfill -- --from <block> to resume)npm run dev. Page views trigger a catch-up sync at most once a minute.
npm run sync runs one manually.https://<your-domain>/api/indexer/webhook. Paste the query printed by
npm run webhook:query. Put the webhook's signing key in ALCHEMY_WEBHOOK_SIGNING_KEY on Vercel.Adding a contract or event: update lib/indexer/collections.js, then re-run the backfill
with --from set to the contract's deploy block, and re-create the webhook query.