Crypto Price Tracker — Multi-Source Watchlist & Market API avatar

Crypto Price Tracker — Multi-Source Watchlist & Market API

Pricing

from $3.00 / 1,000 coin trackeds

Go to Apify Store
Crypto Price Tracker — Multi-Source Watchlist & Market API

Crypto Price Tracker — Multi-Source Watchlist & Market API

Fetch real-time prices, market cap, 24h/7d/30d changes, ATH/ATL, supply, dominance, and computed analytics for a watchlist of coins (BTC, ETH, SOL...) or the top N by market cap. Multi-source: CoinGecko primary, Binance fallback. PPE: $0.003/coin.

Pricing

from $3.00 / 1,000 coin trackeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Share

🪙 Crypto, DEX & Wallet Tracker — CEX + On-Chain API

One unified API for everything an AI agent needs about crypto. Real-time CEX prices (CoinGecko + Binance), DEX trading pairs (DexScreener — Solana, Ethereum, Base, BSC, Polygon, Arbitrum, Optimism, Avalanche, Tron), and on-chain wallet stats with PnL (GMGN — Solana, Ethereum, BSC, Base, Tron). Four modes, one output schema, one tool call. Built for AI trading agents, portfolio bots, crypto research, and DEX intelligence workflows.

What you get

A single unified record per data point with a recordType discriminator (cex-coin / dex-pair / wallet-holding):

CEX coin record (mode = watchlist or market)

FieldTypeNotes
symbolstringUppercase ticker (BTC, ETH, …)
namestring"Bitcoin", "Ethereum"
coingeckoIdstringStable slug (e.g. bitcoin)
quoteCurrencystringusd, eur, gbp, jpy, btc, etc.
pricenumberCurrent price in quoteCurrency
marketCap / volume24hnumberMarket metrics in quoteCurrency
change1h / change24h / change7d / change30dnumber% changes
ath / athDate / athChangePct / atl / atlDatenumber/stringATH / ATL data
circulatingSupply / totalSupply / maxSupplynumberSupply metrics
marketCapRanknumber1 = highest
dominancePctnumber% of total crypto market cap (market mode)
binancePriceUsd / binanceVolume24hUsdnumberBinance USDT-pair fallback
priceSourcestringcoingecko or binance

DEX pair record (mode = dex)

FieldTypeNotes
symbol / namestringToken ticker + name
chainstringsolana, ethereum, bsc, base, …
addressstringToken contract address
dexIdstringraydium, uniswap, pancakeswap, …
pairAddressstringDEX pool contract
priceUsd / priceNativenumberUSD + quote-token price
liquidityUsd / fdvUsd / marketCapnumberPool depth + valuation
volume24h / volume6h / volume1hnumberMulti-window volume
buys24h / sells24hnumberTransaction counts
change5m / change1h / change6h / change24hnumber% changes
pairCreatedAtstringISO 8601 — pool age
dexScreenerUrlstringPublic DexScreener page
priceSourcestringdexscreener

Wallet record (mode = wallet)

FieldTypeNotes
walletAddressstringThe wallet you queried
chainstringsol, eth, bsc, base, tron
totalValueUsdnumberSum of holdings, USD
unrealizedPnlUsd / realizedPnlUsdnumberOpen + closed PnL
pnl7dPct / pnl30dPctnumberTime-windowed PnL %
winrate7dPct / winrate30dPctnumberWin rate of closed trades
buy7dCount / sell7dCountnumberTrade volume
tokenCount / profitableTokenCountnumberToken breadth
avgHoldingHoursnumberMean hold duration
walletTagsstring[]GMGN labels: smart_degen, kol, sniper, bundler, rat_trader
lastActiveAtstringISO 8601
gmgnUrlstringPublic GMGN page
priceSourcestringgmgn

Why use this

Most crypto actors do one thing — DEX pairs OR wallet stats OR CEX prices. This one does all three through a single tool call with a unified schema. For an AI agent picking among tools at runtime, one tool with four modes beats four tools with bespoke shapes every time.

  • Watchlist mode — track BTC, ETH, SOL by ticker. 5 coins = $0.015.
  • Market mode — top 100 / 250 / 1000 by market cap. Top 100 = $0.30.
  • DEX mode — DexScreener pairs by token address or symbol search. 5 pairs = $0.025.
  • Wallet mode — GMGN on-chain wallet stats with PnL across SOL/ETH/BSC/Base/Tron. 1 wallet = $0.005.
  • Multi-source resilience — CoinGecko + Binance fallback for CEX; Apify Proxy fronts GMGN's Cloudflare.
  • Unified MCP tool — one tool name on Apify MCP gets you everything; cleaner agent UX than juggling 5 single-purpose actors.
  • No API keys — uses free public endpoints with smart rate-limit handling.

