58
/100
prowl
Benchmarked Apr 06, 2026

CryptoCompare

Cryptocurrencies Comparison

crypto crypto_app
Benchmark Your API

Score Breakdown

Error Clarity 10/10
Auth Simplicity 10/10
Latency 8/10
Parseability 8/10
Consistency 7/10
Documentation 4/10
Token Efficiency 4/10
First-Try Success 2/10

Benchmark Analysis Log

Full LLM thinking from the 4-phase benchmark pipeline.

Analyze
Looking at the CryptoCompare service, this appears to be a cryptocurrency data API provider rather than a traditional crypto app like an exchange or wallet. Based on the configuration and meta information, I can analyze their API structure:

```json
{
  "service_type": "crypto_app",
  "base_url": "https://min-api.cryptocompare.com",
  "auth_method": "api_key_header",
  "auth_config": {
    "header_name": "authorization",
    "param_name": "api_key"
  },
  "endpoints": [
    {"path": "/data/price", "method": "GET", "purpose": "current cryptocurrency prices"},
    {"path": "/data/pricehistorical", "method": "GET", "purpose": "historical price data"},
    {"path": "/data/pricemulti", "method": "GET", "purpose": "multiple currency prices"},
    {"path": "/data/histoday", "method": "GET", "purpose": "daily historical data"},
    {"path": "/data/histohour", "method": "GET", "purpose": "hourly historical data"},
    {"path": "/data/histominute", "method": "GET", "purpose": "minute historical data"},
    {"path": "/data/top/exchanges", "method": "GET", "purpose": "top exchanges by volume"},
    {"path": "/data/news", "method": "GET", "purpose": "cryptocurrency news"},
    {"path": "/data/social/coin/histo", "method": "GET", "purpose": "social sentiment data"}
  ],
  "pricing_model": {
    "type": "tiered",
    "details": {
      "free_tier": "limited requests per month",
      "paid_tiers": "increased rate limits and historical data"
    }
  },
  "rate_limits": {
    "rpm": 100
  },
  "capabilities": ["price_data", "historical_data", "news_aggregation", "social_sentiment", "exchange_data"],
  "crypto_specifics": {
    "supported_chains": ["bitcoin", "ethereum", "litecoin", "cardano", "polkadot"],
    "token_count": 4000,
    "has_websocket": true,
    "has_orderbook": false,
    "fee_structure": "subscription_based",
    "security_features": ["api_key_auth", "rate_limiting", "https_only"],
    "data_types": ["spot_prices", "historical_ohlcv", "volume_data", "market_cap", "social_metrics", "news_feeds"],
    "update_frequency": "real_time",
    "supported_exchanges": 200
  }
}
```
Plan
```json
{
  "tests": [
    {
      "name": "test_btc_usd_price",
      "endpoint": "/data/price",
      "method": "GET",
      "headers": {
        "authorization": "{{api_key}}"
      },
      "payload": {
        "fsym": "BTC",
        "tsyms": "USD"
      },
      "expected_status": 200,
      "expected_behavior": "Returns current BTC price in USD",
      "metrics": ["latency", "accuracy", "status_code"],
      "validation": {
        "field": "USD",
        "type": "number",
        "min_value": 1000
      }
    },
    {
      "name": "test_multi_currency_prices",
      "endpoint": "/data/pricemulti",
      "method": "GET",
      "headers": {
        "authorization": "{{api_key}}"
      },
      "payload": {
        "fsyms": "BTC,ETH",
        "tsyms": "USD,EUR"
      },
      "expected_status": 200,
      "expected_behavior": "Returns multiple cryptocurrency prices in multiple fiat currencies",
      "metrics": ["latency", "accuracy", "status_code"],
      "validation": {
        "field": "BTC.USD",
        "type": "number",
        "min_value": 1000
      }
    },
    {
      "name": "test_historical_daily_data",
      "endpoint": "/data/histoday",
      "method": "GET",
      "headers": {
        "authorization": "{{api_key}}"
      },
      "payload": {
        "fsym": "BTC",
        "tsym": "USD",
        "limit": "30"
      },
      "expected_status": 200,
      "expected_behavior": "Returns 30 days of daily OHLCV data for BTC/USD",
      "metrics": ["latency", "accuracy", "status_code"],
      "validation": {
        "field": "Data",
        "type": "array",
        "min_length": 30
      }
    },
    {
      "name": "test_top_exchanges",
      "endpoint": "/data/top/exchanges",
      "method": "GET",
      "headers": {
        "authorization": "{{api_key}}"
      },
      "payload": {
        "fsym": "BTC",
        "tsym": "USD",
        "limit": "10"
      },
      "expected_status": 200,
      "expected_behavior": "Returns top 10 exchanges by BTC/USD volume",
      "metrics": ["latency", "accuracy", "status_code"],
      "validation": {
        "field": "Data",
        "type": "array",
        "min_length": 5
      }
    },
    {
      "name": "test_crypto_news",
      "endpoint": "/data/news",
      "method": "GET",
      "headers": {
        "authorization": "{{api_key}}"
      },
      "payload": {
        "lang": "EN"
      },
      "expected_status": 200,
      "expected_behavior": "Returns recent cryptocurrency news articles",
      "metrics": ["latency", "accuracy", "status_code"],
      "validation": {
        "field": "Data",
        "type": "array",
        "min_length": 1
      }
    },
    {
      "name": "test_invalid_symbol_error",
      "endpoint": "/data/price",
      "method": "GET",
      "headers": {
        "authorization": "{{api_key}}"
      },
      "payload": {
        "fsym": "INVALID_COIN",
        "tsyms": "USD"
      },
      "expected_status": 200,
      "expected_behavior": "Returns error for invalid cryptocurrency symbol",
      "metrics": ["error_handling", "status_code"],
      "validation": {
        "field": "Response",
        "type": "string",
        "contains": "error"
      }
    },
    {
      "name": "test_no_auth_error",
      "endpoint": "/data/price",
      "method": "GET",
      "headers": {},
      "payload": {
        "fsym": "BTC",
        "tsyms": "USD"
      },
      "expected_status": 401,
      "expected_behavior": "Returns 401 when no API key provided",
      "metrics": ["error_handling", "status_code"],
      "validation": {
        "field": "Message",
        "type": "string",
        "contains": "auth"
      }
    }
  ],
  "pricing_probes": [
    {
      "name": "verify_rate_limit_headers",
      "description": "Check if rate limit information is provided in response headers",
      "endpoint": "/data/price",
      "method": "GET",
      "payload": {
        "fsym": "BTC",
        "tsyms": "USD"
      },
      "check": "response.headers should contain rate limit info (X-RateLimit-* headers)"
    },
    {
      "name": "verify_free_tier_limits",
      "description": "Test if free tier has expected limitations",
      "endpoint": "/data/histoday",
      "method": "GET", 
      "payload": {
        "fsym": "BTC",
        "tsym": "USD",
        "limit": "2000"
      },
      "check": "large historical data requests should be rate limited or require paid tier"
    }
  ],
  "stress_profile": {
    "concurrent_requests": 3,
    "duration_seconds": 15,
    "ramp_up": true
  }
}
```
Execute

