SOL$---.--
ModeLIVE
EdgePump
edgepump/analytics
› EDGEPUMP // DOCS

Documentation

Last updated: 2026-06-05

What EdgePump is

EdgePump is read-only wallet analytics for pumpfun memecoin traders on Solana. You give us a public wallet address, we read its on-chain trading history, we run it through our diagnostic engine, and we tell you exactly where your PnL is bleeding.

We never ask for a seed phrase. We never ask for a signature. We never touch your funds. Wallet addresses are public on-chain data, and that's all we need.

The core thesis behind EdgePump is simple:

Winrate is vanity. Expectancy is sanity. PnL is reality.

Most pumpfun traders lose SOL not because they pick bad entries. They lose because their losers run 2 to 3 times larger than their winners, because they revenge-size after a loss, because they cut winners in under two minutes, because they hold dead bags hoping for recovery. None of these patterns are visible from a single trade. They're only visible in the aggregate of many trades, plotted against your behavioral history.

EdgePump finds those patterns. With numbers.


Methodology: what trades EdgePump counts

EdgePump's PnL is computed from on-chain trade events that touch your wallet. We count four categories: trades on the pumpfun bonding-curve program itself, trades on pump.swap (pumpfun's own post-graduation AMM, which is where most graduated tokens trade in practice), trades on Raydium for tokens we have already seen the wallet trade on pumpfun, and Jupiter routes that involve those same graduated tokens. The post-graduation paths exist because once a pumpfun token graduates, subsequent buys and sells happen off the bonding curve. Missing those would systematically under-report realized PnL for any wallet that held through graduation.