Pricing — Pay Per Event

EventPriceWhat it covers
Actor Start (per GB-RAM)$0.00005One per run
CEX Coin Tracked$0.003 per coinmode = watchlist or market
On-Chain Record$0.005 per recordmode = dex (one per pair) or wallet (one per wallet)

Apify platform usage (compute + proxy passthrough) is billed against your Apify plan separately. Typical run uses ~0.0002 compute units.

Cost examples

  • 5-coin watchlist (BTC, ETH, SOL, XRP, DOGE): $0.015 + ~$0.00005 start
  • 25-coin watchlist: $0.075 + start
  • Top 100 market sweep: $0.30 + start
  • 5 DEX queries × 3 pairs each (default): $0.075 + start
  • 10 wallets analyzed: $0.05 + start

How to use it

Inputs

FieldRequiredDefaultNotes
modeyeswatchlistwatchlist / market / dex / wallet
symbolswatchlist only["BTC","ETH","SOL","XRP","DOGE"]Up to 100 tickers
topNmarket only10010–1000
vsCurrencyCEX modesusdusd, eur, gbp, jpy, cny, btc, eth
useBinanceFallbackCEX modestrueBinance ticker enrichment
dexQueriesdex only["So11…", "PEPE"]Token addresses or symbol searches
dexChaindex onlysolanaScope for EVM-address lookups
dexMaxPairsPerTokendex only31–20 pairs per query
walletAddresseswallet only["0xd8dA…"]EVM hex or Solana base58
walletChainwallet onlyethsol, eth, bsc, base, tron
walletPeriodwallet only7d1d, 7d, 30d
responseFormatalldetaileddetailed or concise (drops historical fields)

CEX watchlist example (JavaScript)

