60
/100
prowl
Benchmarked Apr 05, 2026

INFURA Ethereum

Interaction with the Ethereum mainnet and several testnets

cryptoai crypto_app
Benchmark Your API

Score Breakdown

Latency 9/10
Consistency 8/10
Documentation 8/10
Token Efficiency 8/10
Error Clarity 6/10
Auth Simplicity 6/10
Parseability 4/10
First-Try Success 3/10

Benchmark Analysis Log

Full LLM thinking from the 4-phase benchmark pipeline.

Analyze
```json
{
  "service_type": "crypto_app",
  "base_url": "https://mainnet.infura.io/v3",
  "auth_method": "api_key_header",
  "auth_config": {
    "key_location": "url_path",
    "header_name": "Authorization"
  },
  "endpoints": [
    {"path": "/v3/{project_id}", "method": "POST", "purpose": "JSON-RPC Ethereum calls"},
    {"path": "/v3/{project_id}/eth_blockNumber", "method": "POST", "purpose": "get latest block number"},
    {"path": "/v3/{project_id}/eth_getBalance", "method": "POST", "purpose": "get account balance"},
    {"path": "/v3/{project_id}/eth_sendRawTransaction", "method": "POST", "purpose": "broadcast transaction"},
    {"path": "/v3/{project_id}/eth_call", "method": "POST", "purpose": "call smart contract"},
    {"path": "/v3/{project_id}/eth_getLogs", "method": "POST", "purpose": "get event logs"}
  ],
  "pricing_model": {
    "type": "tiered", 
    "details": {
      "free_tier": "100k requests/day",
      "paid_tiers": "usage-based beyond free tier",
      "enterprise": "custom pricing"
    }
  },
  "rate_limits": {"rpm": 600, "daily": 100000},
  "capabilities": ["blockchain_access", "smart_contracts", "transaction_broadcast", "event_monitoring", "wallet_integration"],
  "crypto_specifics": {
    "supported_chains": ["ethereum", "ethereum_sepolia", "ethereum_goerli", "polygon", "arbitrum", "optimism"],
    "token_count": "all_erc20",
    "has_websocket": true,
    "has_orderbook": false,
    "fee_structure": "infrastructure_usage",
    "security_features": ["api_key_auth", "rate_limiting", "request_logging", "ddos_protection"],
    "node_type": "full_archive",
    "json_rpc": true,
    "ipfs_gateway": true
  }
}
```
Plan
```json
{
  "tests": [
    {
      "name": "test_latest_block_number",
      "endpoint": "/v3/{project_id}",
      "method": "POST",
      "headers": {
        "Content-Type": "application/json"
      },
      "payload": {
        "jsonrpc": "2.0",
        "method": "eth_blockNumber",
        "params": [],
        "id": 1
      },
      "expected_status": 200,
      "expected_behavior": "Returns current Ethereum block number in hex format",
      "metrics": ["latency", "accuracy", "status_code"],
      "validation": {
        "field": "result",
        "type": "string",
        "pattern": "^0x[0-9a-fA-F]+$"
      }
    },
    {
      "name": "test_get_balance",
      "endpoint": "/v3/{project_id}",
      "method": "POST",
      "headers": {
        "Content-Type": "application/json"
      },
      "payload": {
        "jsonrpc": "2.0",
        "method": "eth_getBalance",
        "params": ["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "latest"],
        "id": 2
      },
      "expected_status": 200,
      "expected_behavior": "Returns ETH balance for given address in hex wei",
      "metrics": ["latency", "accuracy", "status_code"],
      "validation": {
        "field": "result",
        "type": "string",
        "pattern": "^0x[0-9a-fA-F]*$"
      }
    },
    {
      "name": "test_get_transaction_count",
      "endpoint": "/v3/{project_id}",
      "method": "POST",
      "headers": {
        "Content-Type": "application/json"
      },
      "payload": {
        "jsonrpc": "2.0",
        "method": "eth_getTransactionCount",
        "params": ["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "latest"],
        "id": 3
      },
      "expected_status": 200,
      "expected_behavior": "Returns nonce count for given address",
      "metrics": ["latency", "accuracy", "status_code"],
      "validation": {
        "field": "result",
        "type": "string",
        "pattern": "^0x[0-9a-fA-F]+$"
      }
    },
    {
      "name": "test_get_gas_price",
      "endpoint": "/v3/{project_id}",
      "method": "POST",
      "headers": {
        "Content-Type": "application/json"
      },
      "payload": {
        "jsonrpc": "2.0",
        "method": "eth_gasPrice",
        "params": [],
        "id": 4
      },
      "expected_status": 200,
      "expected_behavior": "Returns current gas price in hex wei",
      "metrics": ["latency", "accuracy", "status_code"],
      "validation": {
        "field": "result",
        "type": "string",
        "pattern": "^0x[0-9a-fA-F]+$"
      }
    },
    {
      "name": "test_smart_contract_call",
      "endpoint": "/v3/{project_id}",
      "method": "POST",
      "headers": {
        "Content-Type": "application/json"
      },
      "payload": {
        "jsonrpc": "2.0",
        "method": "eth_call",
        "params": [
          {
            "to": "0xA0b86a33E6441c8e8F7c3e4D4a1c5A8f13E4dC8e",
            "data": "0x18160ddd"
          },
          "latest"
        ],
        "id": 5
      },
      "expected_status": 200,
      "expected_behavior": "Executes smart contract call and returns result",
      "metrics": ["latency", "accuracy", "status_code"],
      "validation": {
        "field": "result",
        "type": "string",
        "pattern": "^0x[0-9a-fA-F]*$"
      }
    },
    {
      "name": "test_invalid_method_error",
      "endpoint": "/v3/{project_id}",
      "method": "POST",
      "headers": {
        "Content-Type": "application/json"
      },
      "payload": {
        "jsonrpc": "2.0",
        "method": "invalid_method",
        "params": [],
        "id": 6
      },
      "expected_status": 200,
      "expected_behavior": "Returns JSON-RPC error for invalid method",
      "metrics": ["error_handling", "status_code"],
      "validation": {
        "field": "error.code",
        "type": "number",
        "value": -32601
      }
    },
    {
      "name": "test_malformed_json_error",
      "endpoint": "/v3/{project_id}",
      "method": "POST",
      "headers": {
        "Content-Type": "application/json"
      },
      "payload": "invalid json",
      "expected_status": 400,
      "expected_behavior": "Returns HTTP 400 for malformed JSON",
      "metrics": ["error_handling", "status_code"],
      "validation": {
        "field": "status_code",
        "type": "number",
        "value": 400
      }
    }
  ],
  "pricing_probes": [
    {
      "name": "verify_request_counting",
      "description": "Make multiple requests and check if rate limit headers reflect usage",
      "endpoint": "/v3/{project_id}",
      "method": "POST",
      "payload": {
        "jsonrpc": "2.0",
        "method": "eth_blockNumber",
        "params": [],
        "id": 1
      },
      "check": "response headers should include rate limit information or usage tracking"
    },
    {
      "name": "verify_free_tier_limits",
      "description": "Confirm rate limits match advertised 600 RPM / 100k daily",
      "endpoint": "/v3/{project_id}",
      "method": "POST",
      "payload": {
        "j
Execute

0/7 tests passed

TestEndpointStatusLatency
test_latest_block_numberPOST /v3/{project_id}401117ms
test_get_balancePOST /v3/{project_id}40131ms
test_get_transaction_countPOST /v3/{project_id}40133ms
test_get_gas_pricePOST /v3/{project_id}40131ms
test_smart_contract_callPOST /v3/{project_id}40130ms
test_invalid_method_errorPOST /v3/{project_id}40131ms
test_malformed_json_errorPOST /v3/{project_id}40130ms
Interpret
```json
{
  "overall": 65,
  "dimensions": {
    "token_efficiency": 8.0,
    "first_try_success": 3.0,
    "response_parseability": 4.0,
    "error_clarity": 6.0,
    "doc_quality": 8.0,
    "auth_simplicity": 6.0,
    "latency": 9.0,
    "consistency": 8.0
  },
  "pricing_normalized": {
    "maker_fee_bps": null,
    "taker_fee_bps": null,
    "withdrawal_fee_usd": null,
    "free_tier_requests": 100000
  },
  "issues": [
    "All endpoints return 401 'invalid project id' - requires authentication setup",
    "Error responses are plain text instead of JSON-RPC format",
    "Cannot verify actual blockchain data functionality without valid credentials",
    "Non-standard error format makes agent parsing difficult"
  ],
  "recommendations": [
    "Provide sample project ID or sandbox environment for testing",
    "Return JSON-RPC formatted error responses with proper error codes",
    "Include authentication examples in API documentation",
    "Consider offering limited public endpoints for basic blockchain queries"
  ]
}
```

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