Skip to content

Releases: LW-ARTS/claimscan

V3.6 - In-App Claim on Every Solana Launchpad (6 of 6)

10 May 22:11

Choose a tag to compare

V3.6: In-app claim is live on every Solana launchpad

This is the biggest update to ClaimScan since V2.0.

Before V3.6, only one Solana launchpad supported in-app claim. After V3.6, all six do. Connect your wallet once. Claim from Pump.fun, Bags.fm, Believe, Coinbarrel, Raydium LaunchLab, and RevShare in the same place.

No more visiting six different dApps. No more leaving ClaimScan to collect what you earned.

What's new

6 Solana launchpads now claimable in-app

Launchpad What V3.6 ships
Pump.fun + PumpSwap Dual-builder dispatch: one route handles both the bonding curve and the AMM creator-fee withdraws. Both synthetic mint rows clear in a single batch.
Bags.fm Unchanged from V1.5 (still the canonical reference flow). Now part of a unified Claim All experience alongside the five new launchpads.
Believe (Meteora DBC) Atomic dual-claim per pool: one signed transaction sweeps both the quote token (SOL, auto-unwrapped from WSOL) and the base token.
Coinbarrel Atomic dual-claim per pool with auto WSOL unwrap and dual-key fee math. Both display rows (SOL synthetic and token-A) clear after one signature.
Raydium LaunchLab Clean-room hand-rolled claim_creator_fee instruction built from the public Anchor IDL, with a vault balance pre-flight gate that returns 403 before charging gas or burning a claim attempt slot if the vault is below rent-exempt minimum. Hidden when the Fee Key NFT is no longer held.
RevShare (SPL Token-2022) Per-mint WithdrawWithheldTokensFromMint with idempotent ATA creation. Re-verifies the withhold authority at transaction build time. Batch cap raised to 25 mints per claim because RevShare creators commonly hold 20+ mints under a single authority.

How it feels for the creator

Open the platform tab on your profile, click Claim All, sign once per batch in your wallet, and the SOL lands. Two seconds of work for a year of accumulated fees.

Pre-flight gates catch the dead-end cases (empty vault, wrong authority, ATA missing) before your wallet ever sees the transaction. No wasted gas. No mystery failures.

How to claim

  1. Go to claimscan.tech
  2. Paste your wallet address, Twitter handle, or ENS name
  3. Open the tab for the launchpad you want to claim from
  4. Click Claim All
  5. Review the cost preview (network fees + ATA rent for new accounts + service fee breakdown)
  6. Sign in your wallet (Phantom, Backpack, Solflare, Ledger, anything Wallet Standard compatible)
  7. The fees land directly in your wallet

Service fee is a flat 0.85% deducted on-chain from the claimed amount. No subscription, no monthly cost, no hidden math.

Architecture highlights

  • Zero-custody by design. ClaimScan generates the unsigned transaction server-side. Your wallet signs locally. The broadcast goes directly to the Solana network. ClaimScan never sees your private key.
  • One canonical security flow, six platform implementations. Every claim route mirrors the same 13 security gates (Content-Type validation, HMAC fail-fast, wallet validation, mint array bounds, Cloudflare Turnstile, wallet proof, stale-claim cleanup, rate limit, atomic insert, batched transaction wrap, per-mint fee math, dual confirmation tokens, error-shape parity).
  • Clean-room instruction builds where there is no public SDK. Raydium LaunchLab and Pump.fun + PumpSwap have no GPL-friendly SDK. Their claim instructions are reconstructed from the public on-chain Anchor IDL with locked discriminators and audited account signer flags.
  • Atomic dual-claim where the AMM splits fees across two tokens. Believe and Coinbarrel both emit two rows per pool (quote + base). One signed transaction clears both rows via a single SDK or program call.
  • Pre-flight gates on every risky route. Raydium checks the creator vault balance before insert. RevShare re-reads the withhold authority byte offset at transaction build time. The cost preview endpoint reads the same RPC state the POST route uses, so the price you see is the price you sign.
  • Per-platform batch caps. RevShare allows 25 mints per batch (token-2022 creators run deep). Everything else caps at 10 to keep transactions under the 1232-byte Solana limit.
  • Per-mint Sentry breadcrumbs. Every claim emits claim.initiated, claim.success, or claim.failure with the platform and mint metadata so success rate, failure taxonomy, and unharvested-remainder telemetry are all observable end-to-end.

What was tested

  • Unit tests across all six builders
  • Component tests for every platform tab (gate composition, CTA gating, dual-seed overlay behavior)
  • Integration tests against real fixture wallets (env-gated, opt-in)
  • Compile-fence tests ensuring every Platform enum entry has an explicit capability flag
  • Cross-phase route diff artifacts confirming all six routes preserve the canonical 13-gate flow

What's next

V4 is in-app EVM claims: Clanker, Zora, Bankr, Flaunch, Flap, and Klik unified behind a single wallet adapter that handles Solana and EVM signing in one modal. RevShare token-account-level fee harvesting (for the long-tail of unharvested balances stuck in individual token accounts) ships alongside.

Try it

Live at claimscan.tech. Free to scan. 0.85% on claim. Zero accounts.

Recognition


Built by LW ARTS. Fullstack Web3 studio. 408+ projects, $1.6B+ in market cap generated.

Follow @lwartss or join t.me/lwarts.

V3.0 - Printr Integration + 7-Chain Coverage (13 Launchpads)

06 May 21:05

Choose a tag to compare

V3.0 brings Printr to ClaimScan as the 13th tracked launchpad, expands multi-chain coverage to 7 chains via a single adapter, and ships a structured quality pass across the entire profile loading path.

Printr is the first launchpad on ClaimScan that spans Solana plus six EVM chains (Ethereum, Base, BNB Chain, Arbitrum, Avalanche, Mantle) with a unified per-chain tab system. The integration ships display-only with on-chain bonding curve graduation, fee sink classification, and verified creator attribution. No breaking changes, no migration steps for users. Live at claimscan.tech.