const { ApifyClient } = require('apify-client');
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('khadinakbar/crypto-price-tracker').call({
mode: 'watchlist',
symbols: ['BTC', 'ETH', 'SOL', 'XRP', 'DOGE'],
vsCurrency: 'usd',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((c) => console.log(`${c.symbol}: $${c.price} (${c.change24h?.toFixed(2)}%)`));

DEX pair lookup example (Python)

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("khadinakbar/crypto-price-tracker").call(run_input={
"mode": "dex",
"dexQueries": [
"So11111111111111111111111111111111111111112", # SOL on Solana
"0xdAC17F958D2ee523a2206206994597C13D831ec7", # USDT on Ethereum
"PEPE", # symbol search across all chains
],
"dexChain": "ethereum", # default for hex addresses
"dexMaxPairsPerToken": 3,
})
for pair in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{pair['symbol']} on {pair['chain']}/{pair['dexId']}: "
f"${pair['priceUsd']} | Liq ${pair['liquidityUsd']:,.0f} | 24h Vol ${pair['volume24h']:,.0f}")

Wallet PnL example (JavaScript)

const run = await client.actor('khadinakbar/crypto-price-tracker').call({
mode: 'wallet',
walletAddresses: [
'0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', // vitalik.eth
],
walletChain: 'eth',
walletPeriod: '7d',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((w) => {
console.log(`${w.walletAddress}: $${w.totalValueUsd?.toFixed(0)} total, ` +
`${w.pnl7dPct?.toFixed(2)}% 7d PnL, ${w.winrate7dPct?.toFixed(1)}% winrate, ` +
`tags: ${w.walletTags?.join(', ') || 'none'}`);
});

MCP / AI-Agent usage

This actor is registered with Apify MCP as apify--crypto-price-tracker. From any Claude Desktop / Cursor / GPT setup with Apify MCP enabled:

"Get me current prices and 24h changes for BTC, ETH, and SOL"
"What are the top 50 coins by market cap right now?"
"How far is each of these coins from its all-time high: BTC, ETH, SOL?"
"Look up DexScreener pairs for token address So11111111111111111111111111111111111111112"
"What's the PnL on Solana wallet FRWqMbQpfNvK… over the last 7 days?"

The agent picks the right mode, gets a flat JSON response, and reasons over price + PnL + DEX data without switching tools.

Four modes explained

Watchlist mode (CEX)

Provide a list of tickers. The actor:

  1. Loads CoinGecko's full coin list (cached 24h in KV store).
  2. Resolves each symbol → CoinGecko ID using a curated preference map for top-50 coins.
  3. Fetches /coins/markets in one call (up to 250 IDs per call).
  4. Optionally enriches with Binance USDT-pair tickers (binance.com → binance.us auto-fallback).

Market mode (CEX)

Sweeps the top N coins by market cap:

  1. Pages through /coins/markets (250 per page).
  2. Computes dominancePct from /global for each coin.

DEX mode (NEW)

Each query in dexQueries is either an address (Solana base58 or EVM hex) or a symbol search:

  1. Hex address → DexScreener /tokens/v1/{chain}/{address}.
  2. Solana address → DexScreener /tokens/v1/solana/{address}.
  3. Symbol → DexScreener /latest/dex/search?q={query}.
  4. Top N pairs by liquidity returned per query.

Wallet mode (NEW)

Each wallet address is queried at GMGN's /defi/quotation/v1/smartmoney/{chain}/walletNew/{address}?period={1d|7d|30d}:

  1. Apify Proxy fronts every request to bypass Cloudflare.
  2. Browser-like headers + retry/backoff for stability.
  3. Returns wallet PnL, winrate, tags, token count, and last activity.

Reliability

  • Retry with backoff — 4 retries with exponential backoff (1.5s → 24s) on 5xx errors.
  • Rate-limit aware — 429 triggers Retry-After-aware backoff, 30s minimum.
  • Multi-source fallback — CoinGecko fails → Binance fills USD prices; Binance.com 451 → Binance.US auto.
  • Cloudflare-aware — GMGN requests use Apify Proxy + browser headers; detects HTML challenge pages and reports gracefully.
  • Coin-list cache — the 17K-coin list is cached 24h in the actor's KV store; repeat runs skip the heavy enumeration.
  • Per-record graceful degradation — a single failed wallet/pair doesn't tank the run; failures are logged to summary_run.blockedAddresses / summary_run.queriesUnresolved.
  • PPE limit aware — gracefully exits when the user-set per-run PPE cap is reached, no half-charged runs.

FAQ

Q: How fresh is the data? CoinGecko refreshes every 1–5 min. Binance fallback is sub-second. DexScreener updates every block. GMGN refreshes on-chain data continuously. The lastUpdated field tells you exactly when each record's upstream data was refreshed.

Q: Why am I getting fewer coins / pairs / wallets than I requested? Check summary_run in the run's KV store:

  • CEX: unresolvedSymbols lists tickers not found on CoinGecko.
  • DEX: queriesUnresolved lists queries with no DexScreener match.
  • Wallet: blocked count and blockedAddresses list GMGN/Cloudflare blocks.

Q: GMGN sometimes fails — why? GMGN is Cloudflare-protected. Apify's datacenter proxy bypasses it most of the time, but not always. If many wallets fail in one run, retry. The actor doesn't charge events for blocked addresses.

Q: Can I get raw token transactions from a wallet? This actor returns wallet summaries (PnL, winrate, etc.). For per-trade history, see GMGN-dedicated actors. This one is designed for one MCP call → one summary view.

Q: Is this real-time? On-demand polling, not WebSocket streaming. For continuous feeds, run on a schedule (1–5 min interval via Apify Schedules).

Q: Can I mix modes in one run? No — each run picks one mode. Run separately for CEX + DEX + wallet, or chain them in your orchestration.

This actor uses CoinGecko's free public API, Binance's free public ticker API, DexScreener's free public REST API, and GMGN's public quotation endpoints (via Apify Proxy). All four sources explicitly allow non-commercial polling at reasonable rates. This actor respects rate limits and adds smart backoff on 429 responses.

The data returned is the property of its respective source. Cryptocurrency prices and on-chain data change constantly — readings may be 1–5 minutes stale. Not financial advice. Trading cryptocurrencies and DEX tokens involves substantial risk; do your own research.

Support

Related actors: