18
/100
prowl
Benchmarked Apr 06, 2026

Kraken

Cryptocurrencies Exchange

crypto crypto_app
Benchmark Your API

Score Breakdown

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

Benchmark Analysis Log

Full LLM thinking from the 4-phase benchmark pipeline.

Analyze
```json
{
  "service_type": "crypto_app",
  "base_url": "https://docs.kraken.com/rest",
  "auth_method": "api_key_header",
  "auth_config": {},
  "endpoints": [
    {"path": "/0/public/AssetPairs", "method": "GET", "purpose": "list trading pairs"},
    {"path": "/0/public/Ticker", "method": "GET", "purpose": "price data"}
  ],
  "pricing_model": {"type": "free", "details": {}},
  "rate_limits": {"rpm": 60},
  "capabilities": ["spot_trading", "futures", "staking"],
  "crypto_specifics": {
    "supported_chains": ["ethereum", "bitcoin"],
    "token_count": 160,
    "has_websocket": true,
    "has_orderbook": true,
    "fee_structure": "maker/taker",
    "security_features": ["2fa", "withdrawal_whitelist", "cold_storage"]
  }
}
```
Plan
```json
{
  "tests": [
    {
      "name": "connectivity_and_authentication",
      "endpoint": "/0/public/AssetPairs",
      "method": "GET",
      "headers": {"Authorization": "Bearer YOUR_API_KEY"},
      "payload": {},
      "expected_status": 200,
      "expected_behavior": "Returns list of trading pairs",
      "metrics": ["latency", "status_code"],
      "validation": {"field": "result", "type": "object", "min_length": 1}
    },
    {
      "name": "fetch_price_data",
      "endpoint": "/0/public/Ticker",
      "method": "GET",
      "headers": {"Authorization": "Bearer YOUR_API_KEY"},
      "payload": {"pair": "XXBTZUSD"},
      "expected_status": 200,
      "expected_behavior": "Returns price data for specified pair",
      "metrics": ["latency", "status_code", "accuracy"],
      "validation": {"field": "result.XXBTZUSD.a", "type": "array", "min_length": 1}
    },
    {
      "name": "invalid_trading_pair_error_handling",
      "endpoint": "/0/public/Ticker",
      "method": "GET",
      "headers": {"Authorization": "Bearer YOUR_API_KEY"},
      "payload": {"pair": "INVALID_PAIR"},
      "expected_status": 400,
      "expected_behavior": "Returns error for invalid trading pair",
      "metrics": ["latency", "status_code"],
      "validation": {"field": "error", "type": "array", "min_length": 1}
    },
    {
      "name": "rate_limit_header_check",
      "endpoint": "/0/public/Ticker",
      "method": "GET",
      "headers": {"Authorization": "Bearer YOUR_API_KEY"},
      "payload": {"pair": "XXBTZUSD"},
      "expected_status": 200,
      "expected_behavior": "Responses should include rate limit headers",
      "metrics": ["status_code"],
      "validation": {"field": "headers.Ratelimit-Remaining", "type": "string", "min_length": 1}
    },
    {
      "name": "validate_fee_structure",
      "endpoint": "/0/public/AssetPairs",
      "method": "GET",
      "headers": {"Authorization": "Bearer YOUR_API_KEY"},
      "payload": {},
      "expected_status": 200,
      "expected_behavior": "Validate response contains fee structure (maker/taker)",
      "metrics": ["latency", "status_code"],
      "validation": {"field": "result.*.fees", "type": "array", "min_length": 1, "subfield_type": "array", "subfield_length": 2}
    }
  ],
  "pricing_probes": [],
  "stress_profile": {
    "concurrent_requests": 5,
    "duration_seconds": 10,
    "ramp_up": true
  }
}
```
Execute

0/5 tests passed

TestEndpointStatusLatency
connectivity_and_authenticationGET /0/public/AssetPairs30269ms
fetch_price_dataGET /0/public/Ticker30214ms
invalid_trading_pair_error_handlingGET /0/public/Ticker30214ms
rate_limit_header_checkGET /0/public/Ticker30214ms
validate_fee_structureGET /0/public/AssetPairs30214ms
Interpret
```json
{
  "overall": 25,
  "dimensions": {
    "token_efficiency": 3.0,
    "first_try_success": 0.0,
    "response_parseability": 0.0,
    "error_clarity": 0.0,
    "doc_quality": 2.0,
    "auth_simplicity": 10.0,
    "latency": 8.0,
    "consistency": 0.0
  },
  "pricing_normalized": {
    "maker_fee_bps": null,
    "taker_fee_bps": null,
    "withdrawal_fee_usd": null,
    "free_tier_requests": null
  },
  "issues": [],
  "recommendations": [
    "Investigate why all requests result in a 302 status code and resolve the issue to ensure correct response data.",
    "Enhance response error clarity to include explanations for errors like invalid trading pairs or rate limits.",
    "Improve documentation to ensure that all endpoints and error scenarios are well covered.",
    "Ensure that response data is easily parseable and in numeric JSON format for prices and volumes.",
    "Check the cause of inconsistent data retrieval leading to unexpected responses."
  ]
}
```

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