# Crypto Pro App API Reverse-engineered API from Crypto Pro iOS/macOS app. Public endpoints, no authentication required. ## Dictionary Endpoint Provides reference data for all assets, exchanges, and client configuration. This is the lookup table to convert between asset IDs, symbols, and names. Should be cached locally as it rarely changes. ```bash curl "https://cdn.cryptopro.app/data/dictionary.json" ``` **Sample response**: ```json { "a": [ [6, "BTC", "Bitcoin", 3, "f09428"], [7, "ETH", "Ethereum", 3, "797faf"], [8, "XRP", "XRP", 3, ""], [1360,"TRX","TRON",3,"ff503d"], [3003,"BSV","Bitcoin SV",3,"ebb604"], ... ], "e": [ [1, "Yahoo Finance", 1, 3600, "yahoo.com"], [2, "All Cryptos", 2, 60, "coinmarketcap.com"], [3, "Binance", 3, 300, "binance.com"], ... ], "l": [...], "o": [ [0 ,"BTT:3121,CDT:1984,TRON:1360,TRX:1360,IOTA:13,HOT:2176,BLZ:1916,BAT:44,LEO:3359,BCHSV:3003,BCHABC:965,ONE:3390,KNC:1348,WAN:2059,VET:1259,ATOM:3199,ORS:2347,DOT:12008,UNI:12777,BEL:12742,XVS:13009,LIT:14439,GRT:13918,LUNA:8989,COMP:11750,CLV:16189"] ], "u": [...], "w": [...] } ``` **Response properties**: ### `a` - Assets array Each asset has 5 values: - `[0]` - Asset ID (integer) - `[1]` - Symbol (string) - `[2]` - Full name (string) - `[3]` - Asset type: `1` = Fiat, `2` = Metal, `3` = Crypto - `[4]` - Hex color for UI (string, can be empty) ### `e` - Exchanges array Each exchange has 5 values: - `[0]` - Exchange ID (integer) - `[1]` - Display name (string) - `[2]` - Exchange type: `1` = Fiat aggregator, `2` = Crypto aggregator, `3` = Spot exchange - `[3]` - TTL/cache duration in seconds (integer) - `[4]` - Data source domain (string) ### Other arrays: - `l` - UI presets for watch lists - `o` - Symbol aliases mapping alternative symbols to asset IDs - `u` - Feature flags for client - `w` - Popular assets list (?) ## Query Specific Assets Get current market data for specific cryptocurrencies by their asset IDs. This is the most efficient way to track a portfolio or watchlist, returning only the data queried in a compact format. ```bash curl "https://api.cryptopro.app/v4/markets.php?i=6,7,8&k=17231040" ``` **Response - 5 values per asset**: ```json { "d": [ [6, 107207, 0.0088, 299132, "1210112225559855668976666"], // BTC [7, 2423.74, -0.0119, 6485330, "9875467423334400224541233"], // ETH [8, 2.18, -0.002, 1010840000, "2002002429700242002"] // XRP ] } ``` - `[0]` - Asset ID (matches dictionary.json) - `[1]` - Current price in USD (float) - `[2]` - 24h change as decimal (`0.0088` = +0.88%) - `[3]` - 24h volume in asset units (multiply by `[1]` to get volume in USD) - `[4]` - Sparkline: string of digits 0-9 representing price trend ## Query All Market Data Get comprehensive market data from a specific exchange/aggregator. ### Fiat Market Data Exchange ID (`e`) `1` uses Yahoo Finance for fiat currency exchange rates. Returns simplified data with 5 values per currency pair. ```bash curl "https://api.cryptopro.app/v4/markets.php?e=1&k=17231040" ``` **Response - 5 values per currency**: ```json { "d": [ [1, 1, 0, 0, "0", 1, 1], // USD [2, 0.6532, -0.0015, 0, "56933550024555555555555", 2, 1], // AED [3, 1.17192, 0.0008, 0, "232963540013444444444444", 3, 1], // EUR ... ] } ``` - `[0]` - Provider ID (Yahoo's internal ID) (?) - `[1]` - Exchange rate to USD (float) - `[2]` - 24h change as decimal (`-0.0015` = -0.15%) - `[3]` - Volume (always `0` for fiat) - `[4]` - Sparkline (string of digits 0-9) - `[5]` - Asset ID (links to `dictionary.json`) - `[6]` - Quote currency ID (`1` = USD) _Note: Asset ID `1` is USD itself, hence rate is always `1`._ ### Crypto Market Data Exchange ID (`e`) `2` uses CoinMarketCap (per `dictionary.json`'s domain field). Returns extended information including market cap, supply data, and global market statistics. Default returns ~17,000 cryptos; use `l` parameter to limit results. ```bash curl "https://api.cryptopro.app/v4/markets.php?e=2&k=17231040" ``` **Response - 10 values per asset + `i` global stats object**: ```json { "d": [ [6, 108110, 0.0140035, 298501, "1011222555985566897666899", 6, 1, 19883500, 19883500, 21000000], // BTC [7, 2507.94, 0.0209144, 7017060, "4334431222330011333112599", 7, 1, 120718000, 120718000, 0], // ETH [8, 2.21, 0.0100393, 1127880000, "200242970024200244", 8, 1, 59005500000, 99986000000, 100000000000], // XRP ... ], "i": { "b": 0.626195, "g": 0.0086846, "m": 3405600000000, "v": 96316300000 } } ``` ### Array values: - `[0]` - Provider ID (CoinMarketCap's internal ID) (?) - `[1]` - Price in USD (float) - `[2]` - 24h change as decimal (`0.0088` = +0.88%) - `[3]` - 24h volume in asset units (multiply by `[1]` to get volume in the quote currency) - `[4]` - Sparkline (string of digits 0-9) - `[5]` - Asset ID (links to `dictionary.json`) - `[6]` - Quote currency ID (`1` = USD) - `[7]` - Circulating supply (`0` = unknown) - `[8]` - Total supply (`0` = unknown) - `[9]` - Max supply (`0` = unlimited, e.g. ETH) ### Global stats object `i`: - `b` - Bitcoin dominance (`0.626195` = 62.62%) - `g` - Global market 24h change (`0.0086846` = +0.87%) - `m` - Total crypto market cap in USD - `v` - Total 24h volume in USD