Printr Integration ✦ New

Printr is the 13th launchpad ClaimScan tracks and the first to span seven chains in a single adapter. Any creator who has launched a token on Printr now appears in profile lookups and the leaderboard with a full per-chain breakdown.

  • Paste any Printr creator wallet and ClaimScan resolves every token they have launched across all seven chains in a single query, no per-chain RPC fanout on profile load
  • Verified creator attribution: the Printr factory deploys a vanity router contract per token, so the user's actual wallet sits in the transaction sender rather than the standard event topic. The indexer fetches that explicitly, so a wallet search returns the creators who launched the tokens rather than the router contracts they used
  • On-chain ticker resolution: token symbols are read live from the bonding curve contract on each chain, since the deployed ERC-20 lives at a CREATE2 placeholder with empty bytecode before graduation. This restores real symbols ($BELIEF, BRRR, and others) for tokens that previously fell back to a 4-character hex tag
  • Display-only at launch: in-app claims for Printr depend on a finalized fee event schema from the Printr team (see "Live Fees Pending" below)

Per-Chain Tab Routing ✦ New

The platform breakdown now opens up to seven separate Printr (Chain) tabs, one per supported chain, sorted by token count.

  • Per-chain isolation: each tab filters down to tokens launched on that specific chain (Ethereum, Solana, Base, BNB Chain, Arbitrum, Avalanche, Mantle)
  • Empty tabs hidden by default: a creator who only launched on Ethereum sees only the Ethereum tab, not seven empty siblings
  • Sort order: tabs are sorted by token count descending, alphabetical tie-break on chain label
  • Implementation note: per-chain routing uses the CAIP-2 chain identifier on each row rather than extending the global chain enum, so the existing four-chain types stay untouched while the full Printr footprint surfaces per chain

Bonding Curve Graduation Bar ✦ New

Every Printr row carries a lifecycle indicator so creators see at a glance where each token sits in its progression.

  • Three lifecycle states: Bonding Curve, LP, Graduated
  • Live progress bar for pre-graduation rows, reading the completion percentage directly from on-chain state
  • Distinct badge for graduated tokens, including the link to the canonical Printr token page

Fee Sink Badges ✦ New

Printr supports four distinct fee routing models, and ClaimScan now surfaces which one applies to each token without the creator needing to inspect the contract.

  • Four classified sink types: dev wallet, stake pool, buyback, liquidity pool
  • Badge variant adapts per sink, so a glance is enough to know the payout structure for any given token

Quality Pass and Hardening ✦ Stability

V3.0 lands a structured sweep across the profile-load path, the indexer wallclock budget, and the external link layer.

  • Profile-load column drift fixed: three explicit SELECT lists in the profile data path were missing seven columns added by recent migrations. Every fee row was arriving at the client with those fields undefined, which collapsed the Printr tablist for any wallet with Printr fees and silently downgraded vault badges, cashback indicators, and fee-locked icons across other launchpads. The fix re-lights all of these in a single change
  • Indexer block-range chunking: the EVM scan window now splits internally into 10K-block chunks, so chains lagged behind the cron schedule catch up multiple windows per run within the wallclock budget. This unblocked the indexer for chains that started from deploy block with a multi-window backlog
  • External link integrity: the View on printr.money link now resolves to the canonical token page for every row, falling back to the on-chain token address when external metadata is unavailable. The previous version was constructing a URL from the token symbol, which returned 404 for symbols like DOG that pass the alphanumeric guard but are not valid token identifiers on the Printr site

Live Fees Pending ✦ External Dependency

ClaimScan tracks unclaimed creator fees by reading on-chain events emitted at every fee accrual and claim. For Printr, the relevant event was located and inspected in development, but the event payload returns variable-shape data with multiple distinct byte layouts depending on token type and graduation status. Decoding without a verified ABI from the Printr engineering team risks misattributing fee amounts at the cent level, which is the difference between a creator seeing the right number and the wrong number in their unclaimed pile.

Rather than ship a decoder built on guesses, ClaimScan is pausing the live-fees portion of the Printr integration until the official event schema lands. The integration is otherwise feature-complete: token discovery, creator attribution, ticker resolution, vault classification, graduation tracking, and per-chain tab routing all ship in V3.0.

Outreach to the Printr team is open. Once the event schema is published or shared directly, the live fee amount drops into the existing rows as an additive update with no breaking change to URLs, table layout, or any existing column.

What's next

  • Live fee amounts for Printr, gated on the event schema from the Printr engineering team
  • In-app EVM claims via a unified wallet adapter (Solana plus EVM in one modal). Required for every display-only platform to graduate to a full claim flow
  • Per-coin claimed attribution for Flaunch, retiring the legacy aggregate row in favor of per-pool unclaimed breakdowns
  • Universal fee-event indexer pattern built from the Printr discovery learnings, so the next launchpad with non-standard event encoding has a turnkey path to ship

V2.9 - Klik Integration + Identity Resolution (12 Launchpads)

02 May 21:25

Choose a tag to compare

V2.9 brings Klik to ClaimScan as the 12th tracked launchpad, ships a full identity resolution layer for Klik creators on Ethereum and Base, and closes a batch of security, AEO, and quality findings from the v2.8 wave.

Klik launched on Ethereum in April 2026 and on Base in March 2026 with a creator fee model that includes an undocumented 50% platform share on Base. ClaimScan surfaces both the net and gross amounts so creators know exactly what they can claim. Identity resolution indexes 506 creators at launch via a daily cron and 3-source handle mapping (ENS, Farcaster, Twitter). No breaking changes, no migration steps for users. Live at claimscan.tech.


Klik Integration ✦ New

