Solana DEX Trades & Order Flow - Swap Tape, Whales, Snipers
Pricing
from $10.00 / 1,000 order-flow reports
Solana DEX Trades & Order Flow - Swap Tape, Whales, Snipers
Solana DEX trades and order flow per token over any time window: swap tape, buy/sell volume in SOL and USD, net flow, unique buyers/sellers, whales, first buyers and snipers, wallet aggregation. Built in Rust. $0.01 per report.
Pricing
from $10.00 / 1,000 order-flow reports
Rating
0.0
(0)
Developer
OFFGRID LABS
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Security
Limited permissionsShare
What does Solana DEX Trades & Order Flow do?
Solana DEX Trades & Order Flow turns the on-chain swaps of any Solana token into an order-flow report, wallet-level aggregates and a swap tape, over a time window you choose. The report covers buy/sell counts and volume in SOL and USD, net flow, unique buyers and sellers, whale trades, VWAP and, for pump.fun tokens, the first buyers and snipers at launch. Pricing is pay per result: $0.01 per report, $2.00 per 1,000 wallet rows, $0.30 per 1,000 trades, no subscription, bring your own Solana RPC for speed.
Built in Rust for speed, for quant and HFT research, signal generation and backtesting datasets. It is a batch data job (seconds to minutes per run), not a low-latency trading feed.
What data you get
| Record | One row per | Key fields |
|---|---|---|
flow_report | token × window | trades, buys, sells, buy/sell volume (SOL, USD), net flow, buy pressure %, unique buyers/sellers/wallets, avg and median trade, whale trades and volume, VWAP, first/last price, price change %, per-minute buckets, top net buyers/sellers, venues, bonding-curve progress, first buyers + snipers (slot/second offsets, % of supply), coverage stats |
wallet | wallet active in the window | buys, sells, tokens bought/sold, SOL spent/received, USD in/out, net flow, average buy/sell price, window realized PnL, largest trade, whale/sniper flags, early-buyer rank |
trade | decoded swap | time, wallet, side, tokens, SOL, USD, price (USD and SOL), venue (pump.fun curve, PumpSwap, Raydium, Meteora, Orca...), Jupiter-routed flag, decode source, signature |
Use cases
- Backtesting datasets: a clean per-token swap tape with prices in SOL and USD, ready for pandas/Polars.
- Order-flow signals: net flow, buy pressure and unique-wallet counts per window, on a schedule, for a watchlist of mints.
- Sniper and early-buyer analysis: who bought in the first slots after a pump.fun launch, how much of the supply they took, and whether they are still trading.
- Whale tracking: flag trades above your USD threshold and rank wallets by net flow.
How to use it
- Keep the prefilled input (one token, last 60 minutes, 15 trades). Click Start.
- Add your mints to Token mint addresses (up to 25 per run) and set the Time window.
- For larger windows, paste your own Solana RPC URL (encrypted secret, never logged) and raise Max RPC requests per second.
- Choose what to save: report only, plus wallet rows, plus the trade tape. Each row type is priced separately.
Input example
{"tokenMints": ["9BB6NFEcjBCtnNLFko2FqVQBq8HHM13kCyYcdQbgpump"],"windowMinutes": 60,"maxTrades": 2000,"whaleThresholdUsd": 5000,"includeTrades": true,"includeWallets": true,"maxWallets": 100,"includeEarlyBuyers": true,"earlyBuyersCount": 20,"sniperSlots": 2,"rpcUrl": "https://your-rpc.example.com/?api-key=..."}
Output example
{"recordType": "flow_report","symbol": "Fartcoin","windowStart": "2026-11-03T07:02:07Z","windowEnd": "2026-11-03T07:12:07Z","trades": 5, "buys": 0, "sells": 5,"sellVolumeSol": 10.549923,"netFlowUsd": -966.18,"uniqueWallets": 2,"vwapUsd": 0.11464331565621574,"tokenPriceUsdNow": 0.11457739857769347,"venues": { "orca_whirlpool": 5 },"launchScanTruncated": true,"coverage": { "signaturesInWindow": 16, "transactionsFetched": 16, "tradesDecoded": 5, "truncated": false }}
First buyers of a pump.fun token (ROCAT, created and graduated in the same slot):
"earlyBuyers": [{ "rank": 1, "wallet": "dqvtn67V7k8YqAaSaNtXbDL1xuehHB3T6BHJNvAHxnV", "slotsAfterCreate": 0, "pctOfSupply": 0.4653, "sol": 0.12839506, "isSniper": false, "isCreator": true },{ "rank": 2, "wallet": "FCoGGZHxvEx7nrPULijieyhCTdnQLUbbWHn6QiNSNxrX", "slotsAfterCreate": 0, "pctOfSupply": 3.8768, "sol": 1.113994373, "isSniper": true, "isCreator": false }]
{"recordType": "trade","time": "2026-11-03T07:09:24Z","wallet": "Fj2kLuR7qenovonL3RYtxip6m5W4qZKRSzzzhtEt8qgs","side": "sell","tokenAmount": 23.03738,"solAmount": 0.028763655,"usdValue": 2.63,"priceUsd": 0.11434530230893897,"venue": "orca_whirlpool","source": "balance_delta"}
How much does it cost?
| Event | Price | Per 1,000 |
|---|---|---|
flow-report | $0.01 | $10.00 |
wallet | $0.002 | $2.00 |
trade | $0.0003 | $0.30 |
Worked example: one token, 1-hour window, report + 50 wallets + 1,000 trades = $0.01 + $0.10 + $0.30 = $0.41. A report-only watchlist of 20 tokens every hour costs 20 × 24 × $0.01 = $4.80/day. Apify compute is billed separately and is small (about $0.04 per 1,000 trades in our measured runs). The run's max total charge is respected: reports are saved first, then wallets, then trades, and nothing beyond the budget is saved or charged.
How fast is it? (measured)
- Decoder: 4,123 transactions/s on one core (
cargo test --release -- --ignored bench_decode). - End to end, the speed is set by your RPC. On the public endpoint, transactions are fetched at about 1–3 per second. The prefill finishes in about 30–45 s, and 1,000 trades take several minutes. Your own RPC with a higher Max RPC requests per second scales close to linearly.
How it works
- Where swaps come from: the token's pump.fun bonding curve (if any) and its top pools by liquidity (DexScreener public API). Optionally also the mint's own history.
- Decoding: pump.fun bonding-curve trades are decoded exactly from the program's
TradeEvent. All other DEX swaps (PumpSwap, Raydium, Meteora, Orca, Jupiter routes) come from the trader's balance changes. The network fee is added back and token-account rent deposits/refunds are removed, sosolAmountis the swap leg. Priority tips paid as separate transfers cannot be separated. Transactions where the signer's token balance does not change (for example arbitrage loops) are not counted as trades. - USD values use the SOL price at run time (Jupiter Price API v3, with GeckoTerminal as fallback). For windows longer than a day, prefer the SOL columns.
- Snipers: buys within
sniperSlots(default 2, ~0.8 s) of the creation slot. The creator is listed but never flagged. - Coverage is reported, not hidden:
coverage.truncatedis true when the window held more swaps thanmaxTrades. - Read-only. The actor never signs, trades or touches private keys.
How it compares
| Approach | Swap tape | Wallet / sniper analytics | Effort | Terms |
|---|---|---|---|---|
| This actor | pump.fun events + DEX-agnostic balance deltas, SOL and USD | report, wallet rows, first buyers | one click or one API call | public blockchain data + public APIs |
| DIY with a Solana RPC | yes, after writing parsers per DEX | build yourself | high | your RPC provider's terms |
| Paid indexer / data API | usually yes | varies | API key, subscription | the vendor's terms |
| Scraping trading dashboards | what the page shows | what the page shows | brittle | check the site's terms first |
FAQ
How do I get all trades for a Solana token?
Add the mint, set the time window and maxTrades high enough, and enable the trade tape. Check coverage.truncated in the report to confirm you got everything.
How do I find snipers and first buyers of a pump.fun token?
Keep Detect first buyers & snipers on. The report lists the first N distinct buyers with slots/seconds after creation, % of supply and a sniper flag. Old or very busy tokens may need more Launch history pages.
What is net flow and buy pressure?
Net flow = buy volume − sell volume (SOL and USD) in the window. Buy pressure = buy USD ÷ total USD × 100.
Which DEXes are supported?
pump.fun bonding curve (exact events), PumpSwap, Raydium (AMM v4, CPMM, CLMM, LaunchLab), Meteora (DLMM, DAMM v1/v2, DBC), Orca Whirlpool, and Jupiter-routed swaps through any of them.
How is wallet PnL calculated?
windowRealizedPnlUsd is average-cost PnL on the tokens a wallet both bought and sold inside the window. It is not lifetime PnL.
Do I need my own Solana RPC?
No, but the public endpoint is slow and rate-limited. For long windows or many tokens, use your own RPC URL (stored as a secret).
Is this low-latency data for HFT execution?
No. Runs take seconds to minutes. Use it for research, monitoring and building backtesting datasets.
Is it legal?
The data comes from the public Solana blockchain via JSON-RPC, plus public price/pair APIs within their documented limits. No scraping, no logins.
Integrations
Use the Apify API (run-sync-get-dataset-items), the Python and JavaScript API clients (apify-client), schedules, webhooks, and the Apify integrations for n8n, Make, Zapier, Google Sheets and Slack. AI agents can call it through the Apify MCP server (actors: offgrid-labs/solana-dex-order-flow). Every field has a schema description with units.
Changelog
- 2026-11-03 · 0.1 · First release: order-flow report, wallet aggregation, swap tape, first buyers/snipers for pump.fun tokens, multi-DEX balance-delta decoding, bring-your-own RPC.
Related actors
| Actor | What it does |
|---|---|
| Pump.fun New Tokens & Graduations Feed | New pump.fun launches with dev buy and bundle data, plus graduations to PumpSwap |
| Solana Token Holders & Rug Check | Holder concentration, dev wallet, fresh wallets, authorities, LP burn |
Not financial advice. Data is provided as-is for research. Nothing here is a recommendation to buy or sell any token.
// OFFGRID LABS ─────────────────────────────────────────────// status: monitored 24/7 by a self-hosted agent swarm// health checks: every 6h · auto-repair + rollback on failure// sources: official public APIs and open data only// support: open an issue — human-reviewed response within 24h// ───────────────────────────────────────────────────────────