```json
{
"tests": [
{
"name": "test_eth_get_balance",
"endpoint": "/eth_getBalance",
"method": "POST",
"headers": {
"Content-Type": "application/json",
"X-API-Key": "{api_key}"
},
"payload": {
"jsonrpc": "2.0",
"id": 1,
"method": "eth_getBalance",
"params": ["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "latest"]
},
"expected_status": 200,
"expected_behavior": "Returns ETH balance in wei for vitalik.eth address",
"metrics": ["latency", "accuracy", "status_code"],
"validation": {
"field": "result",
"type": "string",
"pattern": "^0x[0-9a-fA-F]+$"
}
},
{
"name": "test_get_transaction_by_hash",
"endpoint": "/eth_getTransactionByHash",
"method": "POST",
"headers": {
"Content-Type": "application/json",
"X-API-Key": "{api_key}"
},
"payload": {
"jsonrpc": "2.0",
"id": 1,
"method": "eth_getTransactionByHash",
"params": ["0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b"]
},
"expected_status": 200,
"expected_behavior": "Returns transaction details for known ETH transaction",
"metrics": ["latency", "accuracy", "status_code"],
"validation": {
"field": "result.hash",
"type": "string",
"equals": "0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b"
}
},
{
"name": "test_alchemy_get_token_balances",
"endpoint": "/alchemy_getTokenBalances",
"method": "POST",
"headers": {
"Content-Type": "application/json",
"X-API-Key": "{api_key}"
},
"payload": {
"jsonrpc": "2.0",
"id": 1,
"method": "alchemy_getTokenBalances",
"params": ["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"]
},
"expected_status": 200,
"expected_behavior": "Returns token balances for address",
"metrics": ["latency", "accuracy", "status_code"],
"validation": {
"field": "result.tokenBalances",
"type": "array",
"min_length": 0
}
},
{
"name": "test_alchemy_get_token_metadata",
"endpoint": "/alchemy_getTokenMetadata",
"method": "POST",
"headers": {
"Content-Type": "application/json",
"X-API-Key": "{api_key}"
},
"payload": {
"jsonrpc": "2.0",
"id": 1,
"method": "alchemy_getTokenMetadata",
"params": ["0xA0b86a33E6411CFf7Bc207F9D52A9C2D5AE6cF41"]
},
"expected_status": 200,
"expected_behavior": "Returns metadata for USDT token",
"metrics": ["latency", "accuracy", "status_code"],
"validation": {
"field": "result.name",
"type": "string",
"min_length": 1
}
},
{
"name": "test_get_nfts",
"endpoint": "/getNFTs",
"method": "GET",
"headers": {
"X-API-Key": "{api_key}"
},
"payload": {},
"query_params": {
"owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"withMetadata": "true"
},
"expected_status": 200,
"expected_behavior": "Returns NFTs owned by address",
"metrics": ["latency", "accuracy", "status_code"],
"validation": {
"field": "ownedNfts",
"type": "array",
"min_length": 0
}
},
{
"name": "test_get_transfers",
"endpoint": "/getTransfers",
"method": "GET",
"headers": {
"X-API-Key": "{api_key}"
},
"payload": {},
"query_params": {
"fromAddress": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"category": ["erc20", "erc721", "erc1155"]
},
"expected_status": 200,
"expected_behavior": "Returns asset transfers from address",
"metrics": ["latency", "accuracy", "status_code"],
"validation": {
"field": "transfers",
"type": "array",
"min_length": 0
}
},
{
"name": "test_invalid_address_error_handling",
"endpoint": "/eth_getBalance",
"method": "POST",
"headers": {
"Content-Type": "application/json",
"X-API-Key": "{api_key}"
},
"payload": {
"jsonrpc": "2.0",
"id": 1,
"method": "eth_getBalance",
"params": ["invalid_address", "latest"]
},
"expected_status": 200,
"expected_behavior": "Returns JSON-RPC error for invalid address",
"metrics": ["latency", "error_handling", "status_code"],
"validation": {
"field": "error.code",
"type": "number",
"not_null": true
}
},
{
"name": "test_missing_auth_error",
"endpoint": "/eth_getBalance",
"method": "POST",
"headers": {
"Content-Type": "application/json"
},
"payload": {
"jsonrpc": "2.0",
"id": 1,
"method": "eth_getBalance",
"params