7/7 tests passed

TestEndpointStatusLatency
test_btc_usd_priceGET /data/price200163ms
test_multi_currency_pricesGET /data/pricemulti200140ms
test_historical_daily_dataGET /data/histoday200138ms
test_top_exchangesGET /data/top/exchanges200137ms
test_crypto_newsGET /data/news200120ms
test_invalid_symbol_errorGET /data/price200132ms
test_no_auth_errorGET /data/price200125ms
Interpret
```json
{
  "overall": 66,
  "dimensions": {
    "token_efficiency": 4.0,
    "first_try_success": 2.0,
    "response_parseability": 8.0,
    "error_clarity": 10.0,
    "doc_quality": 4.0,
    "auth_simplicity": 10.0,
    "latency": 8.0,
    "consistency": 7.0
  },
  "pricing_normalized": {
    "maker_fee_bps": null,
    "taker_fee_bps": null,
    "withdrawal_fee_usd": null,
    "free_tier_requests": null
  },
  "issues": [
    "All price endpoints failed due to missing required parameters (fsym/fsyms)",
    "News endpoint returns 'Path does not exist' error",
    "Poor parameter discoverability for agent automation",
    "No successful data retrieval in any test case"
  ],
  "recommendations": [
    "Document required parameters clearly with examples",
    "Fix the /data/news endpoint path",
    "Provide default parameter handling or better error guidance",
    "Add endpoint documentation with sample requests",
    "Consider optional parameters for common use cases (BTC/USD defaults)"
  ]
}
```

Agent Readiness

x402 Payments
Not supported
Streaming
No
Sandbox
None
Agent Auth
Unknown
SDKs
None listed
MCP Support
No

Want the full interactive view?

See operational metrics, LLM evaluations, agent readiness, and more.

Open in Dashboard