Klik is the 12th launchpad ClaimScan tracks, covering both Ethereum and Base in a single adapter. Any creator who has deployed a token via the Klik factory on either chain now appears in profile lookups and the leaderboard with a full fee breakdown.

  • Paste any Klik creator wallet and ClaimScan queries both chains in a single call using factory.getAllTokensByCreator, no external indexer required
  • Split chain tabs: "Klik (Ethereum)" and "Klik (Base)" appear as separate tabs in PlatformBreakdown per Klik Terms of Service section 7, which separates the two chains' fee accounting
  • Base 50% creator share: Klik retains half of creator earnings on Base. This is not published in Klik's official docs but is encoded in the Sourcify-verified contract (KLIK_BASE_CREATOR_PAYOUT_BPS = 5000). ClaimScan applies the split per row and shows the gross amount alongside the net receivable
  • "Net 50%" badge: a blue info pill on Base rows with a tooltip makes the split visible so creators know exactly what they can collect
  • Gross subline on ProfileHero: shows the pre-split gross figure next to the net total so the full picture is readable at a glance
  • Ethereum pays 100%: no fee split on Ethereum, only on Base
  • 8/8 integration tests pass against real Ethereum and Base RPCs with 100 wei drift tolerance
  • Display-only in V2.9. In-app claim flow is planned for a future update after the wallet adapter migration.

Klik Identity Resolution ✦ New

ClaimScan maps Klik wallet addresses to social handles via three sources, backed by a dual-chain factory event indexer.

  • ENS: on-chain reverse lookup resolves Ethereum mainnet ENS names
  • Farcaster: Neynar verified_accounts maps custody and verified wallet addresses to Farcaster usernames
  • Twitter/X: linked Twitter accounts pulled from the Farcaster profile via the same Neynar call, no extra API key required
  • 506 unique creators indexed at launch: 192 on Ethereum, 314 on Base, backfilled by a one-shot CLI before deploy
  • Daily cron at 8am UTC (/api/cron/index-klik): scans new TokenCreated events on both chains and enriches stale handles in a single daily run
  • Circuit breaker: if a handle source fails 3 consecutive times it cools down for 24 hours and skips until the window expires (first time this pattern appears in ClaimScan)
  • Negative-result guard: failed lookups are cached for 6 hours so a missing handle does not trigger repeated queries on every page load
  • Migration 038: adds 3 tables (klik_creators, klik_tokens, klik_handles) with RLS enabled, applied to production before deploy
  • Flap.sh cron backlog fix: the BSC indexer had a silent 1.26M-block lag because the free Alchemy tier capped eth_getLogs at 10 blocks. Scan window bumped from 5,000 to 10,000 (valid with PAYG now active), draining the backlog in roughly 5 days at production volume

Security ✦ Hardening

  • 4 advisory findings (LOW-01, LOW-03, LOW-05, LOW-06) closed in a structured hardening sweep
  • Package lock regenerated to sync native binding entries

AEO and SEO ✦ Improvements

  • robots.txt, llms.txt, and Organization JSON-LD schema added so search engines and AI crawlers can parse ClaimScan's identity
  • FAQ schema expanded with additional Q/A pairs, leaderboard added to the sitemap
  • FINN endorsement and Bags Hackathon recognition surfaced in structured data

Bug Fixes

  • Leaderboard rank #1 invisible: a CSS conflict between two animation classes was hiding the top-ranked row on the homepage leaderboard. Fixed.
  • Klik chain counts: the per-chain token count in the UI was swapped between Ethereum and Base. Corrected (Ethereum 3, Base 5 at launch).
  • /docs overflow: long content on the documentation page was overflowing its container. Fixed.

V2.8 - Flap.sh Integration + Fund-Recipient Detection + Internationalization

27 Apr 21:40

Choose a tag to compare

V2.8 lights up Flap.sh as the 11th tracked launchpad, surfaces a previously-invisible class of creator earnings on BSC via fund-recipient detection, and ships a quality pass that touches every shipped phase.

Flap.sh is now fully integrated as the second BSC platform alongside Clanker, with classification across four distinct vault types and a new auto-forwarded fee path that bypasses claim contracts entirely. International token tickers now render natively. The audit pass tightened observability and consistency across the adapter layer. No breaking changes, no migration steps for users. Live at claimscan.tech.


Flap.sh Integration ✦ New

Flap.sh is the 11th launchpad ClaimScan tracks, and the first BSC-native platform on top of Clanker's BSC extension. Any creator who has launched a memecoin via the Flap VaultPortal now appears in profile lookups and the leaderboard with full fee attribution.

  • Paste a Flap creator wallet on the home page or navigate to /0x... directly, ClaimScan resolves the deployer and lists every token they have created via the VaultPortal
  • Per-token rows keyed by the real token address, with the on-chain symbol read live from each ERC-20 contract
  • Four classified vault types plus an explicit unknown sentinel so each token routes to the correct claim path:
    • base-v1 and base-v2 — single-recipient claim contracts, two distinct ABI generations
    • split-vault — multi-recipient pro-rata vaults (third vault type, classifies the long tail of recently-deployed tokens)
    • fund-recipient — auto-forward to a recipient EOA (see next section)
    • unknown — explicit sentinel for tokens whose vault impl does not match any known shape, with a link to flap.sh so the user can verify on-chain
  • Incremental BSC indexer scans the VaultPortal's TokenCreated events daily, classifying new tokens against the vault registry on each tick. Fixed-window scan with explicit lag instrumentation for ops visibility
  • Display-only claim path — Flap claims happen on flap.sh natively. ClaimScan surfaces the breakdown and a View on flap.sh link for the creator to sign there. In-app EVM claims are planned for a future minor once the unified wallet adapter migration lands
  • Leaderboard inclusion — Flap creators rank alongside the existing 10 platforms across Solana, Base, Ethereum, and BSC

