Crypto Price Tracker — Coins, DEX Pairs & Wallet PnL
Pricing
from $3.00 / 1,000 coin trackeds
Crypto Price Tracker — Coins, DEX Pairs & Wallet PnL
Track crypto prices for a coin watchlist or the top N by market cap, look up DEX pairs by token address or symbol, and check wallet PnL and winrate. One unified record per coin, pair or wallet with price, market cap, % changes, ATH/ATL and supply. No API key.
Pricing
from $3.00 / 1,000 coin trackeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
2
Monthly active users
6 days ago
Last modified
Categories
Share
What is Crypto Price Tracker?
This Apify Actor serves analysts, builders, and AI agents that need one unified crypto record per coin, pair, or wallet. It accepts a watchlist, a top-N market sweep, DEX token or pair queries, or wallet-stat requests, and returns one dataset item per requested record with fields such as price, marketCap, liquidityUsd, totalValueUsd, winrate7dPct, priceSource, lastUpdated, and scrapedAt. The result is a single structured dataset that can be filtered by recordType and used through Apify MCP or the Apify API.
Which of our crypto Actors fits? This Actor returns one unified record per coin, DEX pair or wallet.
- For CoinMarketCap rankings, exchanges or global market metrics, use CoinMarketCap Crypto Scraper instead.
- When you need DEX pair alerts, boosts and new-listing discovery, use Dexscreener Realtime Monitor instead.
- When you need quotes across stocks, ETFs, forex and crypto in one run, use Stock Price Tracker instead.
Best fit and connected workflows
This Actor fits workflows that benefit from one crypto data tool with a unified schema:
- CEX monitoring for a fixed watchlist such as BTC, ETH, SOL, XRP, or DOGE.
- Market sweeps for the top N coins by market cap.
- DEX lookups from a token address or symbol search across supported chains.
- Wallet summaries with total value, realized and unrealized PnL, winrate, token counts, tags, and recent activity.
It is available as an Apify Actor through Apify MCP, so an agent can route a single request into the correct mode and then branch on recordType in the returned dataset.
Practical scenario
Maya prepares a daily crypto brief for her team. She starts with BTC, ETH, and SOL in watchlist mode and receives records with price, change24h, marketCap, marketCapRank, ath, atl, and the second-source exchange price binancePriceUsd when that enrichment is enabled. She uses change24h and marketCapRank to sort the brief, then sends the dataset link into her dashboard so the same records can be displayed with refreshed values later.
Input fields
| Field | Type | Used in | Description |
|---|---|---|---|
mode | string | all | Selects watchlist, market, dex, or wallet. |
symbols | array of strings | watchlist | Coin tickers for CEX tracking. Up to 100. |
topN | integer | market | Number of top coins to fetch by market cap. Range 10-1000. |
vsCurrency | string | watchlist, market | Quote currency for CEX modes. |
useBinanceFallback | boolean | watchlist, market | Adds a second-source exchange ticker price and volume to CEX records. |
dexQueries | array of strings | dex | Token contract addresses or symbol/name searches. Up to 50. |
dexChain | string | dex | Chain context for DEX symbol or EVM-address lookups. |
dexMaxPairsPerToken | integer | dex | Number of pairs returned per query, sorted by liquidity. |
walletAddresses | array of strings | wallet | Wallet addresses for on-chain wallet stats. Up to 50. |
walletChain | string | wallet | Chain context for the wallet lookup. |
walletPeriod | string | wallet | Aggregation window for PnL and trading stats. |
responseFormat | string | all | detailed or concise output shape. |
Valid focused JSON example
{"mode": "watchlist","symbols": ["BTC", "ETH", "SOL"],"vsCurrency": "usd","useBinanceFallback": true,"responseFormat": "detailed"}
Output fields
The Actor writes a unified dataset. Use recordType to route each record shape.
| Field | Type | Description |
|---|---|---|
recordType | string | cex-coin, dex-pair, or wallet-holding. |
symbol | string | Ticker for coin and pair records, or chain name in wallet records. |
name | string | Display name. |
chain | string or null | cex for CEX records, or a blockchain name for on-chain records. |
address | string or null | Contract, pair, or wallet address. |
coingeckoId | string or null | Stable market-data slug for CEX records, such as bitcoin. |
quoteCurrency | string or null | Quote currency for CEX records. |
price | number or null | Current price for CEX records. |
marketCap | number or null | Market cap for CEX or DEX records. |
volume24h | number or null | 24h volume. |
change1h | number or null | 1-hour change in percent. |
change24h | number or null | 24-hour change in percent. |
change7d | number or null | 7-day change in percent. |
change30d | number or null | 30-day change in percent. |
ath | number or null | All-time high. |
athDate | string or null | ISO 8601 timestamp for ATH. |
athChangePct | number or null | Distance from ATH in percent. |
atl | number or null | All-time low. |
atlDate | string or null | ISO 8601 timestamp for ATL. |
circulatingSupply | number or null | Coins in circulation. |
totalSupply | number or null | Total coins minted. |
maxSupply | number or null | Hard cap on supply. |
marketCapRank | number or null | Global rank for CEX records. |
dominancePct | number or null | Share of total crypto market cap. |
binancePriceUsd | number or null | Second-source exchange USDT-pair price for CEX records when useBinanceFallback is on. |
binanceVolume24hUsd | number or null | Second-source exchange 24h volume on the USDT pair. |
dexId | string or null | DEX protocol name. |
pairAddress | string or null | DEX pool contract address. |
priceUsd | number or null | DEX pair price in USD. |
priceNative | number or null | DEX pair price in the quote token. |
liquidityUsd | number or null | Total pool liquidity in USD. |
fdvUsd | number or null | Fully diluted valuation in USD. |
volume1h | number or null | 1-hour pair volume in USD. |
volume6h | number or null | 6-hour pair volume in USD. |
buys24h | number or null | Buy transactions in 24h. |
sells24h | number or null | Sell transactions in 24h. |
change5m | number or null | 5-minute price change in percent. |
change6h | number or null | 6-hour price change in percent. |
pairCreatedAt | string or null | ISO 8601 pair creation timestamp. |
dexScreenerUrl | string or null | Public DEX pair page. |
walletAddress | string or null | Wallet identifier. |
totalValueUsd | number or null | Total wallet value in USD. |
unrealizedPnlUsd | number or null | Open-position profit or loss in USD. |
realizedPnlUsd | number or null | Closed-position profit or loss in USD. |
pnl7dPct | number or null | 7-day total PnL in percent. |
pnl30dPct | number or null | 30-day total PnL in percent. |
winrate7dPct | number or null | Win rate of closed positions in the last 7 days. |
winrate30dPct | number or null | Win rate of closed positions in the last 30 days. |
buy7dCount | number or null | Buy transactions in the last 7 days. |
sell7dCount | number or null | Sell transactions in the last 7 days. |
tokenCount | number or null | Total distinct tokens traded. |
profitableTokenCount | number or null | Distinct tokens with positive PnL. |
avgHoldingHours | number or null | Mean holding time in hours. |
walletTags | array or null | Wallet behaviour tags such as smart_degen, kol, sniper, bundler, rat_trader. |
lastActiveAt | string or null | ISO 8601 timestamp of last on-chain activity. |
gmgnUrl | string or null | Public wallet analytics page. |
priceSource | string | Source identifier for the record: coingecko (market-data index), binance (exchange ticker), dexscreener (DEX index) or gmgn (wallet index). |
lastUpdated | string or null | Upstream refresh timestamp. |
coingeckoUrl | string or null | Public market-data page for CEX records. |
scrapedAt | string | Extraction timestamp in UTC. |
Example output record
A real BTC record from a watchlist run with responseFormat: "detailed" (DEX and wallet fields, which are null on coin records, are omitted here):
{"recordType": "cex-coin","symbol": "BTC","name": "Bitcoin","chain": "cex","address": null,"coingeckoId": "bitcoin","quoteCurrency": "usd","price": 85220.72426601453,"marketCap": 1712404417052,"volume24h": 32704678052,"change1h": 0.0979,"change24h": -0.09657,"change7d": 2.3315,"change30d": 6.8917,"ath": 126080,"athDate": "2025-10-06T10:57:42.000Z","athChangePct": -32.40736,"atl": 67.81,"atlDate": "2013-07-05T16:00:00.000Z","circulatingSupply": 20093759,"totalSupply": 20093875,"maxSupply": 21000000,"marketCapRank": 1,"dominancePct": null,"binancePriceUsd": 85287.99,"binanceVolume24hUsd": 5954912.8974596,"priceSource": "coingecko","lastUpdated": "2026-10-05T17:13:30.000Z","coingeckoUrl": "https://www.coingecko.com/en/coins/bitcoin","scrapedAt": "2026-10-05T17:15:58.794Z"}
dominancePct is filled in market mode.
How it works
The Actor runs in four modes under one unified schema:
watchlistresolves tickers and fetches CEX prices and market data.marketfetches the top N coins by market cap and includesdominancePct.dexlooks up tokens or pairs in a public DEX index, by address or by symbol.walletlooks up a public wallet analytics index to return portfolio and PnL statistics.
For CEX modes, a public market-data index is the primary source, and an optional exchange ticker adds a second-source price. For DEX mode, pairs are returned in liquidity order. For wallet mode, the chain is set explicitly in the input and returned in the dataset records.
Pricing
This Actor uses Pay per event pricing with Apify platform usage included in the event price. See the Pricing tab for current event prices.
Billed events:
- Actor start: once per run, one unit per GB of allocated memory (minimum one).
- Coin Tracked: once per coin record saved in
watchlistormarketmode. Three coin records in watchlist mode use three Coin Tracked events.
DEX pair records (dex mode) and wallet records (wallet mode) are not billed as a result event under the current pricing record, so those runs bill only the Actor start event. The Pricing tab always lists the events that apply.
Use with AI agents (MCP)
This Actor is available through Apify MCP as an Apify Actor for crypto data retrieval. The exact Actor identity is khadinakbar/crypto-price-tracker.
Tool description: retrieve structured CEX coin data, DEX pair data, or wallet PnL summaries with one unified schema and provenance fields.
Get current BTC, ETH, and SOL prices in USD, include 24h changes and market cap, and return one record per coin in detailed format.
When an agent calls the Actor through MCP:
cex-coinrecords route to price, market cap, change, supply, and ATH/ATL fields.dex-pairrecords route to pair-level price, liquidity, FDV, and volume fields.wallet-holdingrecords route to wallet value, PnL, winrate, token count, and tags.
For interpretation, check priceSource to see which source class produced the record. scrapedAt shows when this Actor extracted the record, and lastUpdated shows the upstream refresh time when present. Scope is controlled by the selected mode, so each MCP call returns one category of records. Pagination is handled through the Apify dataset items for the run. Cost planning is simplest when you count the requested coins before running: in watchlist and market mode one coin maps to one Coin Tracked event.
Apify API example
const { ApifyClient } = require("apify-client");(async () => {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"],vsCurrency: "usd",useBinanceFallback: true,responseFormat: "detailed",});const dataset = client.dataset(run.defaultDatasetId);const { items } = await dataset.listItems();for (const item of items) {console.log({symbol: item.symbol,price: item.price,change24h: item.change24h,source: item.priceSource,});}})();
Best results and outcome guidance
Use watchlist when you already know the coins you want to track. Use market when you want a ranked sweep of the top N coins by market cap. Use dex when the task starts from a token address or symbol search and you need pair-level liquidity and volume. Use wallet when the starting point is a wallet address and the decision depends on PnL, winrate, holdings breadth, or recent activity.
responseFormat: "concise" is useful when an agent needs compact context. responseFormat: "detailed" is useful when downstream logic depends on historical fields such as ATH, ATL, supply, or longer change windows.
Design note
I found that the dataset schema uses recordType as the main discriminator, and the output views are split into All Records Overview, CEX Watchlist, DEX Pairs, and Wallet Stats, which makes the unified schema straightforward to route in downstream code.
FAQ
When should I use watchlist instead of market?
Use watchlist when you have specific tickers. Use market when you want a ranked sweep of the top N coins by market cap.
When should I use dexQueries instead of symbols?
Use symbols for CEX coin tracking. Use dexQueries for DEX token or pair lookup by address or symbol.
How should I choose dexChain?
Set dexChain when the query is a symbol or when you want to scope EVM address lookups. Hex addresses are auto-detected, and Solana addresses follow native parsing.
When should I use walletChain and walletPeriod?
Set walletChain to match the wallet address network. Set walletPeriod to choose the aggregation window for PnL and winrate.
How do I tell which source powered a record?
Check priceSource. CEX records carry the market-data index or exchange identifier, DEX records carry the DEX index identifier, and wallet records carry the wallet index identifier.
How do I read the dataset efficiently in code?
Read defaultDatasetId from the run, then fetch dataset items and filter on recordType before routing each record into your own logic.
Responsible use
Use this Actor for informational, research, automation, and agent workflows. Crypto prices, DEX liquidity, and wallet statistics change over time, so freshness depends on the upstream source and the scrapedAt and lastUpdated timestamps in each record. Review source fields before making decisions, and treat the output as a data input rather than advice.