Real time Cryptocurrency prices through a RESTful API
Full LLM thinking from the 4-phase benchmark pipeline.
```json
{
"service_type": "crypto_app",
"base_url": "https://rest.coincap.io",
"auth_method": "api_key_header",
"auth_config": {
"header_name": "Authorization",
"format": "Bearer {api_key}",
"prepaid_endpoint": "/v3/prepaid/create"
},
"endpoints": [
{"path": "/v2/assets", "method": "GET", "purpose": "list cryptocurrencies with market data"},
{"path": "/v2/assets/{id}", "method": "GET", "purpose": "get specific cryptocurrency details"},
{"path": "/v2/assets/{id}/history", "method": "GET", "purpose": "historical price data"},
{"path": "/v2/assets/{id}/markets", "method": "GET", "purpose": "markets trading specific asset"},
{"path": "/v2/exchanges", "method": "GET", "purpose": "list cryptocurrency exchanges"},
{"path": "/v2/markets", "method": "GET", "purpose": "trading pairs and market data"},
{"path": "/v2/rates", "method": "GET", "purpose": "exchange rates"},
{"path": "/v2/candles", "method": "GET", "purpose": "candlestick chart data"}
],
"pricing_model": {
"type": "prepaid_credits",
"details": {
"free_credits": 100,
"payment_methods": ["USDC_on_Base", "x402_protocol"],
"accountless": true
}
},
"rate_limits": {
"rpm": 200,
"daily_limit": 10000
},
"capabilities": [
"market_data",
"portfolio_tracking",
"price_history",
"exchange_data",
"real_time_prices"
],
"crypto_specifics": {
"supported_chains": ["bitcoin", "ethereum", "multi_chain"],
"token_count": 1000,
"has_websocket": true,
"has_orderbook": false,
"fee_structure": "data_provider",
"security_features": ["x402_protocol", "prepaid_system", "mcp_support"],
"data_coverage": {
"real_time": true,
"historical": true,
"exchanges": true,
"market_caps": true,
"volume_data": true
},
"special_features": {
"mcp_endpoint": "https://rest.coincap.io/mcp",
"x402_support": true,
"accountless_access": true,
"openapi_spec": "https://rest.coincap.io/api-docs.json"
}
}
}
```
```json
{
"tests": [
{
"name": "list_assets",
"endpoint": "/v2/assets",
"method": "GET",
"headers": {},
"payload": {},
"expected_status": 200,
"expected_behavior": "Returns list of cryptocurrencies with market data",
"metrics": ["latency", "accuracy", "status_code"],
"validation": {
"field": "data",
"type": "array",
"min_length": 1,
"required_fields": ["id", "rank", "symbol", "name", "priceUsd", "marketCapUsd"]
}
},
{
"name": "get_bitcoin_details",
"endpoint": "/v2/assets/bitcoin",
"method": "GET",
"headers": {},
"payload": {},
"expected_status": 200,
"expected_behavior": "Returns Bitcoin market data and details",
"metrics": ["latency", "accuracy", "status_code"],
"validation": {
"field": "data",
"type": "object",
"required_fields": ["id", "symbol", "name", "priceUsd", "marketCapUsd", "volumeUsd24Hr"]
}
},
{
"name": "get_bitcoin_history",
"endpoint": "/v2/assets/bitcoin/history",
"method": "GET",
"headers": {},
"payload": {},
"expected_status": 200,
"expected_behavior": "Returns historical price data for Bitcoin",
"metrics": ["latency", "accuracy", "status_code"],
"validation": {
"field": "data",
"type": "array",
"min_length": 1,
"required_fields": ["priceUsd", "time"]
}
},
{
"name": "list_exchanges",
"endpoint": "/v2/exchanges",
"method": "GET",
"headers": {},
"payload": {},
"expected_status": 200,
"expected_behavior": "Returns list of cryptocurrency exchanges",
"metrics": ["latency", "accuracy", "status_code"],
"validation": {
"field": "data",
"type": "array",
"min_length": 1,
"required_fields": ["id", "name", "rank"]
}
},
{
"name": "get_markets",
"endpoint": "/v2/markets",
"method": "GET",
"headers": {},
"payload": {},
"expected_status": 200,
"expected_behavior": "Returns trading pairs and market data",
"metrics": ["latency", "accuracy", "status_code"],
"validation": {
"field": "data",
"type": "array",
"min_length": 1,
"required_fields": ["exchangeId", "baseId", "quoteId", "priceUsd"]
}
},
{
"name": "get_exchange_rates",
"endpoint": "/v2/rates",
"method": "GET",
"headers": {},
"payload": {},
"expected_status": 200,
"expected_behavior": "Returns exchange rates",
"metrics": ["latency", "accuracy", "status_code"],
"validation": {
"field": "data",
"type": "array",
"min_length": 1,
"required_fields": ["id", "symbol", "rateUsd"]
}
},
{
"name": "get_candles_data",
"endpoint": "/v2/candles",
"method": "GET",
"headers": {},
"payload": {},
"expected_status": 200,
"expected_behavior": "Returns candlestick chart data",
"metrics": ["latency", "accuracy", "status_code"],
"validation": {
"field": "data",
"type": "array"
}
},
{
"name": "test_invalid_asset",
"endpoint": "/v2/assets/nonexistent-asset-xyz",
"method": "GET",
"headers": {},
"payload": {},
"expected_status": 404,
"expected_behavior": "Returns 404 for invalid asset ID",
"metrics": ["status_code", "error_handling"],
"validation": {
"field": "error",
"type": "string"
}
},
{
"name": "test_rate_limit_headers",
"endpoint": "/v2/assets",
"method": "GET",
"headers": {},
"payload": {},
"expected_status": 200,
"expected_behavior": "Returns rate limit headers",
"metrics": ["status_code"],
"validation": {
"check_headers": ["X-RateLimit-Remaining", "X-RateLimit-Reset"]
}
},
{
"name": "test_authenticated_request",
"endpoint": "/v2/assets",
"method": "GET",
"headers": {
"Authorization": "Bearer {api_key}"
},
"payload": {},
"expected_status": 200,
"expected_behavior": "Returns data with API key authentication",
"metrics": ["latency", "accuracy", "status_code"],
"validation": {
"field": "data",
"type": "array",
"min_length": 1
}
}
],
"pricing_probes": [
{
"name": "verify_credit_consumption",
"description": "Make authenticated request to check credit usage",
"endpoint": "/v2/assets",
"method": "GET",
"payload": {},
"check": "response.headers should include credit usage information"
},
{
"name": "test_prepaid_endpoint",
"description": "Verify prepaid credit creation endpoint exists",
"endpoint": "/v3/prepaid/create",
"method": "POST",
"payload": {
"amount": 1,
0/10 tests passed
| Test | Endpoint | Status | Latency |
|---|---|---|---|
| list_assets | GET /v2/assets | 404 | 467ms |
| get_bitcoin_details | GET /v2/assets/bitcoin | 404 | 121ms |
| get_bitcoin_history | GET /v2/assets/bitcoin/history | 404 | 118ms |
| list_exchanges | GET /v2/exchanges | 404 | 118ms |
| get_markets | GET /v2/markets | 404 | 118ms |
| get_exchange_rates | GET /v2/rates | 404 | 120ms |
| get_candles_data | GET /v2/candles | 404 | 121ms |
| test_invalid_asset | GET /v2/assets/nonexistent-asset-xyz | 404 | 118ms |
| test_rate_limit_headers | GET /v2/assets | 404 | 118ms |
| test_authenticated_request | GET /v2/assets | 404 | 118ms |
```json
{
"overall": 5,
"dimensions": {
"token_efficiency": 0.0,
"first_try_success": 0.0,
"response_parseability": 0.0,
"error_clarity": 2.0,
"doc_quality": 0.0,
"auth_simplicity": 0.0,
"latency": 3.0,
"consistency": 0.0
},
"pricing_normalized": {
"maker_fee_bps": null,
"taker_fee_bps": null,
"withdrawal_fee_usd": null,
"free_tier_requests": null
},
"issues": [
"All API endpoints return 404 - service appears completely non-functional",
"Expected JSON responses but receiving HTML error pages",
"Cannot GET errors on all /v2/* endpoints suggest server misconfiguration",
"No crypto market data, exchange data, or any functionality accessible",
"Documentation likely outdated - endpoints don't exist on server"
],
"recommendations": [
"Fix server configuration to serve API endpoints properly",
"Implement /v2/assets, /v2/exchanges, /v2/markets endpoints",
"Update documentation to match actual available endpoints",
"Test basic API functionality before deployment",
"Ensure proper JSON content-type headers for API responses",
"Add proper API error handling instead of generic HTML pages"
]
}
```
Show your live agent-readiness score on your own site. Free, no auth — it updates as your score changes.
<a href="https://prowl.world/service/coincap">
<img src="https://prowl.world/badge/coincap.svg" height="56" alt="Agent-readiness on Prowl">
</a>
See operational metrics, LLM evaluations, agent readiness, and more.
Open in Dashboard