The fixture wallet used during development renders the full vault breakdown matching the flap.sh profile view, and a representative split-vault wallet shows pro-rata claimable across multiple recipients.

Fund-Recipient Vault Type ✦ New

A subset of Flap tokens skips the VaultPortal entirely and auto-forwards fees as native BNB to a recipient EOA on every swap. The cumulative balance lives on a per-token TaxProcessor, not in a claimable vault, so creators receiving these forwards had no way to see the aggregate of what was sent to them.

V2.8 detects them and surfaces the totals on the recipient's profile.

  • Token-level probe ladder classifies tokens with no VaultPortal registration by inspecting the per-token TaxProcessor and verifying that the marketAddress is an externally-owned account, not a contract. Vault-having tokens (base-v1, base-v2, split-vault) stay correctly categorized
  • One row per fund-recipient token on the recipient's profile, keyed by the real token address with the live ERC-20 symbol read on-chain (CJK and emoji symbols supported, see Internationalization below)
  • Visual cue — emerald Auto-forwarded badge replaces the claim button, since fees are already in the recipient's wallet on each swap. A View on flap.sh link takes the user to the token page for on-chain verification
  • Adapter dual-axis routing — the Flap adapter now matches both deployer creators (vault-having tokens) AND fund-recipient EOAs in a single query, so a wallet that's both deployer of token A and recipient of token B sees both rows without duplication
  • Manual reclassify hatch — operators can re-probe a single token if a creator changes the recipient post-launch. The recipient is mutable on-chain by design, so the escape hatch keeps cached data correctable without a full reindex

A representative fund-recipient token forwarding ~180 BNB to its recipient now renders the row in the recipient's profile with full USD pricing and the correct token symbol.

Internationalization ✦ Bug Fix

Token tickers using non-ASCII characters (Chinese, Japanese, Korean, emoji) were rendering as a ? placeholder with the address as fallback instead of the real symbol. The root cause was a regex pattern repeated across the sanitization, table-rendering, and claim-dialog layers that only matched ASCII word characters.

V2.8 swaps the pattern for Unicode-aware property classes (\p{L}\p{N}\p{Extended_Pictographic}) consistently across every rendering path. International memecoin tickers now display natively.

A creator wallet receiving fees from a Chinese-symbol Flap token now displays 疯狂的石头 natively across the profile, claim dialog, and table views — the round-trip from on-chain symbol() to UI is byte-clean for the full Unicode range.

Multi-Chain Coverage Display ✦ Bug Fix

The homepage chain card and several docs pages were under-counting EVM coverage. Bankr supports Base + ETH + BSC but was being attributed only to Base in the public surface. Total launchpad count (11) was correct everywhere, but per-chain counts drifted as new platforms shipped.

  • Homepage Multi-Chain Coverage card — Ethereum updated from 1 to 2 launchpads (Zora + Bankr), BSC updated from 2 to 3 (Clanker + Bankr + Flap)
  • Docs chain-platforms table — Bankr added to the ETH and BSC rows. Bankr's per-platform description updated from (Base) to (Base + ETH + BSC)
  • FAQ "What platforms are supported?" — rewrote per-chain phrasing so each platform shows its actual chain support inline
  • Telegram bot /help — listed nine platforms while claiming eleven launchpads. Flaunch and Flap added to the platform line

Cross-Phase Quality Pass ✦ Stability

V2.8 ran a structured audit across the Flaunch (Phase 11), Flap (Phase 12 + 12.1), and Fund-Recipient (Phase 13) shipped phases and landed a hardening sweep covering every finding the audit surfaced. The intent was preventative: tighten observability before the next coverage expansion, not patch a customer-visible regression.

The general theme was explicit signaling — error paths now surface to monitoring instead of returning a sentinel value indistinguishable from a healthy zero. Highlights:

  • Adapter symbol sanitization unified across every EVM adapter — Flaunch was the only one not running symbol input through the shared sanitizer, closing a defensive gap against bidi attacks and invisible characters
  • Discriminated abort signal — Flaunch's earnings reader now distinguishes intentional aborts (SSE wallclock budget) from RPC errors, so normal timeout behavior no longer inflates the error count
  • Degraded-mode threshold for Flaunch's multicall pipeline now uses the original input size as the success-ratio denominator, making the threshold meaningful regardless of upstream filter pass rates
  • Legacy aggregate row for Flaunch is now always emitted with the current claimable balance, so the row stays in sync with on-chain state instead of holding a previous snapshot
  • Flap classification observability — the BSC indexer's classification path now surfaces write outcomes through proper error tracking and a dedicated counter, so partial failures are immediately visible
  • Defensive zero-address guard in fund-recipient detection rejects the zero address as a valid recipient before subsequent on-chain probes
  • Fund-recipient row hygiene — the adapter logs an explicit signal when a fund-recipient row arrives with incomplete metadata, so any future indexer hiccup surfaces immediately instead of producing a blank profile

The full audit summary lives in the planning workspace for traceability.

Schema Sync ✦ Stability

A migration consistency check during V2.8 prep caught local migration files that hadn't propagated to production. The drift was operational, not architectural. Pre-flight verification confirmed no existing rows would violate any of the new constraints, so the apply ran cleanly. Migration tracking is now fully synchronized.

The most consequential of these added BSC support to the platform's chain enum at the database layer. The Flap fee cache now persists correctly, which should reduce per-page RPC load and improve cold-start performance for repeat Flap profile views.

What's next

  • In-app EVM claims via a unified wallet adapter (Solana + EVM in one modal). Required for Clanker, Zora, Bankr, Flaunch, and Flap to graduate from display-only to full claim flow
  • Per-coin claimed attribution for Flaunch, retiring the legacy aggregate row in favor of per-pool unclaimed breakdowns
  • Universal fund-recipient discovery — the Phase 13 detection pattern generalizes beyond Flap. Any platform that auto-forwards fees instead of routing through a claim contract is a candidate for the same probe approach
  • Tag baseline correction — v2.6.0 originally pointed to a different milestone; v2.7 and v2.8 bring the tag history back in sync with the shipped phase set, so the next minor lands on a correct baseline