What EdgePump does not count: trades on tokens never minted via pumpfun (Raydium-native pairs, generic SPL swaps), transactions with a Helius source of UNKNOWN (we'd rather miss a few low-confidence trades than count arbitrary transfers as PnL events), and unrealized PnL on open positions (we report open-position count but no speculative price). A pumpfun token is identified either by its in-window pumpfun program activity or by its mint address ending in the pump suffix that pumpfun vanity-mints for every token it launches. This lets us count post-graduation trades on tokens whose original bonding-curve activity is older than the scan window.

USD valuation: pinned to trade time, immutable on re-scan

Every closed trade carries a USD value alongside SOL. The USD is computed against Coinbase Exchange's 1-minute SOL-USD candle at the trade's own timestamp: the buy leg uses the SOL/USD rate at each consumed buy lot's timestamp, weighted lot-by-lot; the sell leg uses the rate at the sell timestamp. Multi-lot trades sum the per-lot weighted USD rather than collapsing to a single average price.

A direct consequence of pinning to trade timestamps: rescanning the same wallet a week later does not change historical USD numbers. If the wallet sold for 1.5 SOL on Tuesday when SOL was $220, that trade is forever booked at $330 of proceeds, even if SOL is $180 by Friday. This is intentional. The USD value is a record of what the trade was worth when it happened, not what it would be worth at the moment of viewing.

When the price source can't resolve a timestamp (rate limit, network blip, pre-listing date), the affected trade's USD fields stay null and the report falls back to SOL-only for that row. The headline summary shows a coverage ratio so the partial-USD case is honest about what's missing.

Open positions have no USD value. The same Risk #6 logic that excludes unrealized SOL PnL excludes unrealized USD: pricing an unsold position would require a "current SOL" snapshot, which would unpin the methodology from trade time. Sells whose matching buy is older than the scan window are resolved via a targeted Helius lookback so cost basis carries forward correctly; the resulting trade is tagged so the UI can disclose carry-forward where relevant. Numbers are SOL-denominated, derived from the wallet's net native balance change plus its token transfers, and labeled estimated. Fees (priority and program) are absorbed into the SOL legs rather than broken out, so buy cost reflects the full SOL paid including fees. Partial sells use FIFO cost basis: a sell that consumes part of a position closes against the oldest buy lots first, the way GMGN and BullX do it.

Per-bucket USD on hold-time, hour, and weekday surfaces

Every bucketed view on the report (hold-time buckets, hours UTC, weekdays) shows a USD value alongside SOL where coverage allows. The rule is the same all-or-nothing contract as the headline: a bucket's USD value is null whenever any trade in that bucket has unresolved USD, and null when the bucket is empty (no signal). When every trade in a bucket has a resolved USD value, the bucket sums them. Per-bucket silent degradation means a single missing USD lookup never pollutes the rest of the heatmap with a misleading partial sum, and the overall coverage signal lives at the headline.

Open positions reconciled against on-chain balances

FIFO reconstruction infers open positions from buy and sell events inside the scan window. That count can diverge from what the wallet actually holds on-chain when sells are misattributed, when a token graduates between programs mid-window, when partial sells leave dust, or when transfers move tokens in or out without producing a trade signature. To keep the headline Open figure credible, EdgePump cross-references the FIFO output against the wallet's live SPL token balances via Helius getTokenAccountsByOwner. A FIFO-open position whose on-chain balance is below the dust threshold (uiAmount less than 0.0001) is flagged reconciledClosed and removed from the headline Open count. FIFO still drives every PnL metric unchanged; only the open-position count and per-position status are reconciled. When the on-chain check fails, the report discloses that the count is FIFO bookkeeping only.

Leak Repair Simulator: counterfactual PnL on your actual trades

EdgePump's diagnostic surfaces tell you what your dominant leak is. The Leak Repair Simulator goes one step further: it shows the dollar-denominated version of "what your PnL would have been if you'd applied this fix mechanically to the trades you actually made."

Three preset simulators run on every paid report:

Stop-Loss. For each closed trade whose realized loss exceeded the chosen stop (the simulator offers 25% and 50% presets), the simulator replaces the actual sell with a sell at exactly minus the stop percentage. Winners and gentler losers are unchanged. The simulator does not model behavioral re-entry, tilt-driven re-trading after a stop trigger, or scenarios where the trader would have manually overridden the stop.

Size Discipline. Computes the average buy SOL of your winning trades in the window, then caps the size of every losing trade at one or two times that average. The losing trade still loses the same percentage; it just loses it on smaller size. Winners are not capped (size discipline is a punishment for the trades that didn't work, not a punishment for the trades that did). When the window contains zero winners, the simulator returns the baseline unchanged because it has no signal for what a disciplined size would have been.

Combined. Applies size discipline first, then the stop on the resized trades. The two levers compound: a 1 SOL loser that was down 50% gets resized to the size cap, then stopped at 25% of the new (smaller) basis. Combined typically produces the largest absolute delta, which is the simulator's headline claim.

What is NOT simulated: re-entry behavior after a stopped trade, the possibility that some stopped trades would have reversed and become winners, tilt or revenge re-trading triggered by the stop, slippage on the simulated exit. The simulator is honest counterfactual arithmetic on your historical record, not a backtest of an alternate trading strategy. Read the number with appropriate epistemic humility: "if I had been more mechanically disciplined in this window, the math says I would have lost X less."

USD numbers in the simulator obey the same trade-time pin as the rest of the report. The simulator scales each affected trade's USD proportionally to its SOL change; when the underlying trade has missing USD (price source failure), the aggregate simulated USD is null, matching the all-or-nothing semantics of the baseline headline.


The metrics that matter

Expectancy per trade (SOL)

The single most important number on EdgePump. Expectancy is the average SOL won or lost per trade across your window. The formula:

expectancy = (winrate × avg_win) − (loss_rate × avg_loss)

If your expectancy is positive, you make money on average per trade. If it's negative, you bleed. It doesn't matter how often you win. A 70% winrate with a 0.05 avg-win and a 0.50 avg-loss is a losing trader.

EdgePump puts expectancy at the top of every report because it's the only number that survives weekly noise.

Winrate

The percentage of closed trades that were profitable. We show it, but we want you to stop staring at it. Two traders with the same 50% winrate can have completely different outcomes if one has 1.5x avg-win/avg-loss and the other has 0.3x.

Profit factor

The ratio of total gross winning amount to total gross losing amount. Above 1.0 = profitable, below 1.0 = unprofitable. A profit factor of 0.60 means for every SOL you win, you lose 1.66 SOL. The faster route to break-even is rarely "more winners". It's "smaller losers".

Hold asymmetry

How long do you hold losers vs winners? We compute the ratio:

hold_asymmetry = avg_loser_hold_time / avg_winner_hold_time

A ratio of 1.0 is symmetric. Above 1.0 means you hold losers longer than winners, which is the textbook profile of a trader cutting winners too early and bag-holding losers hoping for a comeback. Above 3.0 is severe and signals an emotional pattern that costs more than any single bad entry.

Size discipline

How much larger are your losers than your winners on entry size? We compute the signed percentage difference:

size_discipline = (avg_loser_entry − avg_winner_entry) / avg_winner_entry

A positive value means losers are bigger. +50% means your losing trades, on average, deploy 1.5x the SOL of your winning trades. This is the signature of revenge sizing after losses. The bias is almost always invisible to the trader doing it.

Exit timing

The share of winners closed within 120 seconds of entry. A high value (above 50%) means you're systematically cutting winners off before they can compound. Paper hands are a real leak; we name it.

Wallet score (0-100)

A composite score that combines expectancy, profit factor, size discipline, and exit timing into a single number. Tiered as:

  • 0-25 Critical. Fundamental discipline issues across multiple axes.
  • 26-50 Weak. At least one severe leak dragging PnL.
  • 51-75 Improving. Leaks are present but contained.
  • 76-100 Strong. Patterns are net-positive.

The 8 leak patterns

EdgePump's engine looks for eight known failure modes. The "main leak" displayed on your report is the most damaging one for that window.

  1. NEGATIVE_EXPECTANCY. Average trade loses money. The fix is in risk/reward, not winrate. Cap your loser size to your winner size.
  2. REVENGE_SIZING. Loser size is 30%+ larger than winner size. Means you're betting more after losses. Forces a discipline rule: same SOL on every entry.
  3. DEAD_BAGS. Too many open positions stuck below break-even for too long. Capital tied up in hopeful corpses. Force-close at a defined timeout.
  4. TILT_ACCELERATION. Trade frequency is exploding hour over hour. Classic chase pattern. Step away from the chart.
  5. DISCIPLINE_COLLAPSING. Average loser size is growing run over run. You're loosening your stops or sizing up after losses. Tighten before sizing.
  6. SIZE_INFLATION. Entry size is creeping up across all trades. Capital risk is rising while edge is not. Cap your max entry.
  7. HOT_STREAK. Recent winrate is significantly above your historical baseline. Regression risk is high. Take size down.
  8. COLD_STREAK. Recent winrate is significantly below your historical baseline. Tilt risk is high. Take size down.

The last two are mirror images of each other and both are warnings: a hot streak means you're about to give back, a cold streak means you're about to revenge-trade.


Manual analysis: how to run one

  1. Paste a wallet. Any public Solana wallet that has traded pumpfun tokens. Doesn't have to be yours, though most users start with their own.
  2. Pick a window.
    • 24h scan: 1 credit (0.01 SOL)
    • 7d scan: 3 credits, includes 24h
    • 30d scan: 5 credits, includes 7d + 24h + Behavior Drift
    • 90d scan: 7 credits, includes 30d + 7d + 24h + Behavior Drift
  3. Pay credits. SOL-denominated. Credits never expire.
  4. Read the report. Section by section, top to bottom.

Choose the window that matches what you want to learn:

  • 24h for a fast self-check after a session
  • 7d for the recurring rhythm of your trading
  • 30d for habit-level diagnosis
  • 90d for the deep behavioral picture, including drift over time

The longer windows include everything below them, so a 30d scan also shows you the 7d and 24h views.


How to read your report

Free preview panel

At the top of every report, you see four things:

  • Wallet score (0-100, with tier)
  • Main leak (1 of the 8 patterns)
  • Performance summary for the chosen window (trades, winrate, est. PnL, profit factor)
  • Data quality indicator

These four pieces alone tell you whether you have a problem and roughly where it lives. If your score is below 50 and your main leak is REVENGE_SIZING, you already know your top priority before you scroll.

Trader Behavior Profile

The behavioral engine output. Shows:

  • The main leak with severity (OK / WARN / CRITICAL)
  • Wallet tier
  • Expectancy per trade, with a one-line interpretation
  • Three diagnostics: hold asymmetry, size discipline, exit timing, each with a status badge
  • A behavior verdict that names the failure mode

Read this section first. It tells you what's actually wrong.

Performance window

The hard numbers for the chosen window:

  • Total trades, closed, open
  • Winrate
  • Estimated PnL
  • Profit factor
  • Average win, average loss

The verdict line beneath summarizes the math: "Expectancy below break-even, losses outsize wins" is a different story from "Winrate strong but profit factor weak".

A note on the word "estimated": pumpfun trades have to be reconstructed from on-chain transactions, and some tokens are illiquid or have non-standard routing. Our PnL is a faithful reconstruction but not a tax document. We label this on every panel for a reason.

Hold time distribution

How your PnL is distributed across hold buckets: under 30 seconds, 30 seconds to 2 minutes, 2 to 10 minutes, 10 minutes to 1 hour, over 1 hour.

If your <30s bucket is deep red while your 30s-2m bucket is green, you have an entry/execution problem. If your >1h bucket is empty, you might be a paper-hands trader by structure.

Worst tokens / Best tokens

The eight tokens where you bled the most and the eight where you gained the most, with trade count and estimated PnL per token.

These lists are useful for two things: spotting individual disasters that distorted your overall picture, and noticing whether your winners cluster around a specific type of token (e.g., LP-gated ones, or ones from a specific deployer).

Trading windows

A heatmap of estimated PnL by UTC hour and by weekday.

The point of this section is to make you face whether you trade better at certain hours and worse at others. Most traders find a strong asymmetry here. Some hours are profitable, some are catastrophic, and the user has zero awareness because they're not tracking it.

Personalized diagnosis

The output of the action engine. Shows:

  • The numbers: weekly bleed rate, your avg-loss as a multiple of your avg-win, break-even avg-loss target
  • Accessible lever: the single highest-impact behavior to fix first
  • Immediate action: one concrete rule, written in plain language, applicable today
  • Expected effect: what happens to your expectancy in 30 days if you actually do it
  • Warning: the trap that would undo the fix

This section is the actionable output. Everything above it is diagnostic. This is treatment.


Auto-Digest: weekly automated scans

Manual scans are on-demand. Auto-Digest runs your scan on a schedule and pushes the result to you.

How it works

  • You designate one wallet
  • Every 7 days, we scan that wallet's last 7 days of trading
  • The result is delivered to your Telegram bot, your email, or both
  • The first run is free; subsequent runs cost 3 credits each (around 12 credits per month)
  • After the first run, each digest also shows you the delta vs the previous week

Setup

Setting up Auto-Digest takes about a minute:

  1. Create an account. You'll receive a verification email immediately. Click the link.
  2. Link Telegram. On the Auto-Digest page, click "Open Telegram Bot". This opens our bot in Telegram with a one-time linking token. Tap Start. The bot replies "Linked".
  3. Choose your delivery channel. Telegram, Email, or Both. Whichever you pick, the channel needs to be set up first (verified email and/or linked Telegram).
  4. Designate the wallet. Paste a Solana wallet address. It needs to be public and read-only.
  5. Activate. The first digest runs 7 days after activation.

Reading your digest message

Every digest has the same structure:

EdgePump · Weekly Digest
Wallet <short_addr> · 7d

Score 26/100 · WEAK
Main leak: NEGATIVE_EXPECTANCY (CRITICAL)

Numbers
Expectancy: -0.0533 SOL/trade
Weekly bleed: -37.527 SOL
Avg win: 0.367 SOL
Avg loss: -0.250 SOL

Diagnostics
🔴 Hold asymmetry: 3.2x (CRITICAL)
🔴 Size discipline: +62% (CRITICAL)
🟡 Exit timing: 81% under 2m (WARN)

Action
Cap each entry at the same SOL size as your last winner.
Expected effect: expectancy moves toward break-even in 30 days.

Score moving up vs last week. Whatever you changed, keep it.

3 credits used. 999,973 left.

Full report: edgepump.io/account/auto-digest/runs/<run_id>
Top up: edgepump.io/credits

The Diagnostics block uses three status indicators: 🟢 (OK), 🟡 (WARN), 🔴 (CRITICAL).

The delta line in the middle tells you whether things are getting better or worse vs the previous week. On the first run it says "Baseline run. Next week shows the delta."

The "Full report" link goes to the per-run page where the full report (identical depth to a manual 7d scan) is rendered.

Delta semantics

Auto-Digest is not just "the same scan rerun every week". Each run is compared to the previous one. The delta line summarizes whether your score is moving, your expectancy is improving or worsening, and whether your holds are tightening or widening.

This makes Auto-Digest a behavior-change tool rather than a static report.

Pausing, removing, switching wallets

On the Auto-Digest page:

  • PAUSE stops the schedule from running. You can RESUME later. The wallet stays designated.
  • REMOVE deletes the schedule entirely. Past runs stay in your history and remain accessible. After removal, you can designate a different wallet and re-activate.

To switch wallets, REMOVE the current schedule, then re-activate with the new wallet.

Channel switching

You can change your delivery channel (Telegram / Email / Both) at any time from the active-schedule card. Each channel needs to be set up before you can pick it.


Credits and pricing

EdgePump runs on a simple credit system.

  • 1 credit = 0.01 SOL
  • Credits don't expire
  • You buy credits in the Beta Access page
  • Each scan or digest run debits the credit cost shown for that action

Manual scan pricing

  • 24h scan: 1 credit
  • 7d scan: 3 credits (includes 24h)
  • 30d scan: 5 credits (includes 7d + 24h + Behavior Drift)
  • 90d scan: 7 credits (includes 30d + 7d + 24h + Behavior Drift)
  • Full history: COMING SOON

Auto-Digest pricing

  • 3 credits per weekly run
  • Around 12 credits per month
  • The first run is free

If your balance falls below 3 credits while Auto-Digest is active, we send you a low-balance notification. If it reaches zero, we pause your schedule (instead of failing silently). Top up and your schedule auto-resumes on the next cron tick.

If a run hits a wallet with no trades in the last 7 days, we skip the run and burn no credits.

If a run hits a transient failure (RPC timeout, network blip), we retry up to twice, skip if all retries fail, burn no credits, and don't pause your schedule.


Privacy and security

EdgePump is read-only.

  • We never ask for a seed phrase
  • We never ask for a wallet signature
  • We never touch your funds
  • We never sign transactions on your behalf

The only thing we need is your public wallet address, which is public on-chain data. We read it from the Solana RPC, run it through our diagnostic engine, and present the result to you.

For your account, we store:

  • Your email (for login and digest delivery)
  • Your hashed password (we never see the plaintext)
  • Your Telegram chat id, if you linked Telegram
  • Your designated wallet address, if you set up Auto-Digest
  • A history of your scans and Auto-Digest runs

We don't sell data. We don't share data with third parties. We don't track you across the web. Auto-Digest runs and manual scans happen on our backend, not on your machine.


FAQ

Why don't my numbers match other tools exactly?

PnL on pumpfun is reconstructed from on-chain transactions. Different tools (Axiom, Photon, GMGN, Solscan, BullX, etc.) make different assumptions about routing, slippage, partial fills, MEV, and tokens with non-standard liquidity. Our estimates are internally consistent (a 30d scan and a 7d scan agree on the overlap), but they're not a tax document. The label "estimated PnL" is on every panel for that reason.

Can I track multiple wallets?

Manually, yes. Run as many scans as you want. Auto-Digest supports one wallet per account in v1.

What's the difference between a manual 7d scan and an Auto-Digest run?

Same depth, same engine, same credit cost (3 credits). The difference: Auto-Digest is scheduled, delivered to a channel, and tracks delta vs the previous week. Manual scans are on-demand and one-off.

Why doesn't Auto-Digest get a discount vs manual scans?

Manual 7d scans and Auto-Digest 7d runs use the same engine, the same RPC reads, and produce the same depth of analysis. The cost reflects the work. Auto-Digest's value is in being automatic and tracking delta, not in being cheaper.

Are the 8 leak patterns the only thing you check?

For v1, yes. The deterministic engine is what powers the diagnostics today. We have an LLM coaching layer wired up but it's not active yet because we want the diagnostic surface to remain reproducible and accountable. If we say you have REVENGE_SIZING, we can always show you exactly the math behind that call.

What happens if I run a scan on a wallet that has zero pumpfun trades?

You'll see a "no activity in window" result and your credits won't be charged.

How accurate is the leak detection?

The engine uses fixed mathematical thresholds. The detection is deterministic, not probabilistic. If your size discipline number is +62% in the data, the engine will always call REVENGE_SIZING. No randomness, no model drift.

Why no profit promises, no signals, no shilling?

Because EdgePump is read-only analytics, not a trading service. We don't tell you what to buy. We tell you what's killing your existing PnL. The fix is yours to execute.


Contact

EdgePump signups are open to the public. Create an account at edgepump.io to start running scans or activate Auto-Digest.