V2.7 - Flaunch.gg Integration + Per-Coin Fee Breakdown + Observability Restored

21 Apr 16:16

Choose a tag to compare

V2.7 lights up Flaunch.gg as the 10th tracked launchpad, replaces the single aggregated Flaunch row with a full per-coin breakdown, and restores Sentry event capture after 30 days of silent drift.

Biggest coverage expansion since V2.0 put us at 10 platforms across 4 chains. Creators with Flaunch coins on Base now see the same per-coin breakdown they see on flaunch.gg itself, and our production error monitoring is back online. No breaking changes. No migration steps for users. Live at claimscan.tech.


Flaunch.gg Integration ✦ New

Flaunch.gg is the 10th launchpad ClaimScan tracks, and the 5th on Base alongside Clanker, Zora, Bankr, and RevShare. Any creator who has launched a coin via Flaunch's Takeover.fun Position Manager now appears in the leaderboard and gets a full profile breakdown.

  • Paste a Flaunch wallet on the home page or navigate to /0x... directly, ClaimScan resolves the creator and lists every coin they have earned fees on
  • Per-coin rows keyed by the real token address, with the actual token symbol (TAKEOVER, FIXR, CLAW, GRID, and the full long tail)
  • Historical earnings read on-chain via FeeEscrow.totalFeesAllocated(poolId) for each coin, no guessing and no API middleman
  • Leaderboard inclusion, Flaunch creators rank alongside the existing 9 platforms across Solana, Base, Ethereum, and BSC
  • Display-only claim path for V2.7, clicking through opens the native flaunch.gg UI where the user signs the claim. In-app EVM claims are planned for V3 once the wallet adapter migration lands

The fixture wallet we used during development (a Takeover.fun power user with 130+ coins) renders 20 per-coin rows plus a claimable aggregate, matching the flaunch.gg profile view one to one.

Per-Coin Fee Breakdown

Phase 11 shipped last week with a single synthetic row per wallet, collapsing every Flaunch coin into one $ETH line. Users pointed out that the view hid the per-coin structure flaunch.gg exposes natively. V2.7 ships the full breakdown.

  • One row per coin for every Takeover.fun pool with non-zero totalFeesAllocated, the long tail of dormant coins is skipped to avoid noise rows
  • Per-coin totalEarned straight from the FeeEscrow contract, no derived math
  • Multicall resilience with batch-size chunking at 200 calls per batch, AbortSignal threading across all three rounds, and allowFailure: true so one bad call drops only that coin
  • Partial-failure tolerance, if fewer than 80% of round-3 reads succeed, the adapter treats the result as degraded and keeps the previously cached rows instead of flapping the user-visible value down
  • Legacy aggregate row (BASE:flaunch-legacy) holds wallet-wide current claimable that cannot be attributed per coin without a full event log scan. Renders in the UI as "Flaunch (claimable)"
  • One-time cleanup migration (033) removed the orphan aggregated rows from production, so creators see the new breakdown on their next cron tick with zero manual intervention

Every per-coin row is keyed by its real 0x token address, so the composite-key invariant (${platform}:${chain}:${tokenAddress}) that powers our live SSE overlay and cache continues to work unchanged.

Observability Restored ✦ Bug Fix

An internal Sentry audit during V2.7 prep turned up zero events across 30 days of production traffic. Two compounding root causes, both fixed.

  • The production Sentry DSN had a trailing \n literal embedded via a Vercel web UI paste, a bug we documented in the 2026-04-07 audit but forgot to retroactively verify on environment variables set before the audit. The malformed URL caused @sentry/nextjs to initialize in disabled state silently. Fixed by re-setting the DSN via CLI across production, preview, and development environments. Verified clean via byte-level inspection
  • Our logger only emitted Sentry breadcrumbs for warn/error, not events. Breadcrumbs attach to later captured exceptions. If nothing threw, the error vanished. So log.error('foo_failed', { err: ... }) never surfaced as an issue even when Sentry was healthy

Fix: log.error now emits a full Sentry event (captureException when rest.err is an Error instance, captureMessage otherwise), with breadcrumbs still attached for context. log.warn stays breadcrumb-only to avoid flooding Sentry with routine warnings.

Expect historical log.error calls to start surfacing as new Sentry issues over the next hours. If volume is high we will triage and set up inbound filters.

Phase 11 Hardening Sweep

A dual reviewer pass on the Phase 11 Flaunch adapter surfaced one blocker, three warnings, and five notes. All shipped alongside the per-coin work.

  • USD fallback fix (blocker), 'flaunch' added to NATIVE_TOKEN_FEE_PLATFORMS in lib/utils.ts. Without this, every Flaunch row rendered as $0 USD downstream. The historical earnings commit was silently neutralized until this line landed
  • Multicall chunking at 200 calls per batch, matching the Clanker convention. Wallets with 300+ Flaunch coins no longer risk blowing past RPC calldata size limits
  • Discriminated partial-failure type so the adapter distinguishes ok, degraded, and errored reads and can bail without losing data
  • AbortSignal threading through both readFlaunchBalances and readFlaunchHistoricalEarnings, so SSE wallclock cancellation short-circuits the multicall pipeline when a user disconnects mid-stream
  • Tests tightened, integration test now asserts a 10 ETH floor on total historical earned for the fixture wallet, guarding against silent regression where the per-pool path collapses to zero
  • EIP-55 checksum consistency on FLAUNCH_TAKEOVER_POSITION_MANAGER and FLAUNCH_MEMESTREAM_NFT addresses, matching every other entry in lib/constants-evm.ts
  • Defensive filter on tokenId === 0n so NFT contracts that return 0 for unregistered tokens (instead of reverting) cannot cascade into pool 0 reads

What's next

  • In-app EVM claims via Reown AppKit multi-adapter (Solana and EVM in one modal). Required for Flaunch, Clanker, Zora, and Bankr to go from display-only to full claim flow in V3
  • Per-coin claimed attribution via RevenueManager.Claimed event scan, removes the legacy aggregate row and shows per-coin unclaimed breakdowns instead of one bucket
  • Flap.sh adapter (BSC bonding curve) as the 11th launchpad, unblocked now that Phase 11 validated the display-only pattern, the Zod-validated HTTP client, and the on-chain multicall pipeline for future EVM adapters

V2.6 - TikTok Profile Search + Fee Sync Reliability

08 Apr 22:40

Choose a tag to compare

V2.6 brings TikTok creators into ClaimScan and ships a focused reliability pass on the fee sync pipeline.

This release lights up a brand new social provider, hardens the cron that keeps fee data fresh, and quietly fixes a navigation bug that had been silently breaking GitHub leaderboard clicks. No breaking changes. No migration steps for users. Live now at claimscan.tech.


TikTok Profile Search ✦ New

Bags.fm just launched TikTok Fee Sharing. Anyone can now launch a coin on Bags and share the royalties with any TikTok creator using only the username, and the creator earns automatically once they link a wallet. ClaimScan reads that data from day one.

Paste a TikTok URL into the search bar and you get the same full breakdown you would get for a Twitter handle:

  • Search by tiktok.com/@username from the home page, the leaderboard, or any creator profile
  • Full fee breakdown across every Bags coin that designates royalties to that TikTok account
  • TikTok avatar rendered next to the creator name on the profile and on the leaderboard
  • Leaderboard inclusion, TikTok creators rank alongside Twitter and GitHub creators in the public ranking
  • Periods supported in usernames, names like jane.doe work everywhere they should
  • Same 30 second scan time, no extra latency on the resolve pipeline

The integration is built on the same identity resolution layer that powers Twitter, GitHub, and Farcaster lookups, so everything you already love about ClaimScan (live fees, claim history, wallet aggregation, OG share cards) works for TikTok creators with no extra setup.

Fee Sync Reliability Pass

The cron that keeps cached fee records in sync with on-chain reality got a deep audit. Five fixes shipped in this pass, all focused on data integrity and silent failure detection:

  • Per creator distributed lock on the fee sync path eliminates a TOCTOU race where two cron workers could overwrite each other's writes for the same creator. The lock helpers were extracted into a shared module so the same primitive is reused across the search resolver and the cron.
  • Sentry routing for prune failures, every stale row deletion failure now lands in Sentry with structured logging, so silent corruption can no longer hide between cron runs.
  • Fail fast on SELECT errors, the persistFees path no longer swallows database read errors. If the cache lookup fails, the whole sync stops and reports rather than continuing with stale data.
  • Discriminated prune result type, the stale row pruner now returns a typed result that distinguishes between zero stale rows, partial deletes, and full deletes. Callers can handle each case explicitly.
  • Batch DELETE with tripwire, large prune operations now batch their deletes and trip an alert if any single batch removes more rows than expected, catching runaway state corruption early.
  • Bankr phantom fee cleanup, ClaimScan now prunes stale Bankr fee records on every resolve, removing phantom launcher fees that were sticking around on profiles after the upstream Bankr API stopped reporting them.

User facing translation: profiles refresh more reliably, the leaderboard is more accurate, and any silent data drift in the fee cache now generates an alert instead of going unnoticed.

Bug Fix: GitHub Leaderboard Navigation

While wiring TikTok into the leaderboard, we caught a pre-existing silent break: clicking a GitHub creator on the leaderboard navigated to a URL like /gh:username that the search resolver could not parse, so the page silently fell back to a Twitter lookup and 404'd. Nobody had reported it because GitHub leaderboard entries are rare, but it had been broken since the leaderboard launched.

The fix: the search resolver now recognizes both gh:username and tt:username shorthand prefixes and routes them to the right provider. GitHub leaderboard clicks work for the first time. TikTok leaderboard clicks work out of the box.

Post-launch polish

The first hours after v2.6 shipped revealed a few rough edges in the TikTok pipeline. These are all patched and live.

  • Bare social URLs such as tiktok.com/khaby.lame (without https://, without the @ prefix) now route to TikTok correctly. The search bar auto-prepends https:// for any known social host, and the server-side resolver accepts both tiktok.com/@user and tiktok.com/user forms while filtering non-user paths like /discover, /following, and /live to avoid false positives.
  • The scan loading screen now decodes the URL segment and strips any tt: or gh: leaderboard prefix, so the handle renders as @khaby.lame during the scan instead of the raw URL-encoded path that briefly showed @tiktok.com%2Fkhaby.lame.
  • The v2.6 database migrations landed in Supabase. The identity_provider enum gained a tiktok value, the creators table gained the tiktok_handle column with a unique constraint and partial index, and the leaderboard ranking function now includes TikTok creators alongside Twitter and GitHub with a tt: display prefix. This unblocked real TikTok searches end to end (for example, claimscan.tech/tiktok.com%2F%40khaby.lame now resolves to the real Khaby Lame profile with $167.34 in tracked Bags fees).
  • A zeroed profile view now replaces the generic "Page Not Found" screen whenever a search resolves with zero fee records. You see the full profile shell (handle, avatar via unavatar.io, stat cards all at zero) plus a "Scan complete · 0 records" callout that mirrors the scan radar from the loading state. The callout includes a direct link to the public leaderboard, so there is always a clear next action. Covers wallet searches with zero history, brand new creators, typos, and any other case where the pipeline legitimately has nothing to show.

If you saw a "Page Not Found" while testing TikTok search in the first few hours after v2.6 went live, that is gone. Paste the URL again.

Stats

  • 9 launchpads supported
  • 4 chains: Solana, Base, Ethereum, BNB
  • 5 identity providers: Twitter, TikTok, GitHub, Farcaster, raw wallets
  • Under 30 second scan time across all 4 chains
  • Free to scan, free to claim
  • Paid API starts at $0.01 per query

Upgrade Notes

No breaking API changes. The Postgres identity_provider enum gains a tiktok value and the creators table gains a nullable tiktok_handle column with a unique constraint, both via additive migrations that are safe to apply with zero downtime. Existing integrations keep working as is.

What Is Next

V2.6 closes the social provider expansion chapter for now. V3 still brings:

  • Token Fee Scanner: paste any contract address, see all unclaimed fees from any wallet that earned from it
  • Multi platform direct claim: extend the on chain claim flow beyond Bags.fm to Clanker and Zora
  • EVM wallet integration: connect MetaMask alongside Phantom so users can claim Base, BSC, and Ethereum fees directly from ClaimScan in one unified flow

Bags.fm exposes more social providers on the same endpoint (Instagram, OnlyFans, Kick, and several others). Wiring those in is mostly mechanical now that the TikTok foundation is shipped, so expect more providers to land in patch releases as creator demand surfaces.


Built by LW ARTS

Live now: claimscan.tech · Docs: claimscan.tech/docs · Report a bug: @lwarts on Telegram

V2.5 - Visual Redesign + Real Time Live Fees + Hardening Pass

07 Apr 18:45

Choose a tag to compare

V2.5 brings the biggest visual update since V1.0, real time live fee streaming, a polished cross device leaderboard, and a complete hardening pass.

This release focuses on how ClaimScan looks and feels. No breaking changes. No migration steps. Live now at claimscan.tech.


Visual Redesign v2

The entire ClaimScan surface was rebuilt against a new design system. Every page now uses consistent spacing, typography, color tokens, and motion. Highlights:

  • Refreshed home page with a tighter hero, cleaner search bar, and a leaderboard preview that scales properly across phones, tablets, and desktops.
  • Profile pages got a new layout with bigger stat cards, condensed token rows, and a status filter that snaps to "All / Unclaimed / Claimed / Auto distributed".
  • Docs and Terms rebuilt as proper longform layouts with sticky sidebar navigation, scroll spy, and full mobile breakpoints.
  • Per route skeleton loading states for home, docs, terms, leaderboard, and creator profiles. No more blank flashes during navigation.
  • Dynamic Open Graph images per creator and per leaderboard route. Share any handle, see a beautiful preview card.
  • Animation system with shared duration tokens, easing curves, and full prefers-reduced-motion support so users who opt out of animation still get the right experience.

Real Time Live Fees

V2.5 ships a true real time fee surface on the profile page. The "Total Unclaimed" stat, the status filter, and the token list all read from the same live data stream, so what you see and what you can act on are always in sync.

What this means for you:

  • Faster updates after a claim, the row disappears the moment you sign the transaction.
  • Tokens appear in your list within seconds of being detected on chain instead of waiting for the next sync.
  • Numbers always agree. The stat card and the filter row count are guaranteed to match.

Leaderboard Polish

The public creator ranking now feels like a first class page:

  • Pagination scrolls back to the top when you click "Next page", no more manual scrolling.
  • Mobile cards finally show creator avatars alongside the rank circle.
  • Filter chips for platform and chain that scroll horizontally on mobile without clipping the rightmost item.
  • Currency values are tighter with proper digit alignment and no period spacing artifacts at small sizes.
  • Cross device responsive down to 360px wide.
  • Deep linkable filter state in the URL.

Mobile First Pass

Every page got a mobile audit pass. Notable improvements:

  • Hero header sizes scale properly from phone to desktop.
  • Currency stat cards got new typography that actually renders correctly at small sizes (no more weird period spacing).
  • Hover utilities all got tap mirrors so phone taps trigger the same visual feedback as desktop hover.
  • Tap highlights removed (no more iOS blue flash on every button).
  • Mobile hamburger menu cleaned up.
  • Profile page filter row scrolls horizontally on mobile and wraps on larger viewports. The rightmost chip never gets clipped again.
  • Emoji and avatar sizes properly responsive.
  • BNB Chain becomes BNB everywhere for tighter mobile labels.

API V2 Consistency

V2 endpoints are now fully consistent and uniformly priced:

  • /api/v2/fees is $0.01 per query
  • /api/v2/intelligence is $0.02 per query
  • /api/v2/export is $0.05 per query
  • /api/v2/resolve is $0.01 per query (now matches the rest of the V2 namespace)

Every paid endpoint returns HTTP 402 with the bazaar discovery extension and the payment identifier extension, so AI agents can find ClaimScan, read the schema, pay, and consume the data with no human setup.

A privacy disclaimer was added to the Pricing card on /docs so customers understand that paying for /v2/intelligence unlocks fast lookup, not access to private data.

Hardening Pass

A full review of the public surface was completed in this release. User facing improvements:

  • Better protection against scrapers on creator profile pages. The documented anti enumeration rule (max 20 unique handles per IP per 5 minutes) now actually fires on every request, including from automated browsers.
  • Tighter origin allowlists so attacker controlled lookalike domains cannot impersonate ClaimScan.
  • Framework upgrade to the latest stable Next.js 16 line.
  • Dependency cleanup to remove all known dev time advisories.

None of these were exploitable. The pass is preventive and closes the gap between what the docs promised and what the code did.

Stats

  • 9 launchpads supported
  • 4 chains: Solana, Base, Ethereum, BNB
  • Under 30 second scan time across all 4 chains
  • Free to scan, free to claim
  • Paid API starts at $0.01 per query

Upgrade Notes

No breaking API changes. No database migrations required. Existing integrations keep working as is.

What Is Next

V2.5 closes the visual and hardening cleanup chapter. V3 brings:

  • Token Fee Scanner: paste any contract address, see all unclaimed fees from any wallet that earned from it
  • Multi platform direct claim: extend the on chain claim flow beyond Bags.fm to Clanker and Zora
  • EVM wallet integration: connect MetaMask alongside Phantom so users can claim Base, BSC, and Ethereum fees directly from ClaimScan in one unified flow

Built by LW ARTS

Live now: claimscan.tech · Docs: claimscan.tech/docs · Report a bug: @lwarts on Telegram

V2.1 - x402 Mainnet, Agent Discovery, Idempotency

04 Apr 04:14

Choose a tag to compare

ClaimScan V2.1

The update where ClaimScan moved to mainnet and became discoverable by AI agents.

What's New

Base Mainnet settlement
x402 payments now settle in real USDC on Base Mainnet. Testnet training wheels are off. Every query to /api/v2/* triggers a real on-chain payment verified by a production facilitator before data is returned.

Bazaar extension for agent discovery
Every paid endpoint now publishes its input/output schema through the x402 bazaar extension. An AI agent can find ClaimScan, read what data is available, understand the query format, pay, and consume the response. No docs required. No human in the loop.

Payment-identifier for idempotency
Clients can attach a unique payment ID to each request. If a retry hits the same endpoint with the same ID, the facilitator returns the cached response instead of charging again. Retries are free.

Payment observability
Structured logging on every payment event: verify, settle, failure. Each event includes payer address, transaction hash, network, and amount. Forwarded to Sentry for real-time monitoring. If a payment fails, we know before the user does.

CSV injection protection
Export endpoints now sanitize all values before writing to CSV. Token symbols starting with =, +, -, or @ are prefixed to prevent formula injection when opened in Excel or Google Sheets.

Protocol spec conformance
Route configurations updated to match the x402 v2 protocol specification. The accepts field now uses the canonical array format for forward compatibility with strict SDK versions.

x402 package pinning
All x402 dependencies pinned to exact versions. The protocol is young and moving fast. Pinning prevents surprise breaking changes from minor version bumps.

Breaking Changes

None. All changes are additive or internal. Existing integrations continue to work.

Migration Notes

  • Clients that were testing against Base Sepolia need to switch to Base Mainnet USDC
  • The facilitator URL has changed from the default testnet endpoint to a production facilitator
  • No code changes required on the client side if using @x402/axios or @x402/fetch (network auto-detected from the 402 response)

V2.0 - Paid API, 4 Chains, 10 Platforms

03 Apr 04:49

Choose a tag to compare

ClaimScan V2.0

The update where ClaimScan became an intelligence API that any agent can pay to use.

What's New

Paid API via x402 protocol
Four new endpoints protected by x402. No API keys, no subscriptions. Agents and developers pay per request in USDC on Base. Payment is verified on-chain before data is returned.

Endpoint Price Description
GET /api/v2/fees?wallet=<address> $0.01 Full fee report across all platforms and chains
GET /api/v2/export?wallet=<address> $0.05 CSV or JSON export of all fee records
GET /api/v2/intelligence?wallet=<address> $0.02 Intelligence report with Allium cross-chain enrichment
GET /api/v2/resolve?ows_wallet=<name> Free Resolve OWS wallet name to multi-chain addresses

Allium cross-chain intelligence
Fee reports enriched with transaction history, portfolio PnL, and token holdings via Allium. Real data from 130+ chains, not mock responses.

OWS wallet identity
Full support for Open Wallet Standard wallets. Agents create one wallet, get addresses on every chain, and access ClaimScan data with a single command:

ows pay request "https://claimscan.tech/api/v2/intelligence?wallet=0x..." --wallet my-agent

10th platform: Raydium LaunchLab
LP fee tracking for Raydium's LaunchLab on Solana.

4 chains
Added Ethereum mainnet and BNB Chain. Clanker now tracks fees on both Base and BSC. Zora tracks across Base and Ethereum.

Pump.fun V2 support
Updated adapter for Pump.fun's V2 contract and PumpSwap migration.

Security

All V2 endpoints inherit ClaimScan's existing security stack. Rate limiting, request signing, bot protection, CORS, security headers. The x402 paywall adds an additional layer where payment must be verified before any query executes.

Built for the OWS Hackathon

This release was built for Track 05: The Observatory at the OWS Hackathon (April 3, 2026). Real data from 10 launchpads. Real payments via x402. Real cross-chain intelligence via Allium. Zero mocks.

V1.5 - First On-Chain Claim Flow

03 Apr 04:49

Choose a tag to compare

ClaimScan V1.5

The update where ClaimScan went from read-only scanner to full claimer.

What's New

On-chain claiming (Bags.fm)
Connect your wallet and claim uncollected fees directly from ClaimScan. Transactions are built server-side, simulated before signing, and tracked through finalization. Zero custody, zero approvals, zero token permissions.

9 launchpads across Solana + Base
Pump.fun, Bags.fm, Believe, RevShare, Coinbarrel, Raydium on Solana. Clanker, Zora, Bankr on Base.

Identity resolution
Paste a Twitter handle, GitHub username, Farcaster name, or raw wallet address. ClaimScan resolves it across all supported chains and platforms.

Security hardening
Turnstile gated claim requests, HMAC signed client server communication, priority fee calibration, anti enumeration rate limiting, honeypot endpoints for scraper detection.

Real-time streaming
Scan progress and live fee updates delivered via Server-Sent Events. Unclaimed balances auto update as on-chain state changes.

Claim Architecture

Transactions constructed server-side, signed exclusively client-side. Pre-sign simulation catches failed claims before you spend gas. Dynamic priority fees for reliable confirmation during congestion. End to end tracking from pending through signing, submitted, confirmed, and finalized. Hardware wallet support (Ledger, Trezor) via Wallet Standard.