{
  "openapi": "3.0.3",
  "info": {
    "title": "Spectrum Nodes API",
    "description": "Spectrum exposes a single JSON-RPC 2.0 endpoint at POST /v1. This OpenAPI document models that transport and includes per-method request and response examples from the docs metadata.",
    "version": "1.0.0",
    "contact": {
      "name": "Spectrum Nodes",
      "url": "https://spectrumnodes.com"
    }
  },
  "servers": [
    {
      "url": "{baseUrl}",
      "description": "Your assigned endpoint URL. Paste the full base URL without a trailing slash.",
      "variables": {
        "baseUrl": {
          "default": "https://your-endpoint.simplystaking.xyz",
          "description": "Full Spectrum endpoint base URL, for example https://spectrum-01.simplystaking.xyz/dnZvbDAwMS0wMS00NTZjMDZlZA/_cYTSXg26edHIw/poolsapi"
        }
      }
    }
  ],
  "tags": [
    {
      "name": "Health"
    },
    {
      "name": "Blocks"
    },
    {
      "name": "Accounts"
    },
    {
      "name": "ERC-20"
    },
    {
      "name": "Portfolio"
    },
    {
      "name": "ENS"
    },
    {
      "name": "NFTs"
    },
    {
      "name": "Logs"
    },
    {
      "name": "Receipts"
    },
    {
      "name": "Gas"
    },
    {
      "name": "Batch"
    },
    {
      "name": "Prices"
    },
    {
      "name": "Token Discovery"
    },
    {
      "name": "Yields"
    },
    {
      "name": "DeFi Positions"
    },
    {
      "name": "Swap Quotes"
    },
    {
      "name": "Perps"
    },
    {
      "name": "Token Approvals"
    },
    {
      "name": "Protocol Registry"
    },
    {
      "name": "JSON-RPC Proxy"
    },
    {
      "name": "Advanced"
    }
  ],
  "components": {
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "X-API-Key"
      }
    },
    "schemas": {
      "JsonRpcError": {
        "title": "JSON-RPC Error",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "integer",
            "example": 400
          },
          "message": {
            "type": "string",
            "example": "Invalid params"
          },
          "data": {}
        },
        "required": [
          "code",
          "message"
        ]
      },
      "JsonRpcSuccessResponse": {
        "title": "JSON-RPC Success Response",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ]
          },
          "result": {},
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "jsonrpc",
          "result",
          "id"
        ]
      },
      "JsonRpcErrorResponse": {
        "title": "JSON-RPC Error Response",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ]
          },
          "error": {
            "$ref": "#/components/schemas/JsonRpcError"
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "jsonrpc",
          "error",
          "id"
        ]
      },
      "JsonRpcSingleRequest": {
        "title": "Single JSON-RPC Request",
        "oneOf": [
          {
            "$ref": "#/components/schemas/JsonRpcHealthRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcChainHealthRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcBlockHeightRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcBalanceRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcTokenBalanceRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcTokenMetadataRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcErc20AllowanceRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcPortfolioRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcEnsResolveRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcEnsReverseRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcNftCollectionRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcNftTokenMetadataRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcNftTokenOwnerRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcNftBalanceRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcNftOwnedTokensRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcNftErc1155BalanceRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcNftBatchBalanceRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcLogsRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcTransfersRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcReceiptRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcGasCompareRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcBatchBlocksRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcBatchBlocksHashRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcBatchTransactionsRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcPriceSingleRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcPriceTopRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcPriceHistoryRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcTokenSearchRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcTokenAddressesRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcYieldsLendingRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcYieldsVaultsRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcYieldsBestRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcYieldsBalanceRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcYieldsPriceRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcYieldsPendleImpliedApyRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcYieldsMorphoVaultsRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcYieldsMorphoVaultDataRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcDefiAaveV2Request"
          },
          {
            "$ref": "#/components/schemas/JsonRpcDefiAaveRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcDefiCompoundRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcDefiCompoundV2Request"
          },
          {
            "$ref": "#/components/schemas/JsonRpcDefiMorphoRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcDefiLidoRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcDefiCurveRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcDefiLlamalendMarketsRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcDefiLlamalendRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcDefiPendleRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcDefiAvantisRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcDefiSummaryRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcDefiUniswapV2QuoteRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcDefiUniswapQuoteRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcDefiUniswapV4QuoteRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcDefiJupiterQuoteRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcDefiJupiterPriceRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcPerpsAllRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcPerpsHlRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcPerpsDydxRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcApprovalsScanRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcApprovalsRevokeRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcRegistryProtocolsRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcRegistrySlugsRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcRegistryProtocolRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcRegistryContractsRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcRegistryAddressRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcRegistryCategoriesRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcRegistryChainsRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcRpcProxyRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcBlockTransactionsRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcTraceTransactionRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcEstimateGasRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcSimulateCallRequest"
          },
          {
            "$ref": "#/components/schemas/JsonRpcGetCodeRequest"
          }
        ]
      },
      "JsonRpcBatchRequest": {
        "title": "Batch JSON-RPC Request",
        "type": "array",
        "minItems": 1,
        "maxItems": 50,
        "items": {
          "$ref": "#/components/schemas/JsonRpcSingleRequest"
        },
        "example": [
          {
            "jsonrpc": "2.0",
            "method": "getBlockHeight",
            "params": {
              "chain": "ethereum"
            },
            "id": 1
          },
          {
            "jsonrpc": "2.0",
            "method": "getBalance",
            "params": {
              "chain": "ethereum",
              "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
            },
            "id": 2
          },
          {
            "jsonrpc": "2.0",
            "method": "getPrice",
            "params": {
              "symbol": "ETH"
            },
            "id": 3
          }
        ]
      },
      "JsonRpcSingleResponse": {
        "title": "Single JSON-RPC Response",
        "oneOf": [
          {
            "$ref": "#/components/schemas/JsonRpcSuccessResponse"
          },
          {
            "$ref": "#/components/schemas/JsonRpcErrorResponse"
          }
        ]
      },
      "JsonRpcBatchResponse": {
        "title": "Batch JSON-RPC Response",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/JsonRpcSingleResponse"
        },
        "example": [
          {
            "jsonrpc": "2.0",
            "result": {
              "data": {
                "chain": "0x1",
                "height": 24535031
              }
            },
            "id": 1
          },
          {
            "jsonrpc": "2.0",
            "result": {
              "data": {
                "chain": "0x1",
                "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                "token": "ETH",
                "balance": "32.126",
                "balanceRaw": "32126000000000000000",
                "decimals": 18
              }
            },
            "id": 2
          },
          {
            "jsonrpc": "2.0",
            "result": {
              "data": {
                "symbol": "ETH",
                "name": "Ethereum",
                "priceUsd": 3450.12
              }
            },
            "id": 3
          }
        ]
      },
      "JsonRpcHealthRequest": {
        "title": "Health Check",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getHealth"
            ],
            "default": "getHealth"
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getHealth",
          "params": {},
          "id": 1
        }
      },
      "JsonRpcChainHealthRequest": {
        "title": "Chain RPC Health",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getChainHealth"
            ],
            "default": "getChainHealth"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "bsc",
                  "optimism",
                  "base",
                  "avalanche",
                  "arbitrum",
                  "gnosis",
                  "moonbeam",
                  "linea",
                  "hyperliquid",
                  "solana",
                  "bitcoin"
                ]
              }
            },
            "required": [
              "chain"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getChainHealth",
          "params": {
            "chain": "ethereum"
          },
          "id": 1
        }
      },
      "JsonRpcBlockHeightRequest": {
        "title": "Get Block Height",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getBlockHeight"
            ],
            "default": "getBlockHeight"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "bsc",
                  "optimism",
                  "base",
                  "avalanche",
                  "arbitrum",
                  "gnosis",
                  "moonbeam",
                  "linea",
                  "hyperliquid",
                  "solana",
                  "bitcoin"
                ]
              }
            },
            "required": [
              "chain"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getBlockHeight",
          "params": {
            "chain": "ethereum"
          },
          "id": 1
        }
      },
      "JsonRpcBalanceRequest": {
        "title": "Get Native Balance",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getBalance"
            ],
            "default": "getBalance"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "bsc",
                  "optimism",
                  "base",
                  "avalanche",
                  "arbitrum",
                  "gnosis",
                  "moonbeam",
                  "linea",
                  "hyperliquid",
                  "solana"
                ]
              },
              "address": {
                "type": "string",
                "description": "Wallet address",
                "example": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
              },
              "blockHeight": {
                "type": "string",
                "description": "Historical EVM block number (archive nodes only)",
                "example": "19834521"
              }
            },
            "required": [
              "chain",
              "address"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getBalance",
          "params": {
            "chain": "ethereum",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "blockHeight": "19834521"
          },
          "id": 1
        }
      },
      "JsonRpcTokenBalanceRequest": {
        "title": "Get Token Balance",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getTokenBalance"
            ],
            "default": "getTokenBalance"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "bsc",
                  "optimism",
                  "base",
                  "avalanche",
                  "arbitrum",
                  "gnosis",
                  "moonbeam",
                  "linea",
                  "hyperliquid",
                  "solana"
                ]
              },
              "address": {
                "type": "string",
                "description": "Wallet address",
                "example": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
              },
              "token": {
                "type": "string",
                "description": "Token contract address",
                "example": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
              },
              "blockHeight": {
                "type": "string",
                "description": "Historical EVM block number (archive nodes only)",
                "example": "19834521"
              }
            },
            "required": [
              "chain",
              "address",
              "token"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getTokenBalance",
          "params": {
            "chain": "ethereum",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
            "blockHeight": "19834521"
          },
          "id": 1
        }
      },
      "JsonRpcTokenMetadataRequest": {
        "title": "Get Token Metadata",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getTokenMetadata"
            ],
            "default": "getTokenMetadata"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "bsc",
                  "optimism",
                  "base",
                  "avalanche",
                  "arbitrum",
                  "gnosis",
                  "moonbeam",
                  "linea",
                  "hyperliquid"
                ]
              },
              "address": {
                "type": "string",
                "description": "Token contract address (0x...)",
                "example": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
              },
              "blockHeight": {
                "type": "string",
                "description": "Historical EVM block number (archive nodes only)",
                "example": "19834521"
              }
            },
            "required": [
              "chain",
              "address"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getTokenMetadata",
          "params": {
            "chain": "ethereum",
            "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
            "blockHeight": "19834521"
          },
          "id": 1
        }
      },
      "JsonRpcErc20AllowanceRequest": {
        "title": "Get ERC-20 Allowance",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getTokenAllowance"
            ],
            "default": "getTokenAllowance"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "bsc",
                  "optimism",
                  "base",
                  "avalanche",
                  "arbitrum",
                  "gnosis",
                  "moonbeam",
                  "linea",
                  "hyperliquid"
                ]
              },
              "address": {
                "type": "string",
                "description": "ERC-20 contract address",
                "example": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
              },
              "owner": {
                "type": "string",
                "description": "Token owner wallet address",
                "example": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
              },
              "spender": {
                "type": "string",
                "description": "Approved spender contract address",
                "example": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45"
              },
              "blockHeight": {
                "type": "string",
                "description": "Historical EVM block number (archive nodes only)",
                "example": "19834521"
              }
            },
            "required": [
              "chain",
              "address",
              "owner",
              "spender"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getTokenAllowance",
          "params": {
            "chain": "ethereum",
            "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
            "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "spender": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",
            "blockHeight": "19834521"
          },
          "id": 1
        }
      },
      "JsonRpcPortfolioRequest": {
        "title": "Get Token Portfolio",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getPortfolio"
            ],
            "default": "getPortfolio"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "bsc",
                  "optimism",
                  "base",
                  "avalanche",
                  "arbitrum",
                  "gnosis",
                  "moonbeam",
                  "linea",
                  "hyperliquid"
                ]
              },
              "address": {
                "type": "string",
                "description": "Wallet address",
                "example": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
              },
              "blockHeight": {
                "type": "string",
                "description": "Historical EVM block number (archive nodes only)",
                "example": "19834521"
              }
            },
            "required": [
              "chain",
              "address"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getPortfolio",
          "params": {
            "chain": "ethereum",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "blockHeight": "19834521"
          },
          "id": 1
        }
      },
      "JsonRpcEnsResolveRequest": {
        "title": "Resolve ENS Name",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "resolveENS"
            ],
            "default": "resolveENS"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "name": {
                "type": "string",
                "description": "ENS name to resolve",
                "example": "vitalik.eth"
              }
            },
            "required": [
              "name"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "resolveENS",
          "params": {
            "name": "vitalik.eth"
          },
          "id": 1
        }
      },
      "JsonRpcEnsReverseRequest": {
        "title": "Reverse ENS Lookup",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "reverseENS"
            ],
            "default": "reverseENS"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "address": {
                "type": "string",
                "description": "Ethereum address (0x...)",
                "example": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
              }
            },
            "required": [
              "address"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "reverseENS",
          "params": {
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
          },
          "id": 1
        }
      },
      "JsonRpcNftCollectionRequest": {
        "title": "Get NFT Collection Info",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getNftCollection"
            ],
            "default": "getNftCollection"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "bsc",
                  "optimism",
                  "base",
                  "avalanche",
                  "arbitrum",
                  "gnosis",
                  "moonbeam",
                  "linea",
                  "hyperliquid"
                ]
              },
              "contract": {
                "type": "string",
                "description": "NFT contract address",
                "example": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D"
              },
              "blockHeight": {
                "type": "string",
                "description": "Historical EVM block number (archive nodes only)",
                "example": "19834521"
              }
            },
            "required": [
              "chain",
              "contract"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getNftCollection",
          "params": {
            "chain": "ethereum",
            "contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
            "blockHeight": "19834521"
          },
          "id": 1
        }
      },
      "JsonRpcNftTokenMetadataRequest": {
        "title": "Get NFT Token Metadata",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getNftMetadata"
            ],
            "default": "getNftMetadata"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "bsc",
                  "optimism",
                  "base",
                  "avalanche",
                  "arbitrum",
                  "gnosis",
                  "moonbeam",
                  "linea",
                  "hyperliquid"
                ]
              },
              "contract": {
                "type": "string",
                "description": "NFT contract address",
                "example": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D"
              },
              "tokenId": {
                "type": "string",
                "description": "Token ID",
                "example": "1"
              },
              "blockHeight": {
                "type": "string",
                "description": "Historical EVM block number (archive nodes only)",
                "example": "19834521"
              }
            },
            "required": [
              "chain",
              "contract",
              "tokenId"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getNftMetadata",
          "params": {
            "chain": "ethereum",
            "contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
            "tokenId": "1",
            "blockHeight": "19834521"
          },
          "id": 1
        }
      },
      "JsonRpcNftTokenOwnerRequest": {
        "title": "Get NFT Token Owner",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getNftTokenOwner"
            ],
            "default": "getNftTokenOwner"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "bsc",
                  "optimism",
                  "base",
                  "avalanche",
                  "arbitrum",
                  "gnosis",
                  "moonbeam",
                  "linea",
                  "hyperliquid"
                ]
              },
              "contract": {
                "type": "string",
                "description": "NFT contract address",
                "example": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D"
              },
              "tokenId": {
                "type": "string",
                "description": "Token ID",
                "example": "1"
              }
            },
            "required": [
              "chain",
              "contract",
              "tokenId"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getNftTokenOwner",
          "params": {
            "chain": "ethereum",
            "contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
            "tokenId": "1"
          },
          "id": 1
        }
      },
      "JsonRpcNftBalanceRequest": {
        "title": "Get NFT Balance",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getNftBalance"
            ],
            "default": "getNftBalance"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "bsc",
                  "optimism",
                  "base",
                  "avalanche",
                  "arbitrum",
                  "gnosis",
                  "moonbeam",
                  "linea",
                  "hyperliquid"
                ]
              },
              "contract": {
                "type": "string",
                "description": "NFT contract address",
                "example": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D"
              },
              "address": {
                "type": "string",
                "description": "Wallet address",
                "example": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
              },
              "blockHeight": {
                "type": "string",
                "description": "Historical EVM block number (archive nodes only)",
                "example": "19834521"
              }
            },
            "required": [
              "chain",
              "contract",
              "address"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getNftBalance",
          "params": {
            "chain": "ethereum",
            "contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "blockHeight": "19834521"
          },
          "id": 1
        }
      },
      "JsonRpcNftOwnedTokensRequest": {
        "title": "List Owned Token IDs",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getNftTokens"
            ],
            "default": "getNftTokens"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "bsc",
                  "optimism",
                  "base",
                  "avalanche",
                  "arbitrum",
                  "gnosis",
                  "moonbeam",
                  "linea",
                  "hyperliquid"
                ]
              },
              "contract": {
                "type": "string",
                "description": "NFT contract address (must support ERC-721Enumerable)",
                "example": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D"
              },
              "address": {
                "type": "string",
                "description": "Wallet address",
                "example": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
              }
            },
            "required": [
              "chain",
              "contract",
              "address"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getNftTokens",
          "params": {
            "chain": "ethereum",
            "contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
          },
          "id": 1
        }
      },
      "JsonRpcNftErc1155BalanceRequest": {
        "title": "Get ERC-1155 Token Balance",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getNftErc1155Balance"
            ],
            "default": "getNftErc1155Balance"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "bsc",
                  "optimism",
                  "base",
                  "avalanche",
                  "arbitrum",
                  "gnosis",
                  "moonbeam",
                  "linea",
                  "hyperliquid"
                ]
              },
              "contract": {
                "type": "string",
                "description": "ERC-1155 contract address",
                "example": "0x495f947276749ce646f68ac8c248420045cb7b5e"
              },
              "address": {
                "type": "string",
                "description": "Wallet address",
                "example": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
              },
              "tokenId": {
                "type": "string",
                "description": "Token ID",
                "example": "1"
              }
            },
            "required": [
              "chain",
              "contract",
              "address",
              "tokenId"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getNftErc1155Balance",
          "params": {
            "chain": "ethereum",
            "contract": "0x495f947276749ce646f68ac8c248420045cb7b5e",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "tokenId": "1"
          },
          "id": 1
        }
      },
      "JsonRpcNftBatchBalanceRequest": {
        "title": "ERC-1155 Batch Balance",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getNftBatchBalance"
            ],
            "default": "getNftBatchBalance"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "bsc",
                  "optimism",
                  "base",
                  "avalanche",
                  "arbitrum",
                  "gnosis",
                  "moonbeam",
                  "linea",
                  "hyperliquid"
                ]
              },
              "contract": {
                "type": "string",
                "description": "ERC-1155 contract address",
                "example": "0x495f947276749ce646f68ac8c248420045cb7b5e"
              },
              "addresses": {
                "type": "string",
                "description": "Comma-separated addresses",
                "example": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045,0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
              },
              "tokenIds": {
                "type": "string",
                "description": "Comma-separated token IDs (same length)",
                "example": "1,2"
              }
            },
            "required": [
              "chain",
              "contract",
              "addresses",
              "tokenIds"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getNftBatchBalance",
          "params": {
            "chain": "ethereum",
            "contract": "0x495f947276749ce646f68ac8c248420045cb7b5e",
            "addresses": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045,0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "tokenIds": "1,2"
          },
          "id": 1
        }
      },
      "JsonRpcLogsRequest": {
        "title": "Query Event Logs",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getLogs"
            ],
            "default": "getLogs"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "bsc",
                  "optimism",
                  "base",
                  "avalanche",
                  "arbitrum",
                  "gnosis",
                  "moonbeam",
                  "linea",
                  "hyperliquid"
                ]
              },
              "fromBlock": {
                "type": "string",
                "description": "Start block number, defaults to latest",
                "example": "latest"
              },
              "toBlock": {
                "type": "string",
                "description": "End block number or \"latest\"",
                "example": "latest"
              },
              "address": {
                "type": "string",
                "description": "Contract address to filter",
                "example": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
              },
              "topic0": {
                "type": "string",
                "description": "Event signature hash",
                "example": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
              },
              "cursor": {
                "type": "string",
                "description": "Pagination cursor (block number from previous response)",
                "example": "example"
              }
            },
            "required": [
              "chain"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getLogs",
          "params": {
            "chain": "ethereum",
            "fromBlock": "latest",
            "toBlock": "latest",
            "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
            "topic0": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
            "cursor": "example"
          },
          "id": 1
        }
      },
      "JsonRpcTransfersRequest": {
        "title": "Get ERC-20 Transfers",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getTransfers"
            ],
            "default": "getTransfers"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "bsc",
                  "optimism",
                  "base",
                  "avalanche",
                  "arbitrum",
                  "gnosis",
                  "moonbeam",
                  "linea",
                  "hyperliquid"
                ]
              },
              "address": {
                "type": "string",
                "description": "Wallet address",
                "example": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
              },
              "fromBlock": {
                "type": "string",
                "description": "Start block number, defaults to latest - 10000",
                "example": "latest"
              },
              "toBlock": {
                "type": "string",
                "description": "End block number or \"latest\"",
                "example": "latest"
              },
              "cursor": {
                "type": "string",
                "description": "Pagination cursor (block number from previous response)",
                "example": "example"
              }
            },
            "required": [
              "chain",
              "address"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getTransfers",
          "params": {
            "chain": "ethereum",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "fromBlock": "latest",
            "toBlock": "latest",
            "cursor": "example"
          },
          "id": 1
        }
      },
      "JsonRpcReceiptRequest": {
        "title": "Get Transaction Receipt",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getReceipt"
            ],
            "default": "getReceipt"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "bsc",
                  "optimism",
                  "base",
                  "avalanche",
                  "arbitrum",
                  "gnosis",
                  "moonbeam",
                  "linea",
                  "hyperliquid"
                ]
              },
              "hash": {
                "type": "string",
                "description": "Transaction hash (0x + 64 hex)",
                "example": "0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060"
              }
            },
            "required": [
              "chain",
              "hash"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getReceipt",
          "params": {
            "chain": "ethereum",
            "hash": "0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060"
          },
          "id": 1
        }
      },
      "JsonRpcGasCompareRequest": {
        "title": "Compare Gas Fees",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "compareGas"
            ],
            "default": "compareGas"
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "compareGas",
          "params": {},
          "id": 1
        }
      },
      "JsonRpcBatchBlocksRequest": {
        "title": "Batch Blocks by Number",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getBlockByNumber"
            ],
            "default": "getBlockByNumber"
          },
          "params": {
            "type": "array",
            "description": "Comma-separated chain:blockNumber pairs (EVM/Solana/Bitcoin)",
            "items": {
              "type": "object",
              "additionalProperties": true
            },
            "minItems": 1,
            "maxItems": 50
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getBlockByNumber",
          "params": [
            {
              "chain": "ethereum",
              "block": 21000000
            },
            {
              "chain": "bitcoin",
              "block": 900000
            }
          ],
          "id": 1
        }
      },
      "JsonRpcBatchBlocksHashRequest": {
        "title": "Batch Blocks by Hash",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getBlockByHash"
            ],
            "default": "getBlockByHash"
          },
          "params": {
            "type": "array",
            "description": "Comma-separated chain:blockHash pairs",
            "items": {
              "type": "object",
              "additionalProperties": true
            },
            "minItems": 1,
            "maxItems": 50
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getBlockByHash",
          "params": [
            {
              "chain": "ethereum",
              "hash": "0x4e3a3754410177e6937ef1f84bba68ea139e8d1a2258c5f85db9f1cd715a1bdd"
            }
          ],
          "id": 1
        }
      },
      "JsonRpcBatchTransactionsRequest": {
        "title": "Batch Transactions",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getTransactionByHash"
            ],
            "default": "getTransactionByHash"
          },
          "params": {
            "type": "array",
            "description": "Comma-separated chain:txHash pairs",
            "items": {
              "type": "object",
              "additionalProperties": true
            },
            "minItems": 1,
            "maxItems": 50
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getTransactionByHash",
          "params": [
            {
              "chain": "ethereum",
              "hash": "0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060"
            }
          ],
          "id": 1
        }
      },
      "JsonRpcPriceSingleRequest": {
        "title": "Get Token Price",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getPrice"
            ],
            "default": "getPrice"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "symbol": {
                "type": "string",
                "description": "Token symbol",
                "example": "BTC",
                "enum": [
                  "BTC",
                  "ETH",
                  "SOL",
                  "USDC",
                  "USDT",
                  "LINK",
                  "HYPE",
                  "wstETH",
                  "stETH",
                  "DOT",
                  "TON",
                  "NEAR",
                  "MORPHO",
                  "SSV",
                  "MOVR",
                  "KSM",
                  "sUSDe",
                  "MRE7YIELD",
                  "sUSDS",
                  "APT",
                  "STORY",
                  "AKT",
                  "TRX",
                  "EIGEN",
                  "HBAR",
                  "INIT",
                  "IOTA",
                  "STRK",
                  "MON",
                  "SPK",
                  "stSPK",
                  "GLMR",
                  "BABY",
                  "FUEL",
                  "SSS",
                  "SAGA",
                  "stLINK",
                  "ETHV",
                  "ETHW"
                ]
              }
            },
            "required": [
              "symbol"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getPrice",
          "params": {
            "symbol": "BTC"
          },
          "id": 1
        }
      },
      "JsonRpcPriceTopRequest": {
        "title": "Top Tokens",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getTopPrices"
            ],
            "default": "getTopPrices"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "limit": {
                "type": "string",
                "description": "Max results (default 50, max 200)",
                "example": "50"
              },
              "currency": {
                "type": "string",
                "description": "Price currency",
                "example": "USD",
                "enum": [
                  "USD",
                  "EUR"
                ]
              }
            }
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getTopPrices",
          "params": {
            "limit": "50",
            "currency": "USD"
          },
          "id": 1
        }
      },
      "JsonRpcPriceHistoryRequest": {
        "title": "Price History",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getPriceHistory"
            ],
            "default": "getPriceHistory"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "symbol": {
                "type": "string",
                "description": "Token symbol",
                "example": "BTC",
                "enum": [
                  "BTC",
                  "ETH",
                  "SOL",
                  "USDC",
                  "USDT",
                  "LINK",
                  "HYPE",
                  "wstETH",
                  "stETH",
                  "DOT",
                  "TON",
                  "NEAR",
                  "MORPHO",
                  "SSV",
                  "MOVR",
                  "KSM",
                  "sUSDe",
                  "MRE7YIELD",
                  "sUSDS",
                  "APT",
                  "STORY",
                  "AKT",
                  "TRX",
                  "EIGEN",
                  "HBAR",
                  "INIT",
                  "IOTA",
                  "STRK",
                  "MON",
                  "SPK",
                  "stSPK",
                  "GLMR",
                  "BABY",
                  "FUEL",
                  "SSS",
                  "SAGA",
                  "stLINK",
                  "ETHV",
                  "ETHW"
                ]
              },
              "days": {
                "type": "string",
                "description": "Number of days (default 30, max 90)",
                "example": "30"
              },
              "currency": {
                "type": "string",
                "description": "Price currency",
                "example": "USD",
                "enum": [
                  "USD",
                  "EUR"
                ]
              }
            },
            "required": [
              "symbol"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getPriceHistory",
          "params": {
            "symbol": "BTC",
            "days": "30",
            "currency": "USD"
          },
          "id": 1
        }
      },
      "JsonRpcTokenSearchRequest": {
        "title": "Search Tokens",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "searchTokens"
            ],
            "default": "searchTokens"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "q": {
                "type": "string",
                "description": "Search query (name or symbol)",
                "example": "usdc"
              },
              "limit": {
                "type": "string",
                "description": "Max results (default 20, max 100)",
                "example": "20"
              }
            },
            "required": [
              "q"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "searchTokens",
          "params": {
            "q": "usdc",
            "limit": "20"
          },
          "id": 1
        }
      },
      "JsonRpcTokenAddressesRequest": {
        "title": "Token Chain Addresses",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getTokenAddresses"
            ],
            "default": "getTokenAddresses"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "symbol": {
                "type": "string",
                "description": "Token symbol",
                "example": "BTC",
                "enum": [
                  "BTC",
                  "ETH",
                  "SOL",
                  "USDC",
                  "USDT",
                  "LINK",
                  "HYPE",
                  "wstETH",
                  "stETH",
                  "DOT",
                  "TON",
                  "NEAR",
                  "MORPHO",
                  "SSV",
                  "MOVR",
                  "KSM",
                  "sUSDe",
                  "MRE7YIELD",
                  "sUSDS",
                  "APT",
                  "STORY",
                  "AKT",
                  "TRX",
                  "EIGEN",
                  "HBAR",
                  "INIT",
                  "IOTA",
                  "STRK",
                  "MON",
                  "SPK",
                  "stSPK",
                  "GLMR",
                  "BABY",
                  "FUEL",
                  "SSS",
                  "SAGA",
                  "stLINK",
                  "ETHV",
                  "ETHW"
                ]
              }
            },
            "required": [
              "symbol"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getTokenAddresses",
          "params": {
            "symbol": "BTC"
          },
          "id": 1
        }
      },
      "JsonRpcYieldsLendingRequest": {
        "title": "Lending Yields",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getYieldsLending"
            ],
            "default": "getYieldsLending"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Chain slug",
                "example": "ethereum"
              },
              "protocol": {
                "type": "string",
                "description": "Lending protocol",
                "example": "aave",
                "enum": [
                  "aave",
                  "compound",
                  "morpho",
                  "hyperlend"
                ]
              },
              "pool": {
                "type": "string",
                "description": "Asset symbol (e.g. USDC, WETH)",
                "example": "USDC"
              }
            },
            "required": [
              "chain",
              "protocol",
              "pool"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getYieldsLending",
          "params": {
            "chain": "ethereum",
            "protocol": "aave",
            "pool": "USDC"
          },
          "id": 1
        }
      },
      "JsonRpcYieldsVaultsRequest": {
        "title": "Vault Yields",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getYieldsVaults"
            ],
            "default": "getYieldsVaults"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Chain slug",
                "example": "ethereum"
              },
              "protocol": {
                "type": "string",
                "description": "Vault protocol",
                "example": "beefy",
                "enum": [
                  "beefy",
                  "yearn",
                  "pendle",
                  "hyperliquid"
                ]
              },
              "pool": {
                "type": "string",
                "description": "Vault/pool identifier",
                "example": "aavev3-usdc"
              }
            },
            "required": [
              "chain",
              "protocol",
              "pool"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getYieldsVaults",
          "params": {
            "chain": "ethereum",
            "protocol": "beefy",
            "pool": "aavev3-usdc"
          },
          "id": 1
        }
      },
      "JsonRpcYieldsBestRequest": {
        "title": "Best Yields",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getYieldsBest"
            ],
            "default": "getYieldsBest"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "token": {
                "type": "string",
                "description": "Filter by token symbol",
                "example": "USDC"
              },
              "minTvl": {
                "type": "string",
                "description": "Minimum TVL in USD",
                "example": "1000000"
              },
              "limit": {
                "type": "string",
                "description": "Max results (default 10)",
                "example": "10"
              },
              "type": {
                "type": "string",
                "description": "Yield type filter",
                "example": "lending",
                "enum": [
                  "lending",
                  "vault",
                  "staking"
                ]
              }
            }
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getYieldsBest",
          "params": {
            "token": "USDC",
            "minTvl": "1000000",
            "limit": "10",
            "type": "lending"
          },
          "id": 1
        }
      },
      "JsonRpcYieldsBalanceRequest": {
        "title": "Pool User Balance",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getYieldsBalance"
            ],
            "default": "getYieldsBalance"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Chain slug",
                "example": "ethereum"
              },
              "protocol": {
                "type": "string",
                "description": "Protocol name",
                "example": "aave",
                "enum": [
                  "aave",
                  "compound",
                  "morpho",
                  "hyperlend",
                  "beefy",
                  "yearn",
                  "pendle",
                  "hyperliquid"
                ]
              },
              "pool": {
                "type": "string",
                "description": "Pool/asset identifier",
                "example": "USDC"
              },
              "address": {
                "type": "string",
                "description": "Wallet address to check",
                "example": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
              }
            },
            "required": [
              "chain",
              "protocol",
              "pool",
              "address"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getYieldsBalance",
          "params": {
            "chain": "ethereum",
            "protocol": "aave",
            "pool": "USDC",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
          },
          "id": 1
        }
      },
      "JsonRpcYieldsPriceRequest": {
        "title": "Pool Token Price",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getYieldsPrice"
            ],
            "default": "getYieldsPrice"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Chain slug",
                "example": "ethereum"
              },
              "protocol": {
                "type": "string",
                "description": "Protocol name",
                "example": "aave",
                "enum": [
                  "aave",
                  "morpho",
                  "pendle",
                  "midas"
                ]
              },
              "pool": {
                "type": "string",
                "description": "Pool/asset identifier",
                "example": "USDC"
              }
            },
            "required": [
              "chain",
              "protocol",
              "pool"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getYieldsPrice",
          "params": {
            "chain": "ethereum",
            "protocol": "aave",
            "pool": "USDC"
          },
          "id": 1
        }
      },
      "JsonRpcYieldsPendleImpliedApyRequest": {
        "title": "Pendle Implied APY",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getYieldsPendleImpliedApy"
            ],
            "default": "getYieldsPendleImpliedApy"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Chain slug",
                "example": "ethereum"
              },
              "pool": {
                "type": "string",
                "description": "Pendle market address",
                "example": "0x7d372819240d14fb477f17b964f95f33beb4c704"
              },
              "address": {
                "type": "string",
                "description": "User wallet address",
                "example": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
              }
            },
            "required": [
              "chain",
              "pool",
              "address"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getYieldsPendleImpliedApy",
          "params": {
            "chain": "ethereum",
            "pool": "0x7d372819240d14fb477f17b964f95f33beb4c704",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
          },
          "id": 1
        }
      },
      "JsonRpcYieldsMorphoVaultsRequest": {
        "title": "List Morpho Vaults",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getMorphoVaults"
            ],
            "default": "getMorphoVaults"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Chain slug",
                "example": "ethereum"
              }
            },
            "required": [
              "chain"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getMorphoVaults",
          "params": {
            "chain": "ethereum"
          },
          "id": 1
        }
      },
      "JsonRpcYieldsMorphoVaultDataRequest": {
        "title": "Morpho Vault Data",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getMorphoVaultData"
            ],
            "default": "getMorphoVaultData"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Chain slug",
                "example": "ethereum"
              },
              "vaults": {
                "type": "string",
                "description": "Comma-separated vault addresses (max 50)",
                "example": "0xdd0f28e19C1780eb6396170735D45153D261490d"
              }
            },
            "required": [
              "chain",
              "vaults"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getMorphoVaultData",
          "params": {
            "chain": "ethereum",
            "vaults": "0xdd0f28e19C1780eb6396170735D45153D261490d"
          },
          "id": 1
        }
      },
      "JsonRpcDefiAaveV2Request": {
        "title": "Aave V2 Positions",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getAaveV2UserPositions"
            ],
            "default": "getAaveV2UserPositions"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "avalanche"
                ]
              },
              "address": {
                "type": "string",
                "description": "Wallet address",
                "example": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
              }
            },
            "required": [
              "chain",
              "address"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getAaveV2UserPositions",
          "params": {
            "chain": "ethereum",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
          },
          "id": 1
        }
      },
      "JsonRpcDefiAaveRequest": {
        "title": "Aave V3 Positions",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getAaveV3UserPositions"
            ],
            "default": "getAaveV3UserPositions"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "arbitrum",
                  "optimism",
                  "base",
                  "avalanche",
                  "bsc",
                  "gnosis"
                ]
              },
              "address": {
                "type": "string",
                "description": "Wallet address",
                "example": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
              }
            },
            "required": [
              "chain",
              "address"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getAaveV3UserPositions",
          "params": {
            "chain": "ethereum",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
          },
          "id": 1
        }
      },
      "JsonRpcDefiCompoundRequest": {
        "title": "Compound V3 Positions",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getCompoundV3UserPositions"
            ],
            "default": "getCompoundV3UserPositions"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "arbitrum",
                  "optimism",
                  "base",
                  "linea"
                ]
              },
              "address": {
                "type": "string",
                "description": "Wallet address",
                "example": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
              }
            },
            "required": [
              "chain",
              "address"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getCompoundV3UserPositions",
          "params": {
            "chain": "ethereum",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
          },
          "id": 1
        }
      },
      "JsonRpcDefiCompoundV2Request": {
        "title": "Compound V2 Positions (Deprecated)",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getCompoundV2UserPositions"
            ],
            "default": "getCompoundV2UserPositions"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum"
                ]
              },
              "address": {
                "type": "string",
                "description": "Wallet address",
                "example": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
              }
            },
            "required": [
              "chain",
              "address"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getCompoundV2UserPositions",
          "params": {
            "chain": "ethereum",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
          },
          "id": 1
        }
      },
      "JsonRpcDefiMorphoRequest": {
        "title": "Morpho Blue Positions",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getMorphoUserPositions"
            ],
            "default": "getMorphoUserPositions"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "base"
                ]
              },
              "address": {
                "type": "string",
                "description": "Wallet address",
                "example": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
              }
            },
            "required": [
              "chain",
              "address"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getMorphoUserPositions",
          "params": {
            "chain": "ethereum",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
          },
          "id": 1
        }
      },
      "JsonRpcDefiLidoRequest": {
        "title": "Lido stETH / wstETH Positions",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getLidoUserPositions"
            ],
            "default": "getLidoUserPositions"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "arbitrum",
                  "optimism",
                  "base",
                  "gnosis",
                  "linea"
                ]
              },
              "address": {
                "type": "string",
                "description": "Wallet address",
                "example": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
              }
            },
            "required": [
              "chain",
              "address"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getLidoUserPositions",
          "params": {
            "chain": "ethereum",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
          },
          "id": 1
        }
      },
      "JsonRpcDefiCurveRequest": {
        "title": "Curve Pool Info",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getCurvePools"
            ],
            "default": "getCurvePools"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum"
                ]
              }
            },
            "required": [
              "chain"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getCurvePools",
          "params": {
            "chain": "ethereum"
          },
          "id": 1
        }
      },
      "JsonRpcDefiLlamalendMarketsRequest": {
        "title": "Curve LlamaLend Markets",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getCurveLlamaLendMarkets"
            ],
            "default": "getCurveLlamaLendMarkets"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "arbitrum",
                  "optimism"
                ]
              }
            },
            "required": [
              "chain"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getCurveLlamaLendMarkets",
          "params": {
            "chain": "ethereum"
          },
          "id": 1
        }
      },
      "JsonRpcDefiLlamalendRequest": {
        "title": "Curve LlamaLend Positions",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getCurveLlamaLend"
            ],
            "default": "getCurveLlamaLend"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "arbitrum",
                  "optimism"
                ]
              },
              "address": {
                "type": "string",
                "description": "Wallet address",
                "example": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
              }
            },
            "required": [
              "chain",
              "address"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getCurveLlamaLend",
          "params": {
            "chain": "ethereum",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
          },
          "id": 1
        }
      },
      "JsonRpcDefiPendleRequest": {
        "title": "Pendle V2 Protocol Info",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getPendleV2Info"
            ],
            "default": "getPendleV2Info"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "arbitrum",
                  "bsc",
                  "optimism",
                  "base",
                  "hyperliquid"
                ]
              }
            },
            "required": [
              "chain"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getPendleV2Info",
          "params": {
            "chain": "ethereum"
          },
          "id": 1
        }
      },
      "JsonRpcDefiAvantisRequest": {
        "title": "Avantis Vault Price",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getAvantisPrice"
            ],
            "default": "getAvantisPrice"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "base",
                "enum": [
                  "base"
                ]
              },
              "vault": {
                "type": "string",
                "description": "Vault name",
                "example": "avUSDC"
              }
            },
            "required": [
              "chain",
              "vault"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getAvantisPrice",
          "params": {
            "chain": "base",
            "vault": "avUSDC"
          },
          "id": 1
        }
      },
      "JsonRpcDefiSummaryRequest": {
        "title": "DeFi Summary",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getDefiSummary"
            ],
            "default": "getDefiSummary"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "bsc",
                  "optimism",
                  "base",
                  "avalanche",
                  "arbitrum",
                  "gnosis",
                  "moonbeam",
                  "linea",
                  "hyperliquid"
                ]
              },
              "address": {
                "type": "string",
                "description": "Wallet address",
                "example": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
              }
            },
            "required": [
              "chain",
              "address"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getDefiSummary",
          "params": {
            "chain": "ethereum",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
          },
          "id": 1
        }
      },
      "JsonRpcDefiUniswapV2QuoteRequest": {
        "title": "Uniswap V2 Quote",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getUniswapV2Quote"
            ],
            "default": "getUniswapV2Quote"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum"
                ]
              },
              "tokenIn": {
                "type": "string",
                "description": "Input token contract address",
                "example": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
              },
              "tokenOut": {
                "type": "string",
                "description": "Output token contract address",
                "example": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
              },
              "amount": {
                "type": "string",
                "description": "Input amount (human-readable, e.g. \"1.0\")",
                "example": "1.0"
              }
            },
            "required": [
              "chain",
              "tokenIn",
              "tokenOut",
              "amount"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getUniswapV2Quote",
          "params": {
            "chain": "ethereum",
            "tokenIn": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
            "tokenOut": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
            "amount": "1.0"
          },
          "id": 1
        }
      },
      "JsonRpcDefiUniswapQuoteRequest": {
        "title": "Uniswap V3 Quote",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getUniswapV3Quote"
            ],
            "default": "getUniswapV3Quote"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "arbitrum",
                  "optimism",
                  "base",
                  "bsc",
                  "avalanche"
                ]
              },
              "tokenIn": {
                "type": "string",
                "description": "Input token contract address",
                "example": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
              },
              "tokenOut": {
                "type": "string",
                "description": "Output token contract address",
                "example": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
              },
              "amount": {
                "type": "string",
                "description": "Input amount (human-readable, e.g. \"1.0\")",
                "example": "1.0"
              },
              "fee": {
                "type": "string",
                "description": "Pool fee tier in bps",
                "example": "500",
                "enum": [
                  "500",
                  "3000",
                  "10000"
                ]
              },
              "blockHeight": {
                "type": "string",
                "description": "Historical EVM block number (archive nodes only)",
                "example": "19834521"
              }
            },
            "required": [
              "chain",
              "tokenIn",
              "tokenOut",
              "amount"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getUniswapV3Quote",
          "params": {
            "chain": "ethereum",
            "tokenIn": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
            "tokenOut": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
            "amount": "1.0",
            "fee": "500",
            "blockHeight": "19834521"
          },
          "id": 1
        }
      },
      "JsonRpcDefiUniswapV4QuoteRequest": {
        "title": "Uniswap V4 Quote",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getUniswapV4Quote"
            ],
            "default": "getUniswapV4Quote"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "optimism",
                  "base",
                  "arbitrum",
                  "polygon",
                  "bsc",
                  "avalanche"
                ]
              },
              "tokenIn": {
                "type": "string",
                "description": "Input token contract address",
                "example": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
              },
              "tokenOut": {
                "type": "string",
                "description": "Output token contract address",
                "example": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
              },
              "amount": {
                "type": "string",
                "description": "Input amount (human-readable, e.g. \"1.0\")",
                "example": "1.0"
              },
              "fee": {
                "type": "string",
                "description": "Pool fee in bps (default 3000)",
                "example": "3000"
              },
              "tickSpacing": {
                "type": "string",
                "description": "Tick spacing (default 60)",
                "example": "60"
              },
              "blockHeight": {
                "type": "string",
                "description": "Historical EVM block number (archive nodes only)",
                "example": "19834521"
              }
            },
            "required": [
              "chain",
              "tokenIn",
              "tokenOut",
              "amount"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getUniswapV4Quote",
          "params": {
            "chain": "ethereum",
            "tokenIn": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
            "tokenOut": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
            "amount": "1.0",
            "fee": "3000",
            "tickSpacing": "60",
            "blockHeight": "19834521"
          },
          "id": 1
        }
      },
      "JsonRpcDefiJupiterQuoteRequest": {
        "title": "Jupiter Swap Quote (Solana)",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getJupiterQuote"
            ],
            "default": "getJupiterQuote"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "inputMint": {
                "type": "string",
                "description": "Input SPL token mint address",
                "example": "So11111111111111111111111111111111111111112"
              },
              "outputMint": {
                "type": "string",
                "description": "Output SPL token mint address",
                "example": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
              },
              "amount": {
                "type": "string",
                "description": "Input amount in raw units (lamports)",
                "example": "1000000000"
              },
              "slippageBps": {
                "type": "string",
                "description": "Slippage tolerance in bps (default 50)",
                "example": "50"
              }
            },
            "required": [
              "inputMint",
              "outputMint",
              "amount"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getJupiterQuote",
          "params": {
            "inputMint": "So11111111111111111111111111111111111111112",
            "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
            "amount": "1000000000",
            "slippageBps": "50"
          },
          "id": 1
        }
      },
      "JsonRpcDefiJupiterPriceRequest": {
        "title": "Jupiter Token Price (Solana)",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getJupiterPrice"
            ],
            "default": "getJupiterPrice"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "inputMint": {
                "type": "string",
                "description": "Token mint to price",
                "example": "So11111111111111111111111111111111111111112"
              },
              "outputMint": {
                "type": "string",
                "description": "Reference token mint (e.g. USDC)",
                "example": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
              }
            },
            "required": [
              "inputMint",
              "outputMint"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getJupiterPrice",
          "params": {
            "inputMint": "So11111111111111111111111111111111111111112",
            "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
          },
          "id": 1
        }
      },
      "JsonRpcPerpsAllRequest": {
        "title": "All Funding Rates",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getFundingRates"
            ],
            "default": "getFundingRates"
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getFundingRates",
          "params": {},
          "id": 1
        }
      },
      "JsonRpcPerpsHlRequest": {
        "title": "Hyperliquid Funding Rates",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getHLFunding"
            ],
            "default": "getHLFunding"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "coin": {
                "type": "string",
                "description": "Filter by coin symbol (e.g. BTC, ETH)",
                "example": "BTC"
              }
            }
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getHLFunding",
          "params": {
            "coin": "BTC"
          },
          "id": 1
        }
      },
      "JsonRpcPerpsDydxRequest": {
        "title": "dYdX v4 Funding Rates",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getDydxFunding"
            ],
            "default": "getDydxFunding"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "ticker": {
                "type": "string",
                "description": "Filter by market ticker (e.g. BTC-USD)",
                "example": "BTC-USD"
              }
            }
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getDydxFunding",
          "params": {
            "ticker": "BTC-USD"
          },
          "id": 1
        }
      },
      "JsonRpcApprovalsScanRequest": {
        "title": "Scan Token Approvals",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getApprovals"
            ],
            "default": "getApprovals"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "bsc",
                  "optimism",
                  "base",
                  "avalanche",
                  "arbitrum",
                  "gnosis",
                  "moonbeam",
                  "linea",
                  "hyperliquid"
                ]
              },
              "address": {
                "type": "string",
                "description": "Wallet address to scan",
                "example": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
              },
              "blockHeight": {
                "type": "string",
                "description": "Historical EVM block number (archive nodes only)",
                "example": "19834521"
              }
            },
            "required": [
              "chain",
              "address"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getApprovals",
          "params": {
            "chain": "ethereum",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "blockHeight": "19834521"
          },
          "id": 1
        }
      },
      "JsonRpcApprovalsRevokeRequest": {
        "title": "Build Revoke Transaction",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getApprovalsRevoke"
            ],
            "default": "getApprovalsRevoke"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "bsc",
                  "optimism",
                  "base",
                  "avalanche",
                  "arbitrum",
                  "gnosis",
                  "moonbeam",
                  "linea",
                  "hyperliquid"
                ]
              },
              "address": {
                "type": "string",
                "description": "Wallet address (tx.from)",
                "example": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
              },
              "token": {
                "type": "string",
                "description": "Token contract address",
                "example": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
              },
              "spender": {
                "type": "string",
                "description": "Spender contract address to revoke",
                "example": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45"
              }
            },
            "required": [
              "chain",
              "address",
              "token",
              "spender"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getApprovalsRevoke",
          "params": {
            "chain": "ethereum",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
            "spender": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45"
          },
          "id": 1
        }
      },
      "JsonRpcRegistryProtocolsRequest": {
        "title": "List Protocols",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getProtocols"
            ],
            "default": "getProtocols"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "category": {
                "type": "string",
                "description": "Filter by category",
                "example": "lending",
                "enum": [
                  "lending",
                  "dex",
                  "staking",
                  "aggregator",
                  "derivatives"
                ]
              },
              "chain": {
                "type": "string",
                "description": "Filter by chain (e.g. ethereum, polygon)",
                "example": "ethereum"
              }
            }
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getProtocols",
          "params": {
            "category": "lending",
            "chain": "ethereum"
          },
          "id": 1
        }
      },
      "JsonRpcRegistrySlugsRequest": {
        "title": "List Protocol Slugs",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getRegistrySlugs"
            ],
            "default": "getRegistrySlugs"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "category": {
                "type": "string",
                "description": "Filter by category",
                "example": "lending",
                "enum": [
                  "lending",
                  "dex",
                  "staking",
                  "aggregator",
                  "derivatives"
                ]
              },
              "chain": {
                "type": "string",
                "description": "Filter by chain (e.g. ethereum, polygon)",
                "example": "ethereum"
              }
            }
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getRegistrySlugs",
          "params": {
            "category": "lending",
            "chain": "ethereum"
          },
          "id": 1
        }
      },
      "JsonRpcRegistryProtocolRequest": {
        "title": "Get Protocol Details",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getProtocol"
            ],
            "default": "getProtocol"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "slug": {
                "type": "string",
                "description": "Protocol identifier",
                "example": "aave-v2",
                "enum": [
                  "aave-v2",
                  "aave-v3",
                  "compound-v2",
                  "compound-v3",
                  "uniswap-v2",
                  "uniswap-v3",
                  "uniswap-v4",
                  "curve",
                  "curve-llamalend",
                  "lido",
                  "morpho",
                  "1inch-v6",
                  "pendle-v2",
                  "rocket-pool",
                  "coinbase-cbeth",
                  "binance-wbeth",
                  "etherfi",
                  "frax-ether",
                  "swell",
                  "ankr",
                  "stader",
                  "benqi-savax",
                  "jito",
                  "marinade",
                  "blazestake",
                  "avantis"
                ]
              }
            },
            "required": [
              "slug"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getProtocol",
          "params": {
            "slug": "aave-v2"
          },
          "id": 1
        }
      },
      "JsonRpcRegistryContractsRequest": {
        "title": "Get Protocol Contracts",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getRegistryContracts"
            ],
            "default": "getRegistryContracts"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "slug": {
                "type": "string",
                "description": "Protocol identifier",
                "example": "aave-v2",
                "enum": [
                  "aave-v2",
                  "aave-v3",
                  "compound-v2",
                  "compound-v3",
                  "uniswap-v2",
                  "uniswap-v3",
                  "uniswap-v4",
                  "curve",
                  "curve-llamalend",
                  "lido",
                  "morpho",
                  "1inch-v6",
                  "pendle-v2",
                  "rocket-pool",
                  "coinbase-cbeth",
                  "binance-wbeth",
                  "etherfi",
                  "frax-ether",
                  "swell",
                  "ankr",
                  "stader",
                  "benqi-savax",
                  "jito",
                  "marinade",
                  "blazestake",
                  "avantis"
                ]
              },
              "chain": {
                "type": "string",
                "description": "Filter by chain",
                "example": "ethereum"
              }
            },
            "required": [
              "slug"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getRegistryContracts",
          "params": {
            "slug": "aave-v2",
            "chain": "ethereum"
          },
          "id": 1
        }
      },
      "JsonRpcRegistryAddressRequest": {
        "title": "Resolve Contract Address",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getRegistryAddress"
            ],
            "default": "getRegistryAddress"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "slug": {
                "type": "string",
                "description": "Protocol identifier",
                "example": "aave-v2",
                "enum": [
                  "aave-v2",
                  "aave-v3",
                  "compound-v2",
                  "compound-v3",
                  "uniswap-v2",
                  "uniswap-v3",
                  "uniswap-v4",
                  "curve",
                  "curve-llamalend",
                  "lido",
                  "morpho",
                  "1inch-v6",
                  "pendle-v2",
                  "rocket-pool",
                  "coinbase-cbeth",
                  "binance-wbeth",
                  "etherfi",
                  "frax-ether",
                  "swell",
                  "ankr",
                  "stader",
                  "benqi-savax",
                  "jito",
                  "marinade",
                  "blazestake",
                  "avantis"
                ]
              },
              "contract": {
                "type": "string",
                "description": "Contract key",
                "example": "pool"
              },
              "chain": {
                "type": "string",
                "description": "Chain name",
                "example": "ethereum"
              }
            },
            "required": [
              "slug",
              "contract",
              "chain"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getRegistryAddress",
          "params": {
            "slug": "aave-v2",
            "contract": "pool",
            "chain": "ethereum"
          },
          "id": 1
        }
      },
      "JsonRpcRegistryCategoriesRequest": {
        "title": "List Categories",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getRegistryCategories"
            ],
            "default": "getRegistryCategories"
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getRegistryCategories",
          "params": {},
          "id": 1
        }
      },
      "JsonRpcRegistryChainsRequest": {
        "title": "List Supported Chains",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getRegistryChains"
            ],
            "default": "getRegistryChains"
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getRegistryChains",
          "params": {},
          "id": 1
        }
      },
      "JsonRpcRpcProxyRequest": {
        "title": "JSON-RPC Proxy",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "rpcProxy"
            ],
            "default": "rpcProxy"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "bsc",
                  "optimism",
                  "base",
                  "avalanche",
                  "arbitrum",
                  "gnosis",
                  "moonbeam",
                  "linea",
                  "hyperliquid",
                  "solana",
                  "bitcoin"
                ]
              },
              "method": {
                "type": "string",
                "description": "Native RPC method name (e.g. eth_blockNumber, eth_getBalance)",
                "example": "example"
              },
              "params": {
                "type": "array",
                "description": "Method parameters as JSON array (e.g. [] or [\"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\", \"latest\"])",
                "items": {},
                "example": []
              }
            },
            "required": [
              "chain",
              "method"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "rpcProxy",
          "params": {
            "chain": "ethereum",
            "method": "eth_blockNumber",
            "params": []
          },
          "id": 1
        }
      },
      "JsonRpcBlockTransactionsRequest": {
        "title": "Block Transactions",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getBlockTransactions"
            ],
            "default": "getBlockTransactions"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "bsc",
                  "optimism",
                  "base",
                  "avalanche",
                  "arbitrum",
                  "gnosis",
                  "moonbeam",
                  "linea",
                  "hyperliquid"
                ]
              },
              "blockNumber": {
                "type": "string",
                "description": "Block number to fetch transactions from",
                "example": "21000000"
              }
            },
            "required": [
              "chain",
              "blockNumber"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getBlockTransactions",
          "params": {
            "chain": "ethereum",
            "blockNumber": "21000000"
          },
          "id": 1
        }
      },
      "JsonRpcTraceTransactionRequest": {
        "title": "Trace Transaction",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "traceTransaction"
            ],
            "default": "traceTransaction"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "bsc",
                  "optimism",
                  "base",
                  "avalanche",
                  "arbitrum",
                  "gnosis",
                  "moonbeam",
                  "linea",
                  "hyperliquid"
                ]
              },
              "hash": {
                "type": "string",
                "description": "Transaction hash to trace",
                "example": "0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060"
              }
            },
            "required": [
              "chain",
              "hash"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "traceTransaction",
          "params": {
            "chain": "ethereum",
            "hash": "0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060"
          },
          "id": 1
        }
      },
      "JsonRpcEstimateGasRequest": {
        "title": "Estimate Gas",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "estimateGas"
            ],
            "default": "estimateGas"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "bsc",
                  "optimism",
                  "base",
                  "avalanche",
                  "arbitrum",
                  "gnosis",
                  "moonbeam",
                  "linea",
                  "hyperliquid"
                ]
              },
              "to": {
                "type": "string",
                "description": "Destination address",
                "example": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
              },
              "from": {
                "type": "string",
                "description": "Sender address",
                "example": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
              },
              "value": {
                "type": "string",
                "description": "ETH value in hex wei (e.g. 0xde0b6b3a7640000 = 1 ETH)",
                "example": "example"
              },
              "data": {
                "type": "string",
                "description": "Contract call data (hex encoded)",
                "example": "example"
              }
            },
            "required": [
              "chain",
              "to"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "estimateGas",
          "params": {
            "chain": "ethereum",
            "to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
            "from": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "value": "example",
            "data": "example"
          },
          "id": 1
        }
      },
      "JsonRpcSimulateCallRequest": {
        "title": "Simulate Call",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "simulateCall"
            ],
            "default": "simulateCall"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "bsc",
                  "optimism",
                  "base",
                  "avalanche",
                  "arbitrum",
                  "gnosis",
                  "moonbeam",
                  "linea",
                  "hyperliquid"
                ]
              },
              "to": {
                "type": "string",
                "description": "Contract address",
                "example": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
              },
              "data": {
                "type": "string",
                "description": "ABI-encoded function call data",
                "example": "0x70a08231000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045"
              },
              "from": {
                "type": "string",
                "description": "Caller address",
                "example": "example"
              },
              "value": {
                "type": "string",
                "description": "ETH value in hex wei",
                "example": "example"
              },
              "block": {
                "type": "string",
                "description": "Block number (hex) or \"latest\"",
                "example": "example"
              }
            },
            "required": [
              "chain",
              "to",
              "data"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "simulateCall",
          "params": {
            "chain": "ethereum",
            "to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
            "data": "0x70a08231000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045",
            "from": "example",
            "value": "example",
            "block": "example"
          },
          "id": 1
        }
      },
      "JsonRpcGetCodeRequest": {
        "title": "Get Contract Code",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "jsonrpc": {
            "type": "string",
            "enum": [
              "2.0"
            ],
            "default": "2.0"
          },
          "method": {
            "type": "string",
            "enum": [
              "getCode"
            ],
            "default": "getCode"
          },
          "params": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "chain": {
                "type": "string",
                "description": "Network slug",
                "example": "ethereum",
                "enum": [
                  "ethereum",
                  "polygon",
                  "bsc",
                  "optimism",
                  "base",
                  "avalanche",
                  "arbitrum",
                  "gnosis",
                  "moonbeam",
                  "linea",
                  "hyperliquid"
                ]
              },
              "address": {
                "type": "string",
                "description": "Address to check",
                "example": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
              },
              "blockHeight": {
                "type": "string",
                "description": "Historical EVM block number (archive nodes only)",
                "example": "19834521"
              }
            },
            "required": [
              "chain",
              "address"
            ]
          },
          "id": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": 1
          }
        },
        "required": [
          "jsonrpc",
          "method",
          "params",
          "id"
        ],
        "example": {
          "jsonrpc": "2.0",
          "method": "getCode",
          "params": {
            "chain": "ethereum",
            "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
            "blockHeight": "19834521"
          },
          "id": 1
        }
      }
    }
  },
  "paths": {
    "/v1": {
      "post": {
        "operationId": "jsonRpcV1",
        "summary": "Spectrum JSON-RPC 2.0 endpoint",
        "description": "Send a single JSON-RPC request object or a batch array to this endpoint. The named examples below cover the documented Spectrum methods and JSON-RPC batch transport.",
        "tags": [
          "Health",
          "Blocks",
          "Accounts",
          "ERC-20",
          "Portfolio",
          "ENS",
          "NFTs",
          "Logs",
          "Receipts",
          "Gas",
          "Batch",
          "Prices",
          "Token Discovery",
          "Yields",
          "DeFi Positions",
          "Swap Quotes",
          "Perps",
          "Token Approvals",
          "Protocol Registry",
          "JSON-RPC Proxy",
          "Advanced"
        ],
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/JsonRpcSingleRequest"
                  },
                  {
                    "$ref": "#/components/schemas/JsonRpcBatchRequest"
                  }
                ]
              },
              "examples": {
                "health": {
                  "summary": "Health Check",
                  "description": "Returns service status and current timestamp.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getHealth",
                    "params": {},
                    "id": 1
                  }
                },
                "chain-health": {
                  "summary": "Chain RPC Health",
                  "description": "Pings the chain's RPC node and returns status, current block height, and response latency in milliseconds. Returns HTTP 503 with status \"degraded\" or \"down\" if the RPC is unreachable.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getChainHealth",
                    "params": {
                      "chain": "ethereum"
                    },
                    "id": 1
                  }
                },
                "block-height": {
                  "summary": "Get Block Height",
                  "description": "Returns the latest block number for EVM/Bitcoin or slot for Solana.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getBlockHeight",
                    "params": {
                      "chain": "ethereum"
                    },
                    "id": 1
                  }
                },
                "balance": {
                  "summary": "Get Native Balance",
                  "description": "Returns the native token balance (ETH, MATIC, SOL, etc.) for a wallet address. Returns the human-readable `balance`, the on-chain integer `balanceRaw` (in wei/lamports), and `decimals`.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getBalance",
                    "params": {
                      "chain": "ethereum",
                      "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                      "blockHeight": "19834521"
                    },
                    "id": 1
                  }
                },
                "token-balance": {
                  "summary": "Get Token Balance",
                  "description": "Returns the balance of a specific ERC-20 or SPL token. Pass the token contract (or mint) address. Response includes the decimal-adjusted `balance`, the on-chain integer `balanceRaw`, and the token `decimals` so integrators can do their own arithmetic without a separate metadata call.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getTokenBalance",
                    "params": {
                      "chain": "ethereum",
                      "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                      "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                      "blockHeight": "19834521"
                    },
                    "id": 1
                  }
                },
                "token-metadata": {
                  "summary": "Get Token Metadata",
                  "description": "Returns name, symbol, decimals, and total supply for an ERC-20 token. Responses are cached for 1 hour. EVM chains only.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getTokenMetadata",
                    "params": {
                      "chain": "ethereum",
                      "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                      "blockHeight": "19834521"
                    },
                    "id": 1
                  }
                },
                "erc20-allowance": {
                  "summary": "Get ERC-20 Allowance",
                  "description": "Returns the amount a spender is approved to transfer from an owner's wallet for a specific ERC-20 token. Calls the token contract's allowance(owner, spender) function. Returns both human-readable and raw values, plus an isUnlimited flag. EVM chains only.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getTokenAllowance",
                    "params": {
                      "chain": "ethereum",
                      "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                      "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                      "spender": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",
                      "blockHeight": "19834521"
                    },
                    "id": 1
                  }
                },
                "portfolio": {
                  "summary": "Get Token Portfolio",
                  "description": "Returns native + ERC-20 token balances with live USD prices. Fetches on-chain balances for tracked tokens and sorts by USD value. EVM chains only. Only checks tokens in our registry - long-tail or newly deployed tokens will not appear.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getPortfolio",
                    "params": {
                      "chain": "ethereum",
                      "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                      "blockHeight": "19834521"
                    },
                    "id": 1
                  }
                },
                "ens-resolve": {
                  "summary": "Resolve ENS Name",
                  "description": "Resolves an ENS name (e.g. vitalik.eth) to its Ethereum address. Returns the resolved address or 404 if the name cannot be resolved.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "resolveENS",
                    "params": {
                      "name": "vitalik.eth"
                    },
                    "id": 1
                  }
                },
                "ens-reverse": {
                  "summary": "Reverse ENS Lookup",
                  "description": "Performs a reverse ENS lookup to find the primary ENS name associated with an Ethereum address.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "reverseENS",
                    "params": {
                      "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
                    },
                    "id": 1
                  }
                },
                "nft-collection": {
                  "summary": "Get NFT Collection Info",
                  "description": "Returns collection metadata: name, symbol, totalSupply, and detected standard (ERC-721, ERC-721Enumerable, ERC-1155) via ERC-165. Cached for 1 hour. EVM chains only.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getNftCollection",
                    "params": {
                      "chain": "ethereum",
                      "contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
                      "blockHeight": "19834521"
                    },
                    "id": 1
                  }
                },
                "nft-token-metadata": {
                  "summary": "Get NFT Token Metadata",
                  "description": "Returns token-level data: owner (ERC-721), tokenURI/uri, and fetched+parsed metadata JSON. For ERC-1155, skips ownerOf and uses uri(). IPFS/Arweave URIs are auto-rewritten to gateways. Cached for 5 minutes. EVM chains only.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getNftMetadata",
                    "params": {
                      "chain": "ethereum",
                      "contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
                      "tokenId": "1",
                      "blockHeight": "19834521"
                    },
                    "id": 1
                  }
                },
                "nft-token-owner": {
                  "summary": "Get NFT Token Owner",
                  "description": "Returns the current owner of an ERC-721 token via ownerOf. Not cached. EVM chains only.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getNftTokenOwner",
                    "params": {
                      "chain": "ethereum",
                      "contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
                      "tokenId": "1"
                    },
                    "id": 1
                  }
                },
                "nft-balance": {
                  "summary": "Get NFT Balance",
                  "description": "Returns the number of NFTs owned by an address in a collection (ERC-721 balanceOf). Not cached. EVM chains only.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getNftBalance",
                    "params": {
                      "chain": "ethereum",
                      "contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
                      "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                      "blockHeight": "19834521"
                    },
                    "id": 1
                  }
                },
                "nft-owned-tokens": {
                  "summary": "List Owned Token IDs",
                  "description": "Lists up to 100 token IDs owned by an address via ERC-721Enumerable tokenOfOwnerByIndex. Returns 400 if contract does not support Enumerable. Cached for 5 minutes. EVM chains only.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getNftTokens",
                    "params": {
                      "chain": "ethereum",
                      "contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
                      "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
                    },
                    "id": 1
                  }
                },
                "nft-erc1155-balance": {
                  "summary": "Get ERC-1155 Token Balance",
                  "description": "Returns the balance of a specific ERC-1155 token ID for an address. Not cached. EVM chains only.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getNftErc1155Balance",
                    "params": {
                      "chain": "ethereum",
                      "contract": "0x495f947276749ce646f68ac8c248420045cb7b5e",
                      "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                      "tokenId": "1"
                    },
                    "id": 1
                  }
                },
                "nft-batch-balance": {
                  "summary": "ERC-1155 Batch Balance",
                  "description": "Returns balances for multiple address/tokenId pairs via ERC-1155 balanceOfBatch. Both query arrays must be the same length, max 100 pairs. Not cached. EVM chains only.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getNftBatchBalance",
                    "params": {
                      "chain": "ethereum",
                      "contract": "0x495f947276749ce646f68ac8c248420045cb7b5e",
                      "addresses": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045,0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                      "tokenIds": "1,2"
                    },
                    "id": 1
                  }
                },
                "logs": {
                  "summary": "Query Event Logs",
                  "description": "Raw eth_getLogs query. Filter by contract address, event topic, and block range. Returns up to 1000 logs per call, sorted newest first. Use the cursor to paginate backward. EVM only.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getLogs",
                    "params": {
                      "chain": "ethereum",
                      "fromBlock": "latest",
                      "toBlock": "latest",
                      "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                      "topic0": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
                      "cursor": "example"
                    },
                    "id": 1
                  }
                },
                "transfers": {
                  "summary": "Get ERC-20 Transfers",
                  "description": "Returns ERC-20 Transfer events where the address is sender or receiver. Defaults to last 10,000 blocks. Returns up to 1000 logs per call, sorted newest first. Use the cursor to paginate backward. Merges and deduplicates sent/received. EVM only.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getTransfers",
                    "params": {
                      "chain": "ethereum",
                      "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                      "fromBlock": "latest",
                      "toBlock": "latest",
                      "cursor": "example"
                    },
                    "id": 1
                  }
                },
                "receipt": {
                  "summary": "Get Transaction Receipt",
                  "description": "Returns the full transaction receipt including gas used, status, contract creation address, logs, and decoded event names. EVM only.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getReceipt",
                    "params": {
                      "chain": "ethereum",
                      "hash": "0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060"
                    },
                    "id": 1
                  }
                },
                "gas-compare": {
                  "summary": "Compare Gas Fees",
                  "description": "Returns current base fee and priority fee for every EVM chain with estimated USD cost for a simple transfer (hardcoded at 21,000 gas). Sorted cheapest first. Uses live native token prices. Actual tx costs vary by type - token transfers, swaps, etc. use significantly more gas.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "compareGas",
                    "params": {},
                    "id": 1
                  }
                },
                "batch-jsonrpc": {
                  "summary": "JSON-RPC Batch Request",
                  "description": "Send multiple method calls in a single HTTP request by passing an array of JSON-RPC objects to POST /v1. Up to 50 requests per batch. Each request is executed independently — partial failures are possible. Responses are returned in the same order as the requests. Mix any methods freely (e.g. getBlockHeight + getBalance + getPrice in one call).",
                  "value": [
                    {
                      "jsonrpc": "2.0",
                      "method": "getBlockHeight",
                      "params": {
                        "chain": "ethereum"
                      },
                      "id": 1
                    },
                    {
                      "jsonrpc": "2.0",
                      "method": "getBalance",
                      "params": {
                        "chain": "ethereum",
                        "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
                      },
                      "id": 2
                    },
                    {
                      "jsonrpc": "2.0",
                      "method": "getPrice",
                      "params": {
                        "symbol": "ETH"
                      },
                      "id": 3
                    }
                  ]
                },
                "batch-blocks": {
                  "summary": "Batch Blocks by Number",
                  "description": "Get blocks by number from multiple chains in a single call. Pass chain:blockNumber pairs. Supports EVM chains, Solana, and Bitcoin in the same batch — Bitcoin returns Bitcoin Core's `getblock` payload (the `confirmations` field drifts as new tip blocks arrive).",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getBlockByNumber",
                    "params": [
                      {
                        "chain": "ethereum",
                        "block": 21000000
                      },
                      {
                        "chain": "bitcoin",
                        "block": 900000
                      }
                    ],
                    "id": 1
                  }
                },
                "batch-blocks-hash": {
                  "summary": "Batch Blocks by Hash",
                  "description": "Get blocks by hash from multiple chains in a single call. Pass chain:blockHash pairs.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getBlockByHash",
                    "params": [
                      {
                        "chain": "ethereum",
                        "hash": "0x4e3a3754410177e6937ef1f84bba68ea139e8d1a2258c5f85db9f1cd715a1bdd"
                      }
                    ],
                    "id": 1
                  }
                },
                "batch-transactions": {
                  "summary": "Batch Transactions",
                  "description": "Get transactions by hash from multiple chains in a single call. Pass chain:txHash pairs.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getTransactionByHash",
                    "params": [
                      {
                        "chain": "ethereum",
                        "hash": "0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060"
                      }
                    ],
                    "id": 1
                  }
                },
                "price-single": {
                  "summary": "Get Token Price",
                  "description": "Returns the current USD and EUR price for a token by symbol. Uses canonical token matching to skip bridged/wrapped variants.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getPrice",
                    "params": {
                      "symbol": "BTC"
                    },
                    "id": 1
                  }
                },
                "price-top": {
                  "summary": "Top Tokens",
                  "description": "Returns the most widely deployed tokens ranked by cross-chain adoption count, then by price. Deduplicated by symbol. Useful for building token lists and discovery UIs.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getTopPrices",
                    "params": {
                      "limit": "50",
                      "currency": "USD"
                    },
                    "id": 1
                  }
                },
                "price-history": {
                  "summary": "Price History",
                  "description": "Returns daily price history for a token. Defaults to 30 days, max 90. One data point per day using the daily maximum price.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getPriceHistory",
                    "params": {
                      "symbol": "BTC",
                      "days": "30",
                      "currency": "USD"
                    },
                    "id": 1
                  }
                },
                "token-search": {
                  "summary": "Search Tokens",
                  "description": "Search tokens by name or symbol. Returns canonical (non-bridged) matches first, deduplicated by symbol. Includes chain deployment addresses for each result.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "searchTokens",
                    "params": {
                      "q": "usdc",
                      "limit": "20"
                    },
                    "id": 1
                  }
                },
                "token-addresses": {
                  "summary": "Token Chain Addresses",
                  "description": "Returns all known contract addresses for a token across every chain. Useful for building cross-chain swap/bridge UIs or mapping token contracts across networks.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getTokenAddresses",
                    "params": {
                      "symbol": "BTC"
                    },
                    "id": 1
                  }
                },
                "yields-lending": {
                  "summary": "Lending Yields",
                  "description": "APY and TVL from lending protocols. All three query parameters are required.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getYieldsLending",
                    "params": {
                      "chain": "ethereum",
                      "protocol": "aave",
                      "pool": "USDC"
                    },
                    "id": 1
                  }
                },
                "yields-vaults": {
                  "summary": "Vault Yields",
                  "description": "APY and TVL from yield aggregators and vault protocols. All three query parameters are required.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getYieldsVaults",
                    "params": {
                      "chain": "ethereum",
                      "protocol": "beefy",
                      "pool": "aavev3-usdc"
                    },
                    "id": 1
                  }
                },
                "yields-best": {
                  "summary": "Best Yields",
                  "description": "Scans all lending and vault protocols across all supported chains and returns the highest yields sorted by APY. Useful for finding the best place to deploy capital.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getYieldsBest",
                    "params": {
                      "token": "USDC",
                      "minTvl": "1000000",
                      "limit": "10",
                      "type": "lending"
                    },
                    "id": 1
                  }
                },
                "yields-balance": {
                  "summary": "Pool User Balance",
                  "description": "Returns a user's balance in a specific lending or vault protocol pool. All four query parameters are required.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getYieldsBalance",
                    "params": {
                      "chain": "ethereum",
                      "protocol": "aave",
                      "pool": "USDC",
                      "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
                    },
                    "id": 1
                  }
                },
                "yields-price": {
                  "summary": "Pool Token Price",
                  "description": "Returns the current price per share in USD for a pool token. Useful for converting pool token balances to USD value.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getYieldsPrice",
                    "params": {
                      "chain": "ethereum",
                      "protocol": "aave",
                      "pool": "USDC"
                    },
                    "id": 1
                  }
                },
                "yields-pendle-implied-apy": {
                  "summary": "Pendle Implied APY",
                  "description": "Calculates the implied APY for a user's Pendle PT position based on their entry price and time to expiry. Returns the effective exchange rate, days to expiry, and implied APY.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getYieldsPendleImpliedApy",
                    "params": {
                      "chain": "ethereum",
                      "pool": "0x7d372819240d14fb477f17b964f95f33beb4c704",
                      "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
                    },
                    "id": 1
                  }
                },
                "yields-morpho-vaults": {
                  "summary": "List Morpho Vaults",
                  "description": "Returns all available Morpho vaults on a chain with basic metadata (address, name, symbol, version). Use this to discover vaults before querying detailed data.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getMorphoVaults",
                    "params": {
                      "chain": "ethereum"
                    },
                    "id": 1
                  }
                },
                "yields-morpho-vault-data": {
                  "summary": "Morpho Vault Data",
                  "description": "Returns detailed data for specific Morpho vaults including APY, TVL, fees, and reward info. Pass up to 50 vault addresses per request.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getMorphoVaultData",
                    "params": {
                      "chain": "ethereum",
                      "vaults": "0xdd0f28e19C1780eb6396170735D45153D261490d"
                    },
                    "id": 1
                  }
                },
                "defi-aave-v2": {
                  "summary": "Aave V2 Positions",
                  "description": "Returns a user's Aave V2 position: collateral assets, debt, health factor, and liquidation threshold. Important: fields named totalCollateralUsd/totalDebtUsd are actually denominated in ETH (not USD) - Aave V2 returns ETH-based values.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getAaveV2UserPositions",
                    "params": {
                      "chain": "ethereum",
                      "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
                    },
                    "id": 1
                  }
                },
                "defi-aave": {
                  "summary": "Aave V3 Positions",
                  "description": "Returns a user's full Aave V3 position: collateral assets, debt, health factor, net worth, and liquidation status. Reads directly from on-chain Pool + ProtocolDataProvider contracts.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getAaveV3UserPositions",
                    "params": {
                      "chain": "ethereum",
                      "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
                    },
                    "id": 1
                  }
                },
                "defi-compound": {
                  "summary": "Compound V3 Positions",
                  "description": "Returns a user's Compound V3 (Comet) positions across all markets on a chain. Includes supply/borrow balances, collateral assets, USD values, and liquidation status.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getCompoundV3UserPositions",
                    "params": {
                      "chain": "ethereum",
                      "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
                    },
                    "id": 1
                  }
                },
                "defi-compound-v2": {
                  "summary": "Compound V2 Positions (Deprecated)",
                  "description": "Returns a user's Compound V2 positions across cToken markets. Note: Compound V2 is deprecated (borrows/mints paused Dec 2025) - users may still have existing positions.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getCompoundV2UserPositions",
                    "params": {
                      "chain": "ethereum",
                      "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
                    },
                    "id": 1
                  }
                },
                "defi-morpho": {
                  "summary": "Morpho Blue Positions",
                  "description": "Returns a user's Morpho Blue positions across hardcoded markets. Shows supply/borrow share-to-asset conversions, collateral deposits, and market parameters (LLTV, oracle). Only detects positions in the listed markets.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getMorphoUserPositions",
                    "params": {
                      "chain": "ethereum",
                      "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
                    },
                    "id": 1
                  }
                },
                "defi-lido": {
                  "summary": "Lido stETH / wstETH Positions",
                  "description": "Returns stETH and wstETH balances with ETH-equivalent values and live exchange rates. Full stETH + wstETH data on Ethereum; wstETH balance only on L2s (bridged token). Note: stakingApr is hardcoded at 3.5%.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getLidoUserPositions",
                    "params": {
                      "chain": "ethereum",
                      "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
                    },
                    "id": 1
                  }
                },
                "defi-curve": {
                  "summary": "Curve Pool Info",
                  "description": "Returns data for 3 hardcoded Curve pools only. Does not discover pools dynamically.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getCurvePools",
                    "params": {
                      "chain": "ethereum"
                    },
                    "id": 1
                  }
                },
                "defi-llamalend-markets": {
                  "summary": "Curve LlamaLend Markets",
                  "description": "Returns all Curve LlamaLend (OneWay Lending) vault markets on a chain. Shows vault name, symbol, underlying asset, total deposits and shares.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getCurveLlamaLendMarkets",
                    "params": {
                      "chain": "ethereum"
                    },
                    "id": 1
                  }
                },
                "defi-llamalend": {
                  "summary": "Curve LlamaLend Positions",
                  "description": "Returns a user's Curve LlamaLend positions across all OneWay Lending vaults. Shows vault shares and their equivalent underlying asset value.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getCurveLlamaLend",
                    "params": {
                      "chain": "ethereum",
                      "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
                    },
                    "id": 1
                  }
                },
                "defi-pendle": {
                  "summary": "Pendle V2 Protocol Info",
                  "description": "Returns Pendle V2 router and routerStatic contract addresses for a chain only - does NOT return user positions or market data.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getPendleV2Info",
                    "params": {
                      "chain": "ethereum"
                    },
                    "id": 1
                  }
                },
                "defi-avantis": {
                  "summary": "Avantis Vault Price",
                  "description": "Returns the deposit and redemption prices for an Avantis ERC-4626 vault (e.g. avUSDC). Deposit price is the gross share value (convertToAssets), redemption price is the net value after withdrawal fees (previewRedeem).",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getAvantisPrice",
                    "params": {
                      "chain": "base",
                      "vault": "avUSDC"
                    },
                    "id": 1
                  }
                },
                "defi-summary": {
                  "summary": "DeFi Summary",
                  "description": "Aggregates positions across 7 protocols in parallel. Returns per-protocol status (ok/error/unsupported) with positions or error details.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getDefiSummary",
                    "params": {
                      "chain": "ethereum",
                      "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
                    },
                    "id": 1
                  }
                },
                "defi-uniswap-v2-quote": {
                  "summary": "Uniswap V2 Quote",
                  "description": "Gets a swap quote from the Uniswap V2 Router02 contract using getAmountsOut (constant-product x*y=k AMM). On-chain read - no transaction needed. Router02 only deployed on Ethereum.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getUniswapV2Quote",
                    "params": {
                      "chain": "ethereum",
                      "tokenIn": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
                      "tokenOut": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                      "amount": "1.0"
                    },
                    "id": 1
                  }
                },
                "defi-uniswap-quote": {
                  "summary": "Uniswap V3 Quote",
                  "description": "Gets an exact-input swap quote from the Uniswap V3 QuoterV2 contract. On-chain read - no transaction needed.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getUniswapV3Quote",
                    "params": {
                      "chain": "ethereum",
                      "tokenIn": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
                      "tokenOut": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                      "amount": "1.0",
                      "fee": "500",
                      "blockHeight": "19834521"
                    },
                    "id": 1
                  }
                },
                "defi-uniswap-v4-quote": {
                  "summary": "Uniswap V4 Quote",
                  "description": "Gets a swap quote from the Uniswap V4 Quoter contract (singleton PoolManager architecture with hooks). On-chain read via staticCall.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getUniswapV4Quote",
                    "params": {
                      "chain": "ethereum",
                      "tokenIn": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
                      "tokenOut": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                      "amount": "1.0",
                      "fee": "3000",
                      "tickSpacing": "60",
                      "blockHeight": "19834521"
                    },
                    "id": 1
                  }
                },
                "defi-jupiter-quote": {
                  "summary": "Jupiter Swap Quote (Solana)",
                  "description": "Gets a swap quote from the Jupiter aggregator for Solana SPL tokens. Returns route plan, price impact, and output amount. Chain is fixed to Solana.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getJupiterQuote",
                    "params": {
                      "inputMint": "So11111111111111111111111111111111111111112",
                      "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
                      "amount": "1000000000",
                      "slippageBps": "50"
                    },
                    "id": 1
                  }
                },
                "defi-jupiter-price": {
                  "summary": "Jupiter Token Price (Solana)",
                  "description": "Gets the current price of a Solana token by quoting 1 unit against a reference token (e.g. USDC). Derived from Jupiter quote API. Chain is fixed to Solana.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getJupiterPrice",
                    "params": {
                      "inputMint": "So11111111111111111111111111111111111111112",
                      "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
                    },
                    "id": 1
                  }
                },
                "perps-all": {
                  "summary": "All Funding Rates",
                  "description": "Returns current perpetual funding rates from both Hyperliquid and dYdX v4 in a single request. Chain-agnostic.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getFundingRates",
                    "params": {},
                    "id": 1
                  }
                },
                "perps-hl": {
                  "summary": "Hyperliquid Funding Rates",
                  "description": "Returns current perpetual funding rates from Hyperliquid L1. Optionally filter by coin symbol. Sorted by absolute annualized rate descending. Chain-agnostic.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getHLFunding",
                    "params": {
                      "coin": "BTC"
                    },
                    "id": 1
                  }
                },
                "perps-dydx": {
                  "summary": "dYdX v4 Funding Rates",
                  "description": "Returns current perpetual funding rates from dYdX v4. Optionally filter by ticker. Sorted by absolute annualized rate descending. Chain-agnostic.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getDydxFunding",
                    "params": {
                      "ticker": "BTC-USD"
                    },
                    "id": 1
                  }
                },
                "approvals-scan": {
                  "summary": "Scan Token Approvals",
                  "description": "Scans ERC-20 allowances for known DeFi spenders against common tokens per chain. Does not scan all approvals.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getApprovals",
                    "params": {
                      "chain": "ethereum",
                      "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                      "blockHeight": "19834521"
                    },
                    "id": 1
                  }
                },
                "approvals-revoke": {
                  "summary": "Build Revoke Transaction",
                  "description": "Returns an unsigned ERC-20 approve(spender, 0) transaction to revoke a specific token approval. Does not broadcast.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getApprovalsRevoke",
                    "params": {
                      "chain": "ethereum",
                      "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                      "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                      "spender": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45"
                    },
                    "id": 1
                  }
                },
                "registry-protocols": {
                  "summary": "List Protocols",
                  "description": "Lists all 25 registered DeFi protocols with optional filtering by category or chain.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getProtocols",
                    "params": {
                      "category": "lending",
                      "chain": "ethereum"
                    },
                    "id": 1
                  }
                },
                "registry-slugs": {
                  "summary": "List Protocol Slugs",
                  "description": "Lightweight enumeration of supported protocols — returns slugs only (no descriptions, contracts, or chains). Use for autocomplete, \"is X supported?\" checks, or any case where the full protocol payload would be wasted bandwidth.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getRegistrySlugs",
                    "params": {
                      "category": "lending",
                      "chain": "ethereum"
                    },
                    "id": 1
                  }
                },
                "registry-protocol": {
                  "summary": "Get Protocol Details",
                  "description": "Returns full details for a specific protocol including all contracts, ABIs, and addresses across chains.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getProtocol",
                    "params": {
                      "slug": "aave-v2"
                    },
                    "id": 1
                  }
                },
                "registry-contracts": {
                  "summary": "Get Protocol Contracts",
                  "description": "Lists all smart contracts for a protocol, optionally filtered by chain.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getRegistryContracts",
                    "params": {
                      "slug": "aave-v2",
                      "chain": "ethereum"
                    },
                    "id": 1
                  }
                },
                "registry-address": {
                  "summary": "Resolve Contract Address",
                  "description": "Resolves a specific contract address for a protocol on a given chain.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getRegistryAddress",
                    "params": {
                      "slug": "aave-v2",
                      "contract": "pool",
                      "chain": "ethereum"
                    },
                    "id": 1
                  }
                },
                "registry-categories": {
                  "summary": "List Categories",
                  "description": "Returns all available protocol categories that can be used for filtering.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getRegistryCategories",
                    "params": {},
                    "id": 1
                  }
                },
                "registry-chains": {
                  "summary": "List Supported Chains",
                  "description": "Returns all blockchain chains that have registered protocols in the registry.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getRegistryChains",
                    "params": {},
                    "id": 1
                  }
                },
                "rpc-proxy": {
                  "summary": "JSON-RPC Proxy",
                  "description": "Forwards raw JSON-RPC calls directly to the chain node via the unified JSON-RPC interface. Supports all native RPC methods — EVM (eth_*, trace_*, debug_*), Solana, and Bitcoin. Dangerous methods (admin, personal, miner, wallet operations) are blocked.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "rpcProxy",
                    "params": {
                      "chain": "ethereum",
                      "method": "eth_blockNumber",
                      "params": []
                    },
                    "id": 1
                  }
                },
                "block-transactions": {
                  "summary": "Block Transactions",
                  "description": "Returns all transactions in a specific block with full transaction objects including from, to, value, input data, and gas details.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getBlockTransactions",
                    "params": {
                      "chain": "ethereum",
                      "blockNumber": "21000000"
                    },
                    "id": 1
                  }
                },
                "trace-transaction": {
                  "summary": "Trace Transaction",
                  "description": "Returns the execution trace of a transaction using debug_traceTransaction (Geth) or trace_transaction (Parity/Erigon). Shows internal calls, delegatecalls, and value transfers. Availability depends on the chain node configuration.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "traceTransaction",
                    "params": {
                      "chain": "ethereum",
                      "hash": "0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060"
                    },
                    "id": 1
                  }
                },
                "estimate-gas": {
                  "summary": "Estimate Gas",
                  "description": "Estimates the gas required for a transaction without actually sending it. Useful for determining gas limits before submitting transactions.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "estimateGas",
                    "params": {
                      "chain": "ethereum",
                      "to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                      "from": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                      "value": "example",
                      "data": "example"
                    },
                    "id": 1
                  }
                },
                "simulate-call": {
                  "summary": "Simulate Call",
                  "description": "Executes a contract call locally without sending a transaction (eth_call). Returns the raw return data. Useful for reading contract state, testing function calls, or simulating transactions before submission.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "simulateCall",
                    "params": {
                      "chain": "ethereum",
                      "to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                      "data": "0x70a08231000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045",
                      "from": "example",
                      "value": "example",
                      "block": "example"
                    },
                    "id": 1
                  }
                },
                "get-code": {
                  "summary": "Get Contract Code",
                  "description": "Returns the bytecode deployed at an address. If the result is \"0x\", the address is an EOA (externally owned account), not a contract. Also returns the bytecode size in bytes.",
                  "value": {
                    "jsonrpc": "2.0",
                    "method": "getCode",
                    "params": {
                      "chain": "ethereum",
                      "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                      "blockHeight": "19834521"
                    },
                    "id": 1
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "JSON-RPC success, JSON-RPC error, or batch response.",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/JsonRpcSingleResponse"
                    },
                    {
                      "$ref": "#/components/schemas/JsonRpcBatchResponse"
                    }
                  ]
                },
                "examples": {
                  "health": {
                    "summary": "Health Check",
                    "description": "Returns service status and current timestamp.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "status": "ok",
                        "timestamp": "2026-02-25T15:00:00.000Z"
                      },
                      "id": 1
                    }
                  },
                  "chain-health": {
                    "summary": "Chain RPC Health",
                    "description": "Pings the chain's RPC node and returns status, current block height, and response latency in milliseconds. Returns HTTP 503 with status \"degraded\" or \"down\" if the RPC is unreachable.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "status": "ok",
                          "type": "EVM",
                          "blockHeight": 24535031,
                          "latencyMs": 142,
                          "timestamp": "2026-02-27T12:00:00.000Z"
                        }
                      },
                      "id": 1
                    }
                  },
                  "block-height": {
                    "summary": "Get Block Height",
                    "description": "Returns the latest block number for EVM/Bitcoin or slot for Solana.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "0x1",
                          "height": 24535031
                        }
                      },
                      "id": 1
                    }
                  },
                  "balance": {
                    "summary": "Get Native Balance",
                    "description": "Returns the native token balance (ETH, MATIC, SOL, etc.) for a wallet address. Returns the human-readable `balance`, the on-chain integer `balanceRaw` (in wei/lamports), and `decimals`.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "0x1",
                          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                          "blockHeight": 19834521,
                          "token": "ETH",
                          "balance": "32.126799033316011",
                          "balanceRaw": "32126799033316011000",
                          "decimals": 18
                        }
                      },
                      "id": 1
                    }
                  },
                  "token-balance": {
                    "summary": "Get Token Balance",
                    "description": "Returns the balance of a specific ERC-20 or SPL token. Pass the token contract (or mint) address. Response includes the decimal-adjusted `balance`, the on-chain integer `balanceRaw`, and the token `decimals` so integrators can do their own arithmetic without a separate metadata call.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "0x1",
                          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                          "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                          "blockHeight": 19834521,
                          "balance": "1500.25",
                          "balanceRaw": "1500250000",
                          "decimals": 6
                        }
                      },
                      "id": 1
                    }
                  },
                  "token-metadata": {
                    "summary": "Get Token Metadata",
                    "description": "Returns name, symbol, decimals, and total supply for an ERC-20 token. Responses are cached for 1 hour. EVM chains only.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                          "blockHeight": 19834521,
                          "name": "USD Coin",
                          "symbol": "USDC",
                          "decimals": 6,
                          "totalSupply": "53151453828.474567"
                        }
                      },
                      "id": 1
                    }
                  },
                  "erc20-allowance": {
                    "summary": "Get ERC-20 Allowance",
                    "description": "Returns the amount a spender is approved to transfer from an owner's wallet for a specific ERC-20 token. Calls the token contract's allowance(owner, spender) function. Returns both human-readable and raw values, plus an isUnlimited flag. EVM chains only.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                          "symbol": "USDC",
                          "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                          "spender": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",
                          "blockHeight": 19834521,
                          "allowance": "1000.0",
                          "allowanceRaw": "1000000000",
                          "isUnlimited": false
                        }
                      },
                      "id": 1
                    }
                  },
                  "portfolio": {
                    "summary": "Get Token Portfolio",
                    "description": "Returns native + ERC-20 token balances with live USD prices. Fetches on-chain balances for tracked tokens and sorts by USD value. EVM chains only. Only checks tokens in our registry - long-tail or newly deployed tokens will not appear.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                          "chain": "ethereum",
                          "blockHeight": 19834521,
                          "nativeBalance": "32.126799",
                          "nativeSymbol": "ETH",
                          "nativePriceUsd": 2025.31,
                          "nativeValueUsd": 65066.73,
                          "tokens": [
                            {
                              "address": "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",
                              "symbol": "WBTC",
                              "name": "Wrapped Bitcoin",
                              "balance": "0.00107",
                              "decimals": 8,
                              "priceUsd": 67138,
                              "valueUsd": 71.96
                            }
                          ],
                          "totalValueUsd": 65150.4
                        }
                      },
                      "id": 1
                    }
                  },
                  "ens-resolve": {
                    "summary": "Resolve ENS Name",
                    "description": "Resolves an ENS name (e.g. vitalik.eth) to its Ethereum address. Returns the resolved address or 404 if the name cannot be resolved.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "name": "vitalik.eth",
                          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
                        }
                      },
                      "id": 1
                    }
                  },
                  "ens-reverse": {
                    "summary": "Reverse ENS Lookup",
                    "description": "Performs a reverse ENS lookup to find the primary ENS name associated with an Ethereum address.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                          "name": "vitalik.eth"
                        }
                      },
                      "id": 1
                    }
                  },
                  "nft-collection": {
                    "summary": "Get NFT Collection Info",
                    "description": "Returns collection metadata: name, symbol, totalSupply, and detected standard (ERC-721, ERC-721Enumerable, ERC-1155) via ERC-165. Cached for 1 hour. EVM chains only.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
                          "blockHeight": 19834521,
                          "name": "BoredApeYachtClub",
                          "symbol": "BAYC",
                          "totalSupply": "10000",
                          "standard": {
                            "erc721": true,
                            "erc721Enumerable": true,
                            "erc1155": false
                          }
                        }
                      },
                      "id": 1
                    }
                  },
                  "nft-token-metadata": {
                    "summary": "Get NFT Token Metadata",
                    "description": "Returns token-level data: owner (ERC-721), tokenURI/uri, and fetched+parsed metadata JSON. For ERC-1155, skips ownerOf and uses uri(). IPFS/Arweave URIs are auto-rewritten to gateways. Cached for 5 minutes. EVM chains only.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
                          "tokenId": "1",
                          "blockHeight": 19834521,
                          "standard": {
                            "erc721": true,
                            "erc721Enumerable": true,
                            "erc1155": false
                          },
                          "owner": "0x1234...",
                          "tokenURI": "ipfs://Qm...",
                          "metadata": {
                            "name": "Bored Ape #1",
                            "image": "ipfs://Qm..."
                          }
                        }
                      },
                      "id": 1
                    }
                  },
                  "nft-token-owner": {
                    "summary": "Get NFT Token Owner",
                    "description": "Returns the current owner of an ERC-721 token via ownerOf. Not cached. EVM chains only.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
                          "tokenId": "1",
                          "owner": "0x1234..."
                        }
                      },
                      "id": 1
                    }
                  },
                  "nft-balance": {
                    "summary": "Get NFT Balance",
                    "description": "Returns the number of NFTs owned by an address in a collection (ERC-721 balanceOf). Not cached. EVM chains only.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
                          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                          "blockHeight": 19834521,
                          "balance": "3"
                        }
                      },
                      "id": 1
                    }
                  },
                  "nft-owned-tokens": {
                    "summary": "List Owned Token IDs",
                    "description": "Lists up to 100 token IDs owned by an address via ERC-721Enumerable tokenOfOwnerByIndex. Returns 400 if contract does not support Enumerable. Cached for 5 minutes. EVM chains only.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
                          "address": "0x1234...",
                          "tokenIds": [
                            "1042",
                            "5781",
                            "8832"
                          ],
                          "total": "3",
                          "capped": false
                        }
                      },
                      "id": 1
                    }
                  },
                  "nft-erc1155-balance": {
                    "summary": "Get ERC-1155 Token Balance",
                    "description": "Returns the balance of a specific ERC-1155 token ID for an address. Not cached. EVM chains only.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "contract": "0x495f947276749ce646f68ac8c248420045cb7b5e",
                          "address": "0x1234...",
                          "tokenId": "1",
                          "balance": "5"
                        }
                      },
                      "id": 1
                    }
                  },
                  "nft-batch-balance": {
                    "summary": "ERC-1155 Batch Balance",
                    "description": "Returns balances for multiple address/tokenId pairs via ERC-1155 balanceOfBatch. Both query arrays must be the same length, max 100 pairs. Not cached. EVM chains only.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "contract": "0x495f947276749ce646f68ac8c248420045cb7b5e",
                          "results": [
                            {
                              "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                              "tokenId": "1",
                              "balance": "5"
                            },
                            {
                              "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                              "tokenId": "2",
                              "balance": "0"
                            }
                          ]
                        }
                      },
                      "id": 1
                    }
                  },
                  "logs": {
                    "summary": "Query Event Logs",
                    "description": "Raw eth_getLogs query. Filter by contract address, event topic, and block range. Returns up to 1000 logs per call, sorted newest first. Use the cursor to paginate backward. EVM only.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "count": 1,
                          "limit": 1000,
                          "hasMore": false,
                          "cursor": null,
                          "logs": [
                            {
                              "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                              "topics": [
                                "0xddf252ad...",
                                "0x0000...c00",
                                "0x0000...436"
                              ],
                              "data": "0x0000...3b9aca00",
                              "blockNumber": 24510927,
                              "transactionHash": "0x867cbb7b...",
                              "logIndex": 1,
                              "removed": false
                            }
                          ]
                        }
                      },
                      "id": 1
                    }
                  },
                  "transfers": {
                    "summary": "Get ERC-20 Transfers",
                    "description": "Returns ERC-20 Transfer events where the address is sender or receiver. Defaults to last 10,000 blocks. Returns up to 1000 logs per call, sorted newest first. Use the cursor to paginate backward. Merges and deduplicates sent/received. EVM only.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                          "count": 0,
                          "limit": 1000,
                          "hasMore": false,
                          "cursor": null,
                          "transfers": []
                        }
                      },
                      "id": 1
                    }
                  },
                  "receipt": {
                    "summary": "Get Transaction Receipt",
                    "description": "Returns the full transaction receipt including gas used, status, contract creation address, logs, and decoded event names. EVM only.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "transactionHash": "0x5c504ed4...",
                          "blockNumber": "0xb443",
                          "from": "0xa1e4380a...",
                          "to": "0x5df9b879...",
                          "status": "0x1",
                          "gasUsed": "0x5208",
                          "effectiveGasPrice": "0x2d79883d2000",
                          "contractAddress": null,
                          "logs": [],
                          "decodedLogs": []
                        }
                      },
                      "id": 1
                    }
                  },
                  "gas-compare": {
                    "summary": "Compare Gas Fees",
                    "description": "Returns current base fee and priority fee for every EVM chain with estimated USD cost for a simple transfer (hardcoded at 21,000 gas). Sorted cheapest first. Uses live native token prices. Actual tx costs vary by type - token transfers, swaps, etc. use significantly more gas.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "results": [
                            {
                              "chain": "optimism",
                              "baseFeeGwei": 0.0000143,
                              "priorityFeeGwei": 0.001,
                              "estimatedTxCostUsd": 0
                            },
                            {
                              "chain": "arbitrum",
                              "baseFeeGwei": 0.02,
                              "priorityFeeGwei": 0,
                              "estimatedTxCostUsd": 0
                            },
                            {
                              "chain": "ethereum",
                              "baseFeeGwei": 0.546,
                              "priorityFeeGwei": 0.133,
                              "estimatedTxCostUsd": 0.03
                            }
                          ],
                          "updatedAt": "2026-02-25T15:00:00.000Z"
                        }
                      },
                      "id": 1
                    }
                  },
                  "batch-jsonrpc": {
                    "summary": "JSON-RPC Batch Request",
                    "description": "Send multiple method calls in a single HTTP request by passing an array of JSON-RPC objects to POST /v1. Up to 50 requests per batch. Each request is executed independently — partial failures are possible. Responses are returned in the same order as the requests. Mix any methods freely (e.g. getBlockHeight + getBalance + getPrice in one call).",
                    "value": [
                      {
                        "jsonrpc": "2.0",
                        "result": {
                          "data": {
                            "chain": "0x1",
                            "height": 24535031
                          }
                        },
                        "id": 1
                      },
                      {
                        "jsonrpc": "2.0",
                        "result": {
                          "data": {
                            "chain": "0x1",
                            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                            "token": "ETH",
                            "balance": "32.126",
                            "balanceRaw": "32126000000000000000",
                            "decimals": 18
                          }
                        },
                        "id": 2
                      },
                      {
                        "jsonrpc": "2.0",
                        "result": {
                          "data": {
                            "symbol": "ETH",
                            "name": "Ethereum",
                            "priceUsd": 3450.12
                          }
                        },
                        "id": 3
                      }
                    ]
                  },
                  "batch-blocks": {
                    "summary": "Batch Blocks by Number",
                    "description": "Get blocks by number from multiple chains in a single call. Pass chain:blockNumber pairs. Supports EVM chains, Solana, and Bitcoin in the same batch — Bitcoin returns Bitcoin Core's `getblock` payload (the `confirmations` field drifts as new tip blocks arrive).",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "count": 2,
                          "results": [
                            {
                              "chain": "ethereum",
                              "height": "21000000",
                              "block": {
                                "number": "0x1406f40",
                                "hash": "0xabc..."
                              }
                            },
                            {
                              "chain": "bitcoin",
                              "height": "900000",
                              "block": {
                                "hash": "000000000000000000010538edbfd2d5b809a33dd83f284aeea41c6d0d96968a",
                                "height": 900000,
                                "confirmations": 50260,
                                "merkleroot": "0cfb54e522b07bd1a381adc774ec1851590ef4c3add83958135106534569f970",
                                "previousblockhash": "0000000000000000000196400396be46d0816dc462df4c3450972f589f4d7d24",
                                "nTx": 1562,
                                "size": 1920777,
                                "weight": 3130335
                              }
                            }
                          ]
                        }
                      },
                      "id": 1
                    }
                  },
                  "batch-blocks-hash": {
                    "summary": "Batch Blocks by Hash",
                    "description": "Get blocks by hash from multiple chains in a single call. Pass chain:blockHash pairs.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "count": 1,
                          "results": [
                            {
                              "chain": "ethereum",
                              "hash": "0x4e3a3754410177e6937ef1f84bba68ea139e8d1a2258c5f85db9f1cd715a1bdd",
                              "block": {
                                "number": "0x1406f40"
                              }
                            }
                          ]
                        }
                      },
                      "id": 1
                    }
                  },
                  "batch-transactions": {
                    "summary": "Batch Transactions",
                    "description": "Get transactions by hash from multiple chains in a single call. Pass chain:txHash pairs.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "count": 1,
                          "results": [
                            {
                              "chain": "ethereum",
                              "hash": "0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060",
                              "transaction": {
                                "blockNumber": "0x2710",
                                "from": "0xa1e4380a3b1f749673e270229993ee55f35663b4",
                                "to": "0x5df9b87991262f6ba471f09758cde1c0fc1de734"
                              }
                            }
                          ]
                        }
                      },
                      "id": 1
                    }
                  },
                  "price-single": {
                    "summary": "Get Token Price",
                    "description": "Returns the current USD and EUR price for a token by symbol. Uses canonical token matching to skip bridged/wrapped variants.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "symbol": "BTC",
                          "name": "Bitcoin",
                          "priceUsd": 68709,
                          "priceEur": 58180,
                          "lastUpdated": "2026-02-25T17:46:34.658Z"
                        }
                      },
                      "id": 1
                    }
                  },
                  "price-top": {
                    "summary": "Top Tokens",
                    "description": "Returns the most widely deployed tokens ranked by cross-chain adoption count, then by price. Deduplicated by symbol. Useful for building token lists and discovery UIs.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "count": 3,
                          "results": [
                            {
                              "symbol": "LINK",
                              "name": "Chainlink",
                              "price": 9.48,
                              "currency": "USD",
                              "chains": 13,
                              "lastUpdated": "2026-02-25T17:46:34.277Z"
                            },
                            {
                              "symbol": "ETH",
                              "name": "Ethereum",
                              "price": 2075.2,
                              "currency": "USD",
                              "chains": 12,
                              "lastUpdated": "2026-02-25T17:46:34.134Z"
                            },
                            {
                              "symbol": "USDC",
                              "name": "USDC",
                              "price": 0.999942,
                              "currency": "USD",
                              "chains": 10,
                              "lastUpdated": "2026-02-25T17:46:34.277Z"
                            }
                          ]
                        }
                      },
                      "id": 1
                    }
                  },
                  "price-history": {
                    "summary": "Price History",
                    "description": "Returns daily price history for a token. Defaults to 30 days, max 90. One data point per day using the daily maximum price.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "symbol": "BTC",
                          "name": "Bitcoin",
                          "currency": "USD",
                          "prices": [
                            {
                              "date": "2026-01-26",
                              "price": 88307.86
                            },
                            {
                              "date": "2026-01-27",
                              "price": 89204.22
                            },
                            {
                              "date": "2026-01-28",
                              "price": 89162.09
                            }
                          ]
                        }
                      },
                      "id": 1
                    }
                  },
                  "token-search": {
                    "summary": "Search Tokens",
                    "description": "Search tokens by name or symbol. Returns canonical (non-bridged) matches first, deduplicated by symbol. Includes chain deployment addresses for each result.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "count": 1,
                          "results": [
                            {
                              "tokenId": "85022",
                              "symbol": "USDC",
                              "name": "USDC",
                              "priceUsd": 0.999942,
                              "chains": [
                                {
                                  "chain": "ethereum",
                                  "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                                  "exponent": 6
                                },
                                {
                                  "chain": "solana",
                                  "address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
                                  "exponent": 6
                                }
                              ]
                            }
                          ]
                        }
                      },
                      "id": 1
                    }
                  },
                  "token-addresses": {
                    "summary": "Token Chain Addresses",
                    "description": "Returns all known contract addresses for a token across every chain. Useful for building cross-chain swap/bridge UIs or mapping token contracts across networks.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "symbol": "USDC",
                          "name": "USDC",
                          "priceUsd": 0.999942,
                          "addresses": [
                            {
                              "chain": "ethereum",
                              "chainName": "Ethereum",
                              "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                              "decimals": 6
                            },
                            {
                              "chain": "solana",
                              "chainName": "Solana",
                              "address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
                              "decimals": 6
                            },
                            {
                              "chain": "base",
                              "chainName": "Base",
                              "address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
                              "decimals": 6
                            }
                          ]
                        }
                      },
                      "id": 1
                    }
                  },
                  "yields-lending": {
                    "summary": "Lending Yields",
                    "description": "APY and TVL from lending protocols. All three query parameters are required.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "results": [
                            {
                              "chain": "ethereum",
                              "protocol": "aave",
                              "pool": "USDC",
                              "supplyApy": 3.2,
                              "borrowApy": 4.8,
                              "tvl": 2400000000
                            }
                          ],
                          "updatedAt": "2026-02-25T15:00:00.000Z"
                        }
                      },
                      "id": 1
                    }
                  },
                  "yields-vaults": {
                    "summary": "Vault Yields",
                    "description": "APY and TVL from yield aggregators and vault protocols. All three query parameters are required.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "results": [
                            {
                              "chain": "ethereum",
                              "protocol": "beefy",
                              "pool": "aavev3-usdc",
                              "apy": 5.4,
                              "tvl": 18000000
                            }
                          ],
                          "updatedAt": "2026-02-25T15:00:00.000Z"
                        }
                      },
                      "id": 1
                    }
                  },
                  "yields-best": {
                    "summary": "Best Yields",
                    "description": "Scans all lending and vault protocols across all supported chains and returns the highest yields sorted by APY. Useful for finding the best place to deploy capital.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "results": [
                            {
                              "chain": "ethereum",
                              "protocol": "beefy",
                              "type": "vault",
                              "pool": "aavev3-usdc",
                              "apy": 5.4
                            },
                            {
                              "chain": "ethereum",
                              "protocol": "aave",
                              "type": "lending",
                              "pool": "USDC",
                              "apy": 3.2
                            }
                          ],
                          "updatedAt": "2026-02-25T15:00:00.000Z"
                        }
                      },
                      "id": 1
                    }
                  },
                  "yields-balance": {
                    "summary": "Pool User Balance",
                    "description": "Returns a user's balance in a specific lending or vault protocol pool. All four query parameters are required.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "results": [
                            {
                              "chain": "ethereum",
                              "protocol": "aave",
                              "pool": "USDC",
                              "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                              "balance": {
                                "USDC": 1500.5,
                                "USD": 1500.25
                              }
                            }
                          ],
                          "updatedAt": "2026-02-25T15:00:00.000Z"
                        }
                      },
                      "id": 1
                    }
                  },
                  "yields-price": {
                    "summary": "Pool Token Price",
                    "description": "Returns the current price per share in USD for a pool token. Useful for converting pool token balances to USD value.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "results": [
                            {
                              "chain": "ethereum",
                              "protocol": "aave",
                              "pool": "USDC",
                              "price": {
                                "USD": 1.0012
                              }
                            }
                          ],
                          "updatedAt": "2026-02-25T15:00:00.000Z"
                        }
                      },
                      "id": 1
                    }
                  },
                  "yields-pendle-implied-apy": {
                    "summary": "Pendle Implied APY",
                    "description": "Calculates the implied APY for a user's Pendle PT position based on their entry price and time to expiry. Returns the effective exchange rate, days to expiry, and implied APY.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "results": [
                            {
                              "chain": "ethereum",
                              "pool": "0x7d372819240d14fb477f17b964f95f33beb4c704",
                              "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                              "effectivePtExchangeRate": 0.95,
                              "expiryDate": "2026-12-25",
                              "daysToExpiry": 180,
                              "impliedApy": 5.2
                            }
                          ],
                          "updatedAt": "2026-02-25T15:00:00.000Z"
                        }
                      },
                      "id": 1
                    }
                  },
                  "yields-morpho-vaults": {
                    "summary": "List Morpho Vaults",
                    "description": "Returns all available Morpho vaults on a chain with basic metadata (address, name, symbol, version). Use this to discover vaults before querying detailed data.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "count": 42,
                          "vaults": [
                            {
                              "address": "0xdd0f28e19C1780eb6396170735D45153D261490d",
                              "name": "Gauntlet USDC Prime",
                              "symbol": "gtUSDC",
                              "chainId": 1,
                              "chain": {
                                "id": 1,
                                "network": "ethereum"
                              },
                              "version": "v2",
                              "whitelisted": true
                            }
                          ]
                        }
                      },
                      "id": 1
                    }
                  },
                  "yields-morpho-vault-data": {
                    "summary": "Morpho Vault Data",
                    "description": "Returns detailed data for specific Morpho vaults including APY, TVL, fees, and reward info. Pass up to 50 vault addresses per request.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "count": 1,
                          "vaults": [
                            {
                              "address": "0xdd0f28e19C1780eb6396170735D45153D261490d",
                              "name": "Gauntlet USDC Prime",
                              "symbol": "gtUSDC",
                              "chainId": 1,
                              "totalAssets": "125000000000000",
                              "totalAssetsUsd": 125000000,
                              "totalSupply": "120000000000000000000000000",
                              "fee": 0.1,
                              "apy": 4.5,
                              "netApy": 4.05,
                              "avgApy": 4.2,
                              "avgNetApy": 3.78,
                              "lastUpdated": "2026-02-25T15:00:00.000Z"
                            }
                          ]
                        }
                      },
                      "id": 1
                    }
                  },
                  "defi-aave-v2": {
                    "summary": "Aave V2 Positions",
                    "description": "Returns a user's Aave V2 position: collateral assets, debt, health factor, and liquidation threshold. Important: fields named totalCollateralUsd/totalDebtUsd are actually denominated in ETH (not USD) - Aave V2 returns ETH-based values.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                          "totalCollateralUsd": 5.2,
                          "totalDebtUsd": 1.8,
                          "healthFactor": 2.34,
                          "ltv": 0.335,
                          "supplies": [
                            {
                              "symbol": "WETH",
                              "address": "0xC02a...",
                              "balance": "5200000000000000000"
                            }
                          ],
                          "borrows": [
                            {
                              "symbol": "USDC",
                              "address": "0xA0b8...",
                              "balance": "8000000000"
                            }
                          ]
                        }
                      },
                      "id": 1
                    }
                  },
                  "defi-aave": {
                    "summary": "Aave V3 Positions",
                    "description": "Returns a user's full Aave V3 position: collateral assets, debt, health factor, net worth, and liquidation status. Reads directly from on-chain Pool + ProtocolDataProvider contracts.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                          "totalCollateralUsd": 15230.42,
                          "totalDebtUsd": 5100,
                          "netWorthUsd": 10130.42,
                          "healthFactor": 2.34,
                          "ltv": 0.335,
                          "reserves": [
                            {
                              "symbol": "WETH",
                              "balance": "5.2",
                              "balanceUsd": 10764,
                              "isCollateral": true
                            },
                            {
                              "symbol": "USDC",
                              "balance": "5000",
                              "balanceUsd": 5000,
                              "isDebt": true
                            }
                          ]
                        }
                      },
                      "id": 1
                    }
                  },
                  "defi-compound": {
                    "summary": "Compound V3 Positions",
                    "description": "Returns a user's Compound V3 (Comet) positions across all markets on a chain. Includes supply/borrow balances, collateral assets, USD values, and liquidation status.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                          "markets": [
                            {
                              "marketName": "USDC",
                              "marketAddress": "0xc3d688B66703497DAA19211EEdff47f25384cdc3",
                              "baseToken": {
                                "symbol": "USDC",
                                "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                                "decimals": 6
                              },
                              "supplyBalance": "1500.25",
                              "borrowBalance": "0",
                              "collateral": [],
                              "isLiquidatable": false
                            }
                          ]
                        }
                      },
                      "id": 1
                    }
                  },
                  "defi-compound-v2": {
                    "summary": "Compound V2 Positions (Deprecated)",
                    "description": "Returns a user's Compound V2 positions across cToken markets. Note: Compound V2 is deprecated (borrows/mints paused Dec 2025) - users may still have existing positions.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                          "markets": [
                            {
                              "cTokenSymbol": "cUSDC",
                              "cTokenAddress": "0x39AA39c021dfbaE8faC545936693aC917d5E7563",
                              "underlyingSymbol": "USDC",
                              "underlyingAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                              "underlyingDecimals": 6,
                              "supplyBalance": "1500.25",
                              "borrowBalance": "0"
                            }
                          ]
                        }
                      },
                      "id": 1
                    }
                  },
                  "defi-morpho": {
                    "summary": "Morpho Blue Positions",
                    "description": "Returns a user's Morpho Blue positions across hardcoded markets. Shows supply/borrow share-to-asset conversions, collateral deposits, and market parameters (LLTV, oracle). Only detects positions in the listed markets.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                          "markets": [
                            {
                              "marketId": "0xb323...86cc",
                              "loanToken": {
                                "symbol": "USDC",
                                "address": "0xA0b8...",
                                "decimals": 6
                              },
                              "collateralToken": {
                                "symbol": "WETH",
                                "address": "0xC02a...",
                                "decimals": 18
                              },
                              "supplyShares": "0",
                              "supplyAssets": "0",
                              "borrowShares": "0",
                              "borrowAssets": "0",
                              "collateral": "0",
                              "lltv": 86
                            }
                          ]
                        }
                      },
                      "id": 1
                    }
                  },
                  "defi-lido": {
                    "summary": "Lido stETH / wstETH Positions",
                    "description": "Returns stETH and wstETH balances with ETH-equivalent values and live exchange rates. Full stETH + wstETH data on Ethereum; wstETH balance only on L2s (bridged token). Note: stakingApr is hardcoded at 3.5%.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                          "stETH": {
                            "balance": "10.5",
                            "balanceEth": "10.5"
                          },
                          "wstETH": {
                            "balance": "2.0",
                            "balanceStEth": "2.351",
                            "balanceEth": "2.351"
                          },
                          "exchangeRates": {
                            "stEthPerWstEth": "1.1755",
                            "wstEthPerStEth": "0.8507"
                          },
                          "totalEthEquivalent": "12.85",
                          "stakingApr": 3.5
                        }
                      },
                      "id": 1
                    }
                  },
                  "defi-curve": {
                    "summary": "Curve Pool Info",
                    "description": "Returns data for 3 hardcoded Curve pools only. Does not discover pools dynamically.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "pools": [
                            {
                              "name": "threePool",
                              "address": "0xbEbc44782C7dB0a1A60Cb6fe97d0b483032FF1C7",
                              "virtualPrice": "1.023",
                              "coins": [
                                {
                                  "address": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
                                  "balance": "120000000.0"
                                }
                              ],
                              "amplification": "2000",
                              "fee": "0.04"
                            }
                          ]
                        }
                      },
                      "id": 1
                    }
                  },
                  "defi-llamalend-markets": {
                    "summary": "Curve LlamaLend Markets",
                    "description": "Returns all Curve LlamaLend (OneWay Lending) vault markets on a chain. Shows vault name, symbol, underlying asset, total deposits and shares.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "markets": [
                            {
                              "vaultAddress": "0x123...",
                              "name": "crvUSD/WETH Vault",
                              "symbol": "crvUSD-WETH",
                              "assetAddress": "0xf939...",
                              "totalAssets": "5000000.0",
                              "totalSupply": "4800000.0"
                            }
                          ]
                        }
                      },
                      "id": 1
                    }
                  },
                  "defi-llamalend": {
                    "summary": "Curve LlamaLend Positions",
                    "description": "Returns a user's Curve LlamaLend positions across all OneWay Lending vaults. Shows vault shares and their equivalent underlying asset value.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                          "markets": [
                            {
                              "vaultAddress": "0x123...",
                              "name": "crvUSD/WETH Vault",
                              "symbol": "crvUSD-WETH",
                              "assetAddress": "0xf939...",
                              "totalAssets": "5000000.0",
                              "totalSupply": "4800000.0"
                            }
                          ],
                          "positions": [
                            {
                              "vaultAddress": "0x123...",
                              "name": "crvUSD/WETH Vault",
                              "shares": "10000.0",
                              "assets": "10400.0"
                            }
                          ]
                        }
                      },
                      "id": 1
                    }
                  },
                  "defi-pendle": {
                    "summary": "Pendle V2 Protocol Info",
                    "description": "Returns Pendle V2 router and routerStatic contract addresses for a chain only - does NOT return user positions or market data.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "routerAddress": "0x888888888889758F76e7103c6CbF23ABbF58F946",
                          "routerStaticAddress": "0x263833d47eA3fA4a30f269323aba6a107f9eB14C",
                          "supportedChains": [
                            "ethereum",
                            "arbitrum",
                            "bsc",
                            "optimism",
                            "mantle",
                            "base",
                            "sonic",
                            "berachain",
                            "hyperliquid",
                            "plasma"
                          ]
                        }
                      },
                      "id": 1
                    }
                  },
                  "defi-avantis": {
                    "summary": "Avantis Vault Price",
                    "description": "Returns the deposit and redemption prices for an Avantis ERC-4626 vault (e.g. avUSDC). Deposit price is the gross share value (convertToAssets), redemption price is the net value after withdrawal fees (previewRedeem).",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "base",
                          "protocol": "avantis",
                          "vault": "avUSDC",
                          "vaultAddress": "0x944766f715b51967e56afde5f0aa76ceacc9e7f9",
                          "depositPrice": {
                            "USD": 1.3344
                          },
                          "redemptionPrice": {
                            "USD": 1.3278
                          },
                          "decimals": 6
                        }
                      },
                      "id": 1
                    }
                  },
                  "defi-summary": {
                    "summary": "DeFi Summary",
                    "description": "Aggregates positions across 7 protocols in parallel. Returns per-protocol status (ok/error/unsupported) with positions or error details.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                          "chain": "ethereum",
                          "timestamp": "2026-02-26T12:00:00.000Z",
                          "protocols": [
                            {
                              "protocol": "aave-v3",
                              "status": "ok",
                              "data": {
                                "totalCollateralUsd": 15230.42
                              }
                            },
                            {
                              "protocol": "compound-v3",
                              "status": "ok",
                              "data": {
                                "markets": []
                              }
                            }
                          ]
                        }
                      },
                      "id": 1
                    }
                  },
                  "defi-uniswap-v2-quote": {
                    "summary": "Uniswap V2 Quote",
                    "description": "Gets a swap quote from the Uniswap V2 Router02 contract using getAmountsOut (constant-product x*y=k AMM). On-chain read - no transaction needed. Router02 only deployed on Ethereum.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "tokenIn": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
                          "tokenOut": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                          "amountIn": "1.0",
                          "amountOut": "2075.234"
                        }
                      },
                      "id": 1
                    }
                  },
                  "defi-uniswap-quote": {
                    "summary": "Uniswap V3 Quote",
                    "description": "Gets an exact-input swap quote from the Uniswap V3 QuoterV2 contract. On-chain read - no transaction needed.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "tokenIn": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
                          "tokenOut": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                          "amountIn": "1.0",
                          "amountOut": "2075.234",
                          "fee": 3000,
                          "blockHeight": 19834521,
                          "gasEstimate": "165000"
                        }
                      },
                      "id": 1
                    }
                  },
                  "defi-uniswap-v4-quote": {
                    "summary": "Uniswap V4 Quote",
                    "description": "Gets a swap quote from the Uniswap V4 Quoter contract (singleton PoolManager architecture with hooks). On-chain read via staticCall.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "tokenIn": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
                          "tokenOut": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                          "amountIn": "1.0",
                          "amountOut": "2080.15",
                          "fee": 3000,
                          "tickSpacing": 60,
                          "blockHeight": 19834521,
                          "gasEstimate": "180000"
                        }
                      },
                      "id": 1
                    }
                  },
                  "defi-jupiter-quote": {
                    "summary": "Jupiter Swap Quote (Solana)",
                    "description": "Gets a swap quote from the Jupiter aggregator for Solana SPL tokens. Returns route plan, price impact, and output amount. Chain is fixed to Solana.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "inputMint": "So11111111111111111111111111111111111111112",
                          "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
                          "amountIn": "1000000000",
                          "amountOut": "152340000",
                          "priceImpactPct": "0.01",
                          "routePlan": [
                            {
                              "swapInfo": {
                                "ammKey": "ABC...",
                                "label": "Raydium",
                                "inputMint": "So1...",
                                "outputMint": "EPj..."
                              },
                              "percent": 100
                            }
                          ]
                        }
                      },
                      "id": 1
                    }
                  },
                  "defi-jupiter-price": {
                    "summary": "Jupiter Token Price (Solana)",
                    "description": "Gets the current price of a Solana token by quoting 1 unit against a reference token (e.g. USDC). Derived from Jupiter quote API. Chain is fixed to Solana.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "price": 152.34
                        }
                      },
                      "id": 1
                    }
                  },
                  "perps-all": {
                    "summary": "All Funding Rates",
                    "description": "Returns current perpetual funding rates from both Hyperliquid and dYdX v4 in a single request. Chain-agnostic.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "hyperliquid": [
                            {
                              "coin": "BTC",
                              "fundingRate": "0.000045",
                              "annualizedRate": 39.42,
                              "markPrice": "68500.00",
                              "openInterest": "1200000000"
                            }
                          ],
                          "dydx": [
                            {
                              "ticker": "BTC-USD",
                              "fundingRate": "0.000038",
                              "annualizedRate": 33.29,
                              "nextFundingAt": "2026-02-26T13:00:00.000Z"
                            }
                          ],
                          "timestamp": "2026-02-26T12:30:00.000Z"
                        }
                      },
                      "id": 1
                    }
                  },
                  "perps-hl": {
                    "summary": "Hyperliquid Funding Rates",
                    "description": "Returns current perpetual funding rates from Hyperliquid L1. Optionally filter by coin symbol. Sorted by absolute annualized rate descending. Chain-agnostic.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": [
                          {
                            "coin": "BTC",
                            "fundingRate": "0.000045",
                            "annualizedRate": 39.42,
                            "markPrice": "68500.00",
                            "openInterest": "1200000000"
                          },
                          {
                            "coin": "ETH",
                            "fundingRate": "0.000032",
                            "annualizedRate": 28.03,
                            "markPrice": "2075.50",
                            "openInterest": "800000000"
                          }
                        ]
                      },
                      "id": 1
                    }
                  },
                  "perps-dydx": {
                    "summary": "dYdX v4 Funding Rates",
                    "description": "Returns current perpetual funding rates from dYdX v4. Optionally filter by ticker. Sorted by absolute annualized rate descending. Chain-agnostic.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": [
                          {
                            "ticker": "BTC-USD",
                            "fundingRate": "0.000038",
                            "annualizedRate": 33.29,
                            "nextFundingAt": "2026-02-26T13:00:00.000Z"
                          },
                          {
                            "ticker": "ETH-USD",
                            "fundingRate": "0.000028",
                            "annualizedRate": 24.53,
                            "nextFundingAt": "2026-02-26T13:00:00.000Z"
                          }
                        ]
                      },
                      "id": 1
                    }
                  },
                  "approvals-scan": {
                    "summary": "Scan Token Approvals",
                    "description": "Scans ERC-20 allowances for known DeFi spenders against common tokens per chain. Does not scan all approvals.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "address": "0xd8dA6BF...",
                          "blockHeight": 19834521,
                          "approvals": [
                            {
                              "token": {
                                "symbol": "USDC",
                                "address": "0xA0b8..."
                              },
                              "spender": {
                                "name": "Uniswap V3 Router",
                                "address": "0x68b3..."
                              },
                              "allowance": "unlimited",
                              "isUnlimited": true
                            }
                          ]
                        }
                      },
                      "id": 1
                    }
                  },
                  "approvals-revoke": {
                    "summary": "Build Revoke Transaction",
                    "description": "Returns an unsigned ERC-20 approve(spender, 0) transaction to revoke a specific token approval. Does not broadcast.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                          "from": "0xd8dA6BF...",
                          "data": "0x095ea7b3...0000",
                          "value": "0x0"
                        }
                      },
                      "id": 1
                    }
                  },
                  "registry-protocols": {
                    "summary": "List Protocols",
                    "description": "Lists all 25 registered DeFi protocols with optional filtering by category or chain.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": [
                          {
                            "name": "Aave",
                            "slug": "aave-v3",
                            "url": "https://aave.com",
                            "category": "lending",
                            "description": "Decentralized lending protocol",
                            "version": "v3",
                            "chains": [
                              "ethereum",
                              "polygon",
                              "arbitrum"
                            ]
                          }
                        ]
                      },
                      "id": 1
                    }
                  },
                  "registry-slugs": {
                    "summary": "List Protocol Slugs",
                    "description": "Lightweight enumeration of supported protocols — returns slugs only (no descriptions, contracts, or chains). Use for autocomplete, \"is X supported?\" checks, or any case where the full protocol payload would be wasted bandwidth.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": [
                          "aave-v3",
                          "compound-v3",
                          "morpho",
                          "lido",
                          "rocket-pool"
                        ]
                      },
                      "id": 1
                    }
                  },
                  "registry-protocol": {
                    "summary": "Get Protocol Details",
                    "description": "Returns full details for a specific protocol including all contracts, ABIs, and addresses across chains.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "name": "Aave",
                          "slug": "aave-v3",
                          "url": "https://aave.com",
                          "category": "lending",
                          "description": "Decentralized lending protocol",
                          "version": "v3",
                          "chains": [
                            "ethereum",
                            "polygon",
                            "arbitrum"
                          ]
                        }
                      },
                      "id": 1
                    }
                  },
                  "registry-contracts": {
                    "summary": "Get Protocol Contracts",
                    "description": "Lists all smart contracts for a protocol, optionally filtered by chain.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "protocol": "aave-v3",
                          "chain": "all",
                          "contracts": {
                            "pool": {
                              "name": "Pool",
                              "address": "0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2"
                            },
                            "oracle": {
                              "name": "AaveOracle",
                              "address": "0x54586bE62E3c3580375aE3723C145253060Ca0C2"
                            }
                          }
                        }
                      },
                      "id": 1
                    }
                  },
                  "registry-address": {
                    "summary": "Resolve Contract Address",
                    "description": "Resolves a specific contract address for a protocol on a given chain.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "protocol": "aave-v3",
                          "contract": "pool",
                          "chain": "ethereum",
                          "address": "0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2"
                        }
                      },
                      "id": 1
                    }
                  },
                  "registry-categories": {
                    "summary": "List Categories",
                    "description": "Returns all available protocol categories that can be used for filtering.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": [
                          "lending",
                          "dex",
                          "staking",
                          "aggregator",
                          "derivatives"
                        ]
                      },
                      "id": 1
                    }
                  },
                  "registry-chains": {
                    "summary": "List Supported Chains",
                    "description": "Returns all blockchain chains that have registered protocols in the registry.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": [
                          "ethereum",
                          "polygon",
                          "arbitrum",
                          "optimism",
                          "base",
                          "bsc",
                          "avalanche",
                          "gnosis",
                          "linea",
                          "scroll",
                          "sonic",
                          "mantle",
                          "zksync",
                          "celo",
                          "fantom",
                          "moonbeam",
                          "solana"
                        ]
                      },
                      "id": 1
                    }
                  },
                  "rpc-proxy": {
                    "summary": "JSON-RPC Proxy",
                    "description": "Forwards raw JSON-RPC calls directly to the chain node via the unified JSON-RPC interface. Supports all native RPC methods — EVM (eth_*, trace_*, debug_*), Solana, and Bitcoin. Dangerous methods (admin, personal, miner, wallet operations) are blocked.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "jsonrpc": "2.0",
                          "result": "0x1234567",
                          "id": 1
                        }
                      },
                      "id": 1
                    }
                  },
                  "block-transactions": {
                    "summary": "Block Transactions",
                    "description": "Returns all transactions in a specific block with full transaction objects including from, to, value, input data, and gas details.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "blockNumber": 21000000,
                          "hash": "0xabc123...",
                          "timestamp": 1700000000,
                          "transactionCount": 142,
                          "transactions": [
                            {
                              "hash": "0x...",
                              "from": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                              "to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                              "value": "0x0",
                              "gasPrice": "0x1234"
                            }
                          ]
                        }
                      },
                      "id": 1
                    }
                  },
                  "trace-transaction": {
                    "summary": "Trace Transaction",
                    "description": "Returns the execution trace of a transaction using debug_traceTransaction (Geth) or trace_transaction (Parity/Erigon). Shows internal calls, delegatecalls, and value transfers. Availability depends on the chain node configuration.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "hash": "0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060",
                          "tracer": "callTracer",
                          "trace": {
                            "type": "CALL",
                            "from": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                            "to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                            "value": "0x0",
                            "gas": "0x5208",
                            "gasUsed": "0x5208",
                            "input": "0x",
                            "output": "0x"
                          }
                        }
                      },
                      "id": 1
                    }
                  },
                  "estimate-gas": {
                    "summary": "Estimate Gas",
                    "description": "Estimates the gas required for a transaction without actually sending it. Useful for determining gas limits before submitting transactions.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "gasEstimate": 21000,
                          "gasEstimateHex": "0x5208"
                        }
                      },
                      "id": 1
                    }
                  },
                  "simulate-call": {
                    "summary": "Simulate Call",
                    "description": "Executes a contract call locally without sending a transaction (eth_call). Returns the raw return data. Useful for reading contract state, testing function calls, or simulating transactions before submission.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "result": "0x0000000000000000000000000000000000000000000000000000000005f5e100"
                        }
                      },
                      "id": 1
                    }
                  },
                  "get-code": {
                    "summary": "Get Contract Code",
                    "description": "Returns the bytecode deployed at an address. If the result is \"0x\", the address is an EOA (externally owned account), not a contract. Also returns the bytecode size in bytes.",
                    "value": {
                      "jsonrpc": "2.0",
                      "result": {
                        "data": {
                          "chain": "ethereum",
                          "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                          "blockHeight": 19834521,
                          "isContract": true,
                          "bytecodeSize": 6714,
                          "bytecode": "0x6080604052..."
                        }
                      },
                      "id": 1
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key."
          },
          "429": {
            "description": "Rate limited."
          },
          "500": {
            "description": "Internal server error."
          }
        }
      }
    }
  },
  "x-spectrum-methods": [
    {
      "id": "health",
      "rpcMethod": "getHealth",
      "title": "Health Check",
      "category": "Health",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getHealth",
        "params": {},
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "status": "ok",
          "timestamp": "2026-02-25T15:00:00.000Z"
        },
        "id": 1
      }
    },
    {
      "id": "chain-health",
      "rpcMethod": "getChainHealth",
      "title": "Chain RPC Health",
      "category": "Health",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getChainHealth",
        "params": {
          "chain": "ethereum"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "status": "ok",
            "type": "EVM",
            "blockHeight": 24535031,
            "latencyMs": 142,
            "timestamp": "2026-02-27T12:00:00.000Z"
          }
        },
        "id": 1
      }
    },
    {
      "id": "block-height",
      "rpcMethod": "getBlockHeight",
      "title": "Get Block Height",
      "category": "Blocks",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getBlockHeight",
        "params": {
          "chain": "ethereum"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "0x1",
            "height": 24535031
          }
        },
        "id": 1
      }
    },
    {
      "id": "balance",
      "rpcMethod": "getBalance",
      "title": "Get Native Balance",
      "category": "Accounts",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getBalance",
        "params": {
          "chain": "ethereum",
          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
          "blockHeight": "19834521"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "0x1",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "blockHeight": 19834521,
            "token": "ETH",
            "balance": "32.126799033316011",
            "balanceRaw": "32126799033316011000",
            "decimals": 18
          }
        },
        "id": 1
      }
    },
    {
      "id": "token-balance",
      "rpcMethod": "getTokenBalance",
      "title": "Get Token Balance",
      "category": "Accounts",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getTokenBalance",
        "params": {
          "chain": "ethereum",
          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
          "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
          "blockHeight": "19834521"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "0x1",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
            "blockHeight": 19834521,
            "balance": "1500.25",
            "balanceRaw": "1500250000",
            "decimals": 6
          }
        },
        "id": 1
      }
    },
    {
      "id": "token-metadata",
      "rpcMethod": "getTokenMetadata",
      "title": "Get Token Metadata",
      "category": "ERC-20",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getTokenMetadata",
        "params": {
          "chain": "ethereum",
          "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
          "blockHeight": "19834521"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
            "blockHeight": 19834521,
            "name": "USD Coin",
            "symbol": "USDC",
            "decimals": 6,
            "totalSupply": "53151453828.474567"
          }
        },
        "id": 1
      }
    },
    {
      "id": "erc20-allowance",
      "rpcMethod": "getTokenAllowance",
      "title": "Get ERC-20 Allowance",
      "category": "ERC-20",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getTokenAllowance",
        "params": {
          "chain": "ethereum",
          "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
          "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
          "spender": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",
          "blockHeight": "19834521"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
            "symbol": "USDC",
            "owner": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "spender": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45",
            "blockHeight": 19834521,
            "allowance": "1000.0",
            "allowanceRaw": "1000000000",
            "isUnlimited": false
          }
        },
        "id": 1
      }
    },
    {
      "id": "portfolio",
      "rpcMethod": "getPortfolio",
      "title": "Get Token Portfolio",
      "category": "Portfolio",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getPortfolio",
        "params": {
          "chain": "ethereum",
          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
          "blockHeight": "19834521"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "chain": "ethereum",
            "blockHeight": 19834521,
            "nativeBalance": "32.126799",
            "nativeSymbol": "ETH",
            "nativePriceUsd": 2025.31,
            "nativeValueUsd": 65066.73,
            "tokens": [
              {
                "address": "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",
                "symbol": "WBTC",
                "name": "Wrapped Bitcoin",
                "balance": "0.00107",
                "decimals": 8,
                "priceUsd": 67138,
                "valueUsd": 71.96
              }
            ],
            "totalValueUsd": 65150.4
          }
        },
        "id": 1
      }
    },
    {
      "id": "ens-resolve",
      "rpcMethod": "resolveENS",
      "title": "Resolve ENS Name",
      "category": "ENS",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "resolveENS",
        "params": {
          "name": "vitalik.eth"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "name": "vitalik.eth",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
          }
        },
        "id": 1
      }
    },
    {
      "id": "ens-reverse",
      "rpcMethod": "reverseENS",
      "title": "Reverse ENS Lookup",
      "category": "ENS",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "reverseENS",
        "params": {
          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "name": "vitalik.eth"
          }
        },
        "id": 1
      }
    },
    {
      "id": "nft-collection",
      "rpcMethod": "getNftCollection",
      "title": "Get NFT Collection Info",
      "category": "NFTs",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getNftCollection",
        "params": {
          "chain": "ethereum",
          "contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
          "blockHeight": "19834521"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
            "blockHeight": 19834521,
            "name": "BoredApeYachtClub",
            "symbol": "BAYC",
            "totalSupply": "10000",
            "standard": {
              "erc721": true,
              "erc721Enumerable": true,
              "erc1155": false
            }
          }
        },
        "id": 1
      }
    },
    {
      "id": "nft-token-metadata",
      "rpcMethod": "getNftMetadata",
      "title": "Get NFT Token Metadata",
      "category": "NFTs",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getNftMetadata",
        "params": {
          "chain": "ethereum",
          "contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
          "tokenId": "1",
          "blockHeight": "19834521"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
            "tokenId": "1",
            "blockHeight": 19834521,
            "standard": {
              "erc721": true,
              "erc721Enumerable": true,
              "erc1155": false
            },
            "owner": "0x1234...",
            "tokenURI": "ipfs://Qm...",
            "metadata": {
              "name": "Bored Ape #1",
              "image": "ipfs://Qm..."
            }
          }
        },
        "id": 1
      }
    },
    {
      "id": "nft-token-owner",
      "rpcMethod": "getNftTokenOwner",
      "title": "Get NFT Token Owner",
      "category": "NFTs",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getNftTokenOwner",
        "params": {
          "chain": "ethereum",
          "contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
          "tokenId": "1"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
            "tokenId": "1",
            "owner": "0x1234..."
          }
        },
        "id": 1
      }
    },
    {
      "id": "nft-balance",
      "rpcMethod": "getNftBalance",
      "title": "Get NFT Balance",
      "category": "NFTs",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getNftBalance",
        "params": {
          "chain": "ethereum",
          "contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
          "blockHeight": "19834521"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "blockHeight": 19834521,
            "balance": "3"
          }
        },
        "id": 1
      }
    },
    {
      "id": "nft-owned-tokens",
      "rpcMethod": "getNftTokens",
      "title": "List Owned Token IDs",
      "category": "NFTs",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getNftTokens",
        "params": {
          "chain": "ethereum",
          "contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "contract": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
            "address": "0x1234...",
            "tokenIds": [
              "1042",
              "5781",
              "8832"
            ],
            "total": "3",
            "capped": false
          }
        },
        "id": 1
      }
    },
    {
      "id": "nft-erc1155-balance",
      "rpcMethod": "getNftErc1155Balance",
      "title": "Get ERC-1155 Token Balance",
      "category": "NFTs",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getNftErc1155Balance",
        "params": {
          "chain": "ethereum",
          "contract": "0x495f947276749ce646f68ac8c248420045cb7b5e",
          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
          "tokenId": "1"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "contract": "0x495f947276749ce646f68ac8c248420045cb7b5e",
            "address": "0x1234...",
            "tokenId": "1",
            "balance": "5"
          }
        },
        "id": 1
      }
    },
    {
      "id": "nft-batch-balance",
      "rpcMethod": "getNftBatchBalance",
      "title": "ERC-1155 Batch Balance",
      "category": "NFTs",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getNftBatchBalance",
        "params": {
          "chain": "ethereum",
          "contract": "0x495f947276749ce646f68ac8c248420045cb7b5e",
          "addresses": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045,0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
          "tokenIds": "1,2"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "contract": "0x495f947276749ce646f68ac8c248420045cb7b5e",
            "results": [
              {
                "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                "tokenId": "1",
                "balance": "5"
              },
              {
                "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                "tokenId": "2",
                "balance": "0"
              }
            ]
          }
        },
        "id": 1
      }
    },
    {
      "id": "logs",
      "rpcMethod": "getLogs",
      "title": "Query Event Logs",
      "category": "Logs",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getLogs",
        "params": {
          "chain": "ethereum",
          "fromBlock": "latest",
          "toBlock": "latest",
          "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
          "topic0": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
          "cursor": "example"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "count": 1,
            "limit": 1000,
            "hasMore": false,
            "cursor": null,
            "logs": [
              {
                "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                "topics": [
                  "0xddf252ad...",
                  "0x0000...c00",
                  "0x0000...436"
                ],
                "data": "0x0000...3b9aca00",
                "blockNumber": 24510927,
                "transactionHash": "0x867cbb7b...",
                "logIndex": 1,
                "removed": false
              }
            ]
          }
        },
        "id": 1
      }
    },
    {
      "id": "transfers",
      "rpcMethod": "getTransfers",
      "title": "Get ERC-20 Transfers",
      "category": "Logs",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getTransfers",
        "params": {
          "chain": "ethereum",
          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
          "fromBlock": "latest",
          "toBlock": "latest",
          "cursor": "example"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "count": 0,
            "limit": 1000,
            "hasMore": false,
            "cursor": null,
            "transfers": []
          }
        },
        "id": 1
      }
    },
    {
      "id": "receipt",
      "rpcMethod": "getReceipt",
      "title": "Get Transaction Receipt",
      "category": "Receipts",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getReceipt",
        "params": {
          "chain": "ethereum",
          "hash": "0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "transactionHash": "0x5c504ed4...",
            "blockNumber": "0xb443",
            "from": "0xa1e4380a...",
            "to": "0x5df9b879...",
            "status": "0x1",
            "gasUsed": "0x5208",
            "effectiveGasPrice": "0x2d79883d2000",
            "contractAddress": null,
            "logs": [],
            "decodedLogs": []
          }
        },
        "id": 1
      }
    },
    {
      "id": "gas-compare",
      "rpcMethod": "compareGas",
      "title": "Compare Gas Fees",
      "category": "Gas",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "compareGas",
        "params": {},
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "results": [
              {
                "chain": "optimism",
                "baseFeeGwei": 0.0000143,
                "priorityFeeGwei": 0.001,
                "estimatedTxCostUsd": 0
              },
              {
                "chain": "arbitrum",
                "baseFeeGwei": 0.02,
                "priorityFeeGwei": 0,
                "estimatedTxCostUsd": 0
              },
              {
                "chain": "ethereum",
                "baseFeeGwei": 0.546,
                "priorityFeeGwei": 0.133,
                "estimatedTxCostUsd": 0.03
              }
            ],
            "updatedAt": "2026-02-25T15:00:00.000Z"
          }
        },
        "id": 1
      }
    },
    {
      "id": "batch-jsonrpc",
      "rpcMethod": "JSON-RPC Batch",
      "title": "JSON-RPC Batch Request",
      "category": "Batch",
      "requestExample": [
        {
          "jsonrpc": "2.0",
          "method": "getBlockHeight",
          "params": {
            "chain": "ethereum"
          },
          "id": 1
        },
        {
          "jsonrpc": "2.0",
          "method": "getBalance",
          "params": {
            "chain": "ethereum",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
          },
          "id": 2
        },
        {
          "jsonrpc": "2.0",
          "method": "getPrice",
          "params": {
            "symbol": "ETH"
          },
          "id": 3
        }
      ],
      "responseExample": [
        {
          "jsonrpc": "2.0",
          "result": {
            "data": {
              "chain": "0x1",
              "height": 24535031
            }
          },
          "id": 1
        },
        {
          "jsonrpc": "2.0",
          "result": {
            "data": {
              "chain": "0x1",
              "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
              "token": "ETH",
              "balance": "32.126",
              "balanceRaw": "32126000000000000000",
              "decimals": 18
            }
          },
          "id": 2
        },
        {
          "jsonrpc": "2.0",
          "result": {
            "data": {
              "symbol": "ETH",
              "name": "Ethereum",
              "priceUsd": 3450.12
            }
          },
          "id": 3
        }
      ]
    },
    {
      "id": "batch-blocks",
      "rpcMethod": "getBlockByNumber",
      "title": "Batch Blocks by Number",
      "category": "Batch",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getBlockByNumber",
        "params": [
          {
            "chain": "ethereum",
            "block": 21000000
          },
          {
            "chain": "bitcoin",
            "block": 900000
          }
        ],
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "count": 2,
            "results": [
              {
                "chain": "ethereum",
                "height": "21000000",
                "block": {
                  "number": "0x1406f40",
                  "hash": "0xabc..."
                }
              },
              {
                "chain": "bitcoin",
                "height": "900000",
                "block": {
                  "hash": "000000000000000000010538edbfd2d5b809a33dd83f284aeea41c6d0d96968a",
                  "height": 900000,
                  "confirmations": 50260,
                  "merkleroot": "0cfb54e522b07bd1a381adc774ec1851590ef4c3add83958135106534569f970",
                  "previousblockhash": "0000000000000000000196400396be46d0816dc462df4c3450972f589f4d7d24",
                  "nTx": 1562,
                  "size": 1920777,
                  "weight": 3130335
                }
              }
            ]
          }
        },
        "id": 1
      }
    },
    {
      "id": "batch-blocks-hash",
      "rpcMethod": "getBlockByHash",
      "title": "Batch Blocks by Hash",
      "category": "Batch",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getBlockByHash",
        "params": [
          {
            "chain": "ethereum",
            "hash": "0x4e3a3754410177e6937ef1f84bba68ea139e8d1a2258c5f85db9f1cd715a1bdd"
          }
        ],
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "count": 1,
            "results": [
              {
                "chain": "ethereum",
                "hash": "0x4e3a3754410177e6937ef1f84bba68ea139e8d1a2258c5f85db9f1cd715a1bdd",
                "block": {
                  "number": "0x1406f40"
                }
              }
            ]
          }
        },
        "id": 1
      }
    },
    {
      "id": "batch-transactions",
      "rpcMethod": "getTransactionByHash",
      "title": "Batch Transactions",
      "category": "Batch",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getTransactionByHash",
        "params": [
          {
            "chain": "ethereum",
            "hash": "0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060"
          }
        ],
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "count": 1,
            "results": [
              {
                "chain": "ethereum",
                "hash": "0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060",
                "transaction": {
                  "blockNumber": "0x2710",
                  "from": "0xa1e4380a3b1f749673e270229993ee55f35663b4",
                  "to": "0x5df9b87991262f6ba471f09758cde1c0fc1de734"
                }
              }
            ]
          }
        },
        "id": 1
      }
    },
    {
      "id": "price-single",
      "rpcMethod": "getPrice",
      "title": "Get Token Price",
      "category": "Prices",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getPrice",
        "params": {
          "symbol": "BTC"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "symbol": "BTC",
            "name": "Bitcoin",
            "priceUsd": 68709,
            "priceEur": 58180,
            "lastUpdated": "2026-02-25T17:46:34.658Z"
          }
        },
        "id": 1
      }
    },
    {
      "id": "price-top",
      "rpcMethod": "getTopPrices",
      "title": "Top Tokens",
      "category": "Prices",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getTopPrices",
        "params": {
          "limit": "50",
          "currency": "USD"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "count": 3,
            "results": [
              {
                "symbol": "LINK",
                "name": "Chainlink",
                "price": 9.48,
                "currency": "USD",
                "chains": 13,
                "lastUpdated": "2026-02-25T17:46:34.277Z"
              },
              {
                "symbol": "ETH",
                "name": "Ethereum",
                "price": 2075.2,
                "currency": "USD",
                "chains": 12,
                "lastUpdated": "2026-02-25T17:46:34.134Z"
              },
              {
                "symbol": "USDC",
                "name": "USDC",
                "price": 0.999942,
                "currency": "USD",
                "chains": 10,
                "lastUpdated": "2026-02-25T17:46:34.277Z"
              }
            ]
          }
        },
        "id": 1
      }
    },
    {
      "id": "price-history",
      "rpcMethod": "getPriceHistory",
      "title": "Price History",
      "category": "Prices",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getPriceHistory",
        "params": {
          "symbol": "BTC",
          "days": "30",
          "currency": "USD"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "symbol": "BTC",
            "name": "Bitcoin",
            "currency": "USD",
            "prices": [
              {
                "date": "2026-01-26",
                "price": 88307.86
              },
              {
                "date": "2026-01-27",
                "price": 89204.22
              },
              {
                "date": "2026-01-28",
                "price": 89162.09
              }
            ]
          }
        },
        "id": 1
      }
    },
    {
      "id": "token-search",
      "rpcMethod": "searchTokens",
      "title": "Search Tokens",
      "category": "Token Discovery",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "searchTokens",
        "params": {
          "q": "usdc",
          "limit": "20"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "count": 1,
            "results": [
              {
                "tokenId": "85022",
                "symbol": "USDC",
                "name": "USDC",
                "priceUsd": 0.999942,
                "chains": [
                  {
                    "chain": "ethereum",
                    "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                    "exponent": 6
                  },
                  {
                    "chain": "solana",
                    "address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
                    "exponent": 6
                  }
                ]
              }
            ]
          }
        },
        "id": 1
      }
    },
    {
      "id": "token-addresses",
      "rpcMethod": "getTokenAddresses",
      "title": "Token Chain Addresses",
      "category": "Token Discovery",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getTokenAddresses",
        "params": {
          "symbol": "BTC"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "symbol": "USDC",
            "name": "USDC",
            "priceUsd": 0.999942,
            "addresses": [
              {
                "chain": "ethereum",
                "chainName": "Ethereum",
                "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                "decimals": 6
              },
              {
                "chain": "solana",
                "chainName": "Solana",
                "address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
                "decimals": 6
              },
              {
                "chain": "base",
                "chainName": "Base",
                "address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
                "decimals": 6
              }
            ]
          }
        },
        "id": 1
      }
    },
    {
      "id": "yields-lending",
      "rpcMethod": "getYieldsLending",
      "title": "Lending Yields",
      "category": "Yields",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getYieldsLending",
        "params": {
          "chain": "ethereum",
          "protocol": "aave",
          "pool": "USDC"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "results": [
              {
                "chain": "ethereum",
                "protocol": "aave",
                "pool": "USDC",
                "supplyApy": 3.2,
                "borrowApy": 4.8,
                "tvl": 2400000000
              }
            ],
            "updatedAt": "2026-02-25T15:00:00.000Z"
          }
        },
        "id": 1
      }
    },
    {
      "id": "yields-vaults",
      "rpcMethod": "getYieldsVaults",
      "title": "Vault Yields",
      "category": "Yields",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getYieldsVaults",
        "params": {
          "chain": "ethereum",
          "protocol": "beefy",
          "pool": "aavev3-usdc"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "results": [
              {
                "chain": "ethereum",
                "protocol": "beefy",
                "pool": "aavev3-usdc",
                "apy": 5.4,
                "tvl": 18000000
              }
            ],
            "updatedAt": "2026-02-25T15:00:00.000Z"
          }
        },
        "id": 1
      }
    },
    {
      "id": "yields-best",
      "rpcMethod": "getYieldsBest",
      "title": "Best Yields",
      "category": "Yields",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getYieldsBest",
        "params": {
          "token": "USDC",
          "minTvl": "1000000",
          "limit": "10",
          "type": "lending"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "results": [
              {
                "chain": "ethereum",
                "protocol": "beefy",
                "type": "vault",
                "pool": "aavev3-usdc",
                "apy": 5.4
              },
              {
                "chain": "ethereum",
                "protocol": "aave",
                "type": "lending",
                "pool": "USDC",
                "apy": 3.2
              }
            ],
            "updatedAt": "2026-02-25T15:00:00.000Z"
          }
        },
        "id": 1
      }
    },
    {
      "id": "yields-balance",
      "rpcMethod": "getYieldsBalance",
      "title": "Pool User Balance",
      "category": "Yields",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getYieldsBalance",
        "params": {
          "chain": "ethereum",
          "protocol": "aave",
          "pool": "USDC",
          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "results": [
              {
                "chain": "ethereum",
                "protocol": "aave",
                "pool": "USDC",
                "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                "balance": {
                  "USDC": 1500.5,
                  "USD": 1500.25
                }
              }
            ],
            "updatedAt": "2026-02-25T15:00:00.000Z"
          }
        },
        "id": 1
      }
    },
    {
      "id": "yields-price",
      "rpcMethod": "getYieldsPrice",
      "title": "Pool Token Price",
      "category": "Yields",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getYieldsPrice",
        "params": {
          "chain": "ethereum",
          "protocol": "aave",
          "pool": "USDC"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "results": [
              {
                "chain": "ethereum",
                "protocol": "aave",
                "pool": "USDC",
                "price": {
                  "USD": 1.0012
                }
              }
            ],
            "updatedAt": "2026-02-25T15:00:00.000Z"
          }
        },
        "id": 1
      }
    },
    {
      "id": "yields-pendle-implied-apy",
      "rpcMethod": "getYieldsPendleImpliedApy",
      "title": "Pendle Implied APY",
      "category": "Yields",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getYieldsPendleImpliedApy",
        "params": {
          "chain": "ethereum",
          "pool": "0x7d372819240d14fb477f17b964f95f33beb4c704",
          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "results": [
              {
                "chain": "ethereum",
                "pool": "0x7d372819240d14fb477f17b964f95f33beb4c704",
                "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                "effectivePtExchangeRate": 0.95,
                "expiryDate": "2026-12-25",
                "daysToExpiry": 180,
                "impliedApy": 5.2
              }
            ],
            "updatedAt": "2026-02-25T15:00:00.000Z"
          }
        },
        "id": 1
      }
    },
    {
      "id": "yields-morpho-vaults",
      "rpcMethod": "getMorphoVaults",
      "title": "List Morpho Vaults",
      "category": "Yields",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getMorphoVaults",
        "params": {
          "chain": "ethereum"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "count": 42,
            "vaults": [
              {
                "address": "0xdd0f28e19C1780eb6396170735D45153D261490d",
                "name": "Gauntlet USDC Prime",
                "symbol": "gtUSDC",
                "chainId": 1,
                "chain": {
                  "id": 1,
                  "network": "ethereum"
                },
                "version": "v2",
                "whitelisted": true
              }
            ]
          }
        },
        "id": 1
      }
    },
    {
      "id": "yields-morpho-vault-data",
      "rpcMethod": "getMorphoVaultData",
      "title": "Morpho Vault Data",
      "category": "Yields",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getMorphoVaultData",
        "params": {
          "chain": "ethereum",
          "vaults": "0xdd0f28e19C1780eb6396170735D45153D261490d"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "count": 1,
            "vaults": [
              {
                "address": "0xdd0f28e19C1780eb6396170735D45153D261490d",
                "name": "Gauntlet USDC Prime",
                "symbol": "gtUSDC",
                "chainId": 1,
                "totalAssets": "125000000000000",
                "totalAssetsUsd": 125000000,
                "totalSupply": "120000000000000000000000000",
                "fee": 0.1,
                "apy": 4.5,
                "netApy": 4.05,
                "avgApy": 4.2,
                "avgNetApy": 3.78,
                "lastUpdated": "2026-02-25T15:00:00.000Z"
              }
            ]
          }
        },
        "id": 1
      }
    },
    {
      "id": "defi-aave-v2",
      "rpcMethod": "getAaveV2UserPositions",
      "title": "Aave V2 Positions",
      "category": "DeFi Positions",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getAaveV2UserPositions",
        "params": {
          "chain": "ethereum",
          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "totalCollateralUsd": 5.2,
            "totalDebtUsd": 1.8,
            "healthFactor": 2.34,
            "ltv": 0.335,
            "supplies": [
              {
                "symbol": "WETH",
                "address": "0xC02a...",
                "balance": "5200000000000000000"
              }
            ],
            "borrows": [
              {
                "symbol": "USDC",
                "address": "0xA0b8...",
                "balance": "8000000000"
              }
            ]
          }
        },
        "id": 1
      }
    },
    {
      "id": "defi-aave",
      "rpcMethod": "getAaveV3UserPositions",
      "title": "Aave V3 Positions",
      "category": "DeFi Positions",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getAaveV3UserPositions",
        "params": {
          "chain": "ethereum",
          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "totalCollateralUsd": 15230.42,
            "totalDebtUsd": 5100,
            "netWorthUsd": 10130.42,
            "healthFactor": 2.34,
            "ltv": 0.335,
            "reserves": [
              {
                "symbol": "WETH",
                "balance": "5.2",
                "balanceUsd": 10764,
                "isCollateral": true
              },
              {
                "symbol": "USDC",
                "balance": "5000",
                "balanceUsd": 5000,
                "isDebt": true
              }
            ]
          }
        },
        "id": 1
      }
    },
    {
      "id": "defi-compound",
      "rpcMethod": "getCompoundV3UserPositions",
      "title": "Compound V3 Positions",
      "category": "DeFi Positions",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getCompoundV3UserPositions",
        "params": {
          "chain": "ethereum",
          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "markets": [
              {
                "marketName": "USDC",
                "marketAddress": "0xc3d688B66703497DAA19211EEdff47f25384cdc3",
                "baseToken": {
                  "symbol": "USDC",
                  "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                  "decimals": 6
                },
                "supplyBalance": "1500.25",
                "borrowBalance": "0",
                "collateral": [],
                "isLiquidatable": false
              }
            ]
          }
        },
        "id": 1
      }
    },
    {
      "id": "defi-compound-v2",
      "rpcMethod": "getCompoundV2UserPositions",
      "title": "Compound V2 Positions (Deprecated)",
      "category": "DeFi Positions",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getCompoundV2UserPositions",
        "params": {
          "chain": "ethereum",
          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "markets": [
              {
                "cTokenSymbol": "cUSDC",
                "cTokenAddress": "0x39AA39c021dfbaE8faC545936693aC917d5E7563",
                "underlyingSymbol": "USDC",
                "underlyingAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                "underlyingDecimals": 6,
                "supplyBalance": "1500.25",
                "borrowBalance": "0"
              }
            ]
          }
        },
        "id": 1
      }
    },
    {
      "id": "defi-morpho",
      "rpcMethod": "getMorphoUserPositions",
      "title": "Morpho Blue Positions",
      "category": "DeFi Positions",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getMorphoUserPositions",
        "params": {
          "chain": "ethereum",
          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "markets": [
              {
                "marketId": "0xb323...86cc",
                "loanToken": {
                  "symbol": "USDC",
                  "address": "0xA0b8...",
                  "decimals": 6
                },
                "collateralToken": {
                  "symbol": "WETH",
                  "address": "0xC02a...",
                  "decimals": 18
                },
                "supplyShares": "0",
                "supplyAssets": "0",
                "borrowShares": "0",
                "borrowAssets": "0",
                "collateral": "0",
                "lltv": 86
              }
            ]
          }
        },
        "id": 1
      }
    },
    {
      "id": "defi-lido",
      "rpcMethod": "getLidoUserPositions",
      "title": "Lido stETH / wstETH Positions",
      "category": "DeFi Positions",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getLidoUserPositions",
        "params": {
          "chain": "ethereum",
          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "stETH": {
              "balance": "10.5",
              "balanceEth": "10.5"
            },
            "wstETH": {
              "balance": "2.0",
              "balanceStEth": "2.351",
              "balanceEth": "2.351"
            },
            "exchangeRates": {
              "stEthPerWstEth": "1.1755",
              "wstEthPerStEth": "0.8507"
            },
            "totalEthEquivalent": "12.85",
            "stakingApr": 3.5
          }
        },
        "id": 1
      }
    },
    {
      "id": "defi-curve",
      "rpcMethod": "getCurvePools",
      "title": "Curve Pool Info",
      "category": "DeFi Positions",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getCurvePools",
        "params": {
          "chain": "ethereum"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "pools": [
              {
                "name": "threePool",
                "address": "0xbEbc44782C7dB0a1A60Cb6fe97d0b483032FF1C7",
                "virtualPrice": "1.023",
                "coins": [
                  {
                    "address": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
                    "balance": "120000000.0"
                  }
                ],
                "amplification": "2000",
                "fee": "0.04"
              }
            ]
          }
        },
        "id": 1
      }
    },
    {
      "id": "defi-llamalend-markets",
      "rpcMethod": "getCurveLlamaLendMarkets",
      "title": "Curve LlamaLend Markets",
      "category": "DeFi Positions",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getCurveLlamaLendMarkets",
        "params": {
          "chain": "ethereum"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "markets": [
              {
                "vaultAddress": "0x123...",
                "name": "crvUSD/WETH Vault",
                "symbol": "crvUSD-WETH",
                "assetAddress": "0xf939...",
                "totalAssets": "5000000.0",
                "totalSupply": "4800000.0"
              }
            ]
          }
        },
        "id": 1
      }
    },
    {
      "id": "defi-llamalend",
      "rpcMethod": "getCurveLlamaLend",
      "title": "Curve LlamaLend Positions",
      "category": "DeFi Positions",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getCurveLlamaLend",
        "params": {
          "chain": "ethereum",
          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "markets": [
              {
                "vaultAddress": "0x123...",
                "name": "crvUSD/WETH Vault",
                "symbol": "crvUSD-WETH",
                "assetAddress": "0xf939...",
                "totalAssets": "5000000.0",
                "totalSupply": "4800000.0"
              }
            ],
            "positions": [
              {
                "vaultAddress": "0x123...",
                "name": "crvUSD/WETH Vault",
                "shares": "10000.0",
                "assets": "10400.0"
              }
            ]
          }
        },
        "id": 1
      }
    },
    {
      "id": "defi-pendle",
      "rpcMethod": "getPendleV2Info",
      "title": "Pendle V2 Protocol Info",
      "category": "DeFi Positions",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getPendleV2Info",
        "params": {
          "chain": "ethereum"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "routerAddress": "0x888888888889758F76e7103c6CbF23ABbF58F946",
            "routerStaticAddress": "0x263833d47eA3fA4a30f269323aba6a107f9eB14C",
            "supportedChains": [
              "ethereum",
              "arbitrum",
              "bsc",
              "optimism",
              "mantle",
              "base",
              "sonic",
              "berachain",
              "hyperliquid",
              "plasma"
            ]
          }
        },
        "id": 1
      }
    },
    {
      "id": "defi-avantis",
      "rpcMethod": "getAvantisPrice",
      "title": "Avantis Vault Price",
      "category": "DeFi Positions",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getAvantisPrice",
        "params": {
          "chain": "base",
          "vault": "avUSDC"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "base",
            "protocol": "avantis",
            "vault": "avUSDC",
            "vaultAddress": "0x944766f715b51967e56afde5f0aa76ceacc9e7f9",
            "depositPrice": {
              "USD": 1.3344
            },
            "redemptionPrice": {
              "USD": 1.3278
            },
            "decimals": 6
          }
        },
        "id": 1
      }
    },
    {
      "id": "defi-summary",
      "rpcMethod": "getDefiSummary",
      "title": "DeFi Summary",
      "category": "DeFi Positions",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getDefiSummary",
        "params": {
          "chain": "ethereum",
          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "chain": "ethereum",
            "timestamp": "2026-02-26T12:00:00.000Z",
            "protocols": [
              {
                "protocol": "aave-v3",
                "status": "ok",
                "data": {
                  "totalCollateralUsd": 15230.42
                }
              },
              {
                "protocol": "compound-v3",
                "status": "ok",
                "data": {
                  "markets": []
                }
              }
            ]
          }
        },
        "id": 1
      }
    },
    {
      "id": "defi-uniswap-v2-quote",
      "rpcMethod": "getUniswapV2Quote",
      "title": "Uniswap V2 Quote",
      "category": "Swap Quotes",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getUniswapV2Quote",
        "params": {
          "chain": "ethereum",
          "tokenIn": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
          "tokenOut": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
          "amount": "1.0"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "tokenIn": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
            "tokenOut": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
            "amountIn": "1.0",
            "amountOut": "2075.234"
          }
        },
        "id": 1
      }
    },
    {
      "id": "defi-uniswap-quote",
      "rpcMethod": "getUniswapV3Quote",
      "title": "Uniswap V3 Quote",
      "category": "Swap Quotes",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getUniswapV3Quote",
        "params": {
          "chain": "ethereum",
          "tokenIn": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
          "tokenOut": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
          "amount": "1.0",
          "fee": "500",
          "blockHeight": "19834521"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "tokenIn": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
            "tokenOut": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
            "amountIn": "1.0",
            "amountOut": "2075.234",
            "fee": 3000,
            "blockHeight": 19834521,
            "gasEstimate": "165000"
          }
        },
        "id": 1
      }
    },
    {
      "id": "defi-uniswap-v4-quote",
      "rpcMethod": "getUniswapV4Quote",
      "title": "Uniswap V4 Quote",
      "category": "Swap Quotes",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getUniswapV4Quote",
        "params": {
          "chain": "ethereum",
          "tokenIn": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
          "tokenOut": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
          "amount": "1.0",
          "fee": "3000",
          "tickSpacing": "60",
          "blockHeight": "19834521"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "tokenIn": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
            "tokenOut": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
            "amountIn": "1.0",
            "amountOut": "2080.15",
            "fee": 3000,
            "tickSpacing": 60,
            "blockHeight": 19834521,
            "gasEstimate": "180000"
          }
        },
        "id": 1
      }
    },
    {
      "id": "defi-jupiter-quote",
      "rpcMethod": "getJupiterQuote",
      "title": "Jupiter Swap Quote (Solana)",
      "category": "Swap Quotes",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getJupiterQuote",
        "params": {
          "inputMint": "So11111111111111111111111111111111111111112",
          "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "amount": "1000000000",
          "slippageBps": "50"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "inputMint": "So11111111111111111111111111111111111111112",
            "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
            "amountIn": "1000000000",
            "amountOut": "152340000",
            "priceImpactPct": "0.01",
            "routePlan": [
              {
                "swapInfo": {
                  "ammKey": "ABC...",
                  "label": "Raydium",
                  "inputMint": "So1...",
                  "outputMint": "EPj..."
                },
                "percent": 100
              }
            ]
          }
        },
        "id": 1
      }
    },
    {
      "id": "defi-jupiter-price",
      "rpcMethod": "getJupiterPrice",
      "title": "Jupiter Token Price (Solana)",
      "category": "Swap Quotes",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getJupiterPrice",
        "params": {
          "inputMint": "So11111111111111111111111111111111111111112",
          "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "price": 152.34
          }
        },
        "id": 1
      }
    },
    {
      "id": "perps-all",
      "rpcMethod": "getFundingRates",
      "title": "All Funding Rates",
      "category": "Perps",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getFundingRates",
        "params": {},
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "hyperliquid": [
              {
                "coin": "BTC",
                "fundingRate": "0.000045",
                "annualizedRate": 39.42,
                "markPrice": "68500.00",
                "openInterest": "1200000000"
              }
            ],
            "dydx": [
              {
                "ticker": "BTC-USD",
                "fundingRate": "0.000038",
                "annualizedRate": 33.29,
                "nextFundingAt": "2026-02-26T13:00:00.000Z"
              }
            ],
            "timestamp": "2026-02-26T12:30:00.000Z"
          }
        },
        "id": 1
      }
    },
    {
      "id": "perps-hl",
      "rpcMethod": "getHLFunding",
      "title": "Hyperliquid Funding Rates",
      "category": "Perps",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getHLFunding",
        "params": {
          "coin": "BTC"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": [
            {
              "coin": "BTC",
              "fundingRate": "0.000045",
              "annualizedRate": 39.42,
              "markPrice": "68500.00",
              "openInterest": "1200000000"
            },
            {
              "coin": "ETH",
              "fundingRate": "0.000032",
              "annualizedRate": 28.03,
              "markPrice": "2075.50",
              "openInterest": "800000000"
            }
          ]
        },
        "id": 1
      }
    },
    {
      "id": "perps-dydx",
      "rpcMethod": "getDydxFunding",
      "title": "dYdX v4 Funding Rates",
      "category": "Perps",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getDydxFunding",
        "params": {
          "ticker": "BTC-USD"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": [
            {
              "ticker": "BTC-USD",
              "fundingRate": "0.000038",
              "annualizedRate": 33.29,
              "nextFundingAt": "2026-02-26T13:00:00.000Z"
            },
            {
              "ticker": "ETH-USD",
              "fundingRate": "0.000028",
              "annualizedRate": 24.53,
              "nextFundingAt": "2026-02-26T13:00:00.000Z"
            }
          ]
        },
        "id": 1
      }
    },
    {
      "id": "approvals-scan",
      "rpcMethod": "getApprovals",
      "title": "Scan Token Approvals",
      "category": "Token Approvals",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getApprovals",
        "params": {
          "chain": "ethereum",
          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
          "blockHeight": "19834521"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "address": "0xd8dA6BF...",
            "blockHeight": 19834521,
            "approvals": [
              {
                "token": {
                  "symbol": "USDC",
                  "address": "0xA0b8..."
                },
                "spender": {
                  "name": "Uniswap V3 Router",
                  "address": "0x68b3..."
                },
                "allowance": "unlimited",
                "isUnlimited": true
              }
            ]
          }
        },
        "id": 1
      }
    },
    {
      "id": "approvals-revoke",
      "rpcMethod": "getApprovalsRevoke",
      "title": "Build Revoke Transaction",
      "category": "Token Approvals",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getApprovalsRevoke",
        "params": {
          "chain": "ethereum",
          "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
          "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
          "spender": "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
            "from": "0xd8dA6BF...",
            "data": "0x095ea7b3...0000",
            "value": "0x0"
          }
        },
        "id": 1
      }
    },
    {
      "id": "registry-protocols",
      "rpcMethod": "getProtocols",
      "title": "List Protocols",
      "category": "Protocol Registry",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getProtocols",
        "params": {
          "category": "lending",
          "chain": "ethereum"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": [
            {
              "name": "Aave",
              "slug": "aave-v3",
              "url": "https://aave.com",
              "category": "lending",
              "description": "Decentralized lending protocol",
              "version": "v3",
              "chains": [
                "ethereum",
                "polygon",
                "arbitrum"
              ]
            }
          ]
        },
        "id": 1
      }
    },
    {
      "id": "registry-slugs",
      "rpcMethod": "getRegistrySlugs",
      "title": "List Protocol Slugs",
      "category": "Protocol Registry",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getRegistrySlugs",
        "params": {
          "category": "lending",
          "chain": "ethereum"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": [
            "aave-v3",
            "compound-v3",
            "morpho",
            "lido",
            "rocket-pool"
          ]
        },
        "id": 1
      }
    },
    {
      "id": "registry-protocol",
      "rpcMethod": "getProtocol",
      "title": "Get Protocol Details",
      "category": "Protocol Registry",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getProtocol",
        "params": {
          "slug": "aave-v2"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "name": "Aave",
            "slug": "aave-v3",
            "url": "https://aave.com",
            "category": "lending",
            "description": "Decentralized lending protocol",
            "version": "v3",
            "chains": [
              "ethereum",
              "polygon",
              "arbitrum"
            ]
          }
        },
        "id": 1
      }
    },
    {
      "id": "registry-contracts",
      "rpcMethod": "getRegistryContracts",
      "title": "Get Protocol Contracts",
      "category": "Protocol Registry",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getRegistryContracts",
        "params": {
          "slug": "aave-v2",
          "chain": "ethereum"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "protocol": "aave-v3",
            "chain": "all",
            "contracts": {
              "pool": {
                "name": "Pool",
                "address": "0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2"
              },
              "oracle": {
                "name": "AaveOracle",
                "address": "0x54586bE62E3c3580375aE3723C145253060Ca0C2"
              }
            }
          }
        },
        "id": 1
      }
    },
    {
      "id": "registry-address",
      "rpcMethod": "getRegistryAddress",
      "title": "Resolve Contract Address",
      "category": "Protocol Registry",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getRegistryAddress",
        "params": {
          "slug": "aave-v2",
          "contract": "pool",
          "chain": "ethereum"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "protocol": "aave-v3",
            "contract": "pool",
            "chain": "ethereum",
            "address": "0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2"
          }
        },
        "id": 1
      }
    },
    {
      "id": "registry-categories",
      "rpcMethod": "getRegistryCategories",
      "title": "List Categories",
      "category": "Protocol Registry",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getRegistryCategories",
        "params": {},
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": [
            "lending",
            "dex",
            "staking",
            "aggregator",
            "derivatives"
          ]
        },
        "id": 1
      }
    },
    {
      "id": "registry-chains",
      "rpcMethod": "getRegistryChains",
      "title": "List Supported Chains",
      "category": "Protocol Registry",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getRegistryChains",
        "params": {},
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": [
            "ethereum",
            "polygon",
            "arbitrum",
            "optimism",
            "base",
            "bsc",
            "avalanche",
            "gnosis",
            "linea",
            "scroll",
            "sonic",
            "mantle",
            "zksync",
            "celo",
            "fantom",
            "moonbeam",
            "solana"
          ]
        },
        "id": 1
      }
    },
    {
      "id": "rpc-proxy",
      "rpcMethod": "rpcProxy",
      "title": "JSON-RPC Proxy",
      "category": "JSON-RPC Proxy",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "rpcProxy",
        "params": {
          "chain": "ethereum",
          "method": "eth_blockNumber",
          "params": []
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "jsonrpc": "2.0",
            "result": "0x1234567",
            "id": 1
          }
        },
        "id": 1
      }
    },
    {
      "id": "block-transactions",
      "rpcMethod": "getBlockTransactions",
      "title": "Block Transactions",
      "category": "Advanced",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getBlockTransactions",
        "params": {
          "chain": "ethereum",
          "blockNumber": "21000000"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "blockNumber": 21000000,
            "hash": "0xabc123...",
            "timestamp": 1700000000,
            "transactionCount": 142,
            "transactions": [
              {
                "hash": "0x...",
                "from": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
                "to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                "value": "0x0",
                "gasPrice": "0x1234"
              }
            ]
          }
        },
        "id": 1
      }
    },
    {
      "id": "trace-transaction",
      "rpcMethod": "traceTransaction",
      "title": "Trace Transaction",
      "category": "Advanced",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "traceTransaction",
        "params": {
          "chain": "ethereum",
          "hash": "0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "hash": "0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060",
            "tracer": "callTracer",
            "trace": {
              "type": "CALL",
              "from": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
              "to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
              "value": "0x0",
              "gas": "0x5208",
              "gasUsed": "0x5208",
              "input": "0x",
              "output": "0x"
            }
          }
        },
        "id": 1
      }
    },
    {
      "id": "estimate-gas",
      "rpcMethod": "estimateGas",
      "title": "Estimate Gas",
      "category": "Advanced",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "estimateGas",
        "params": {
          "chain": "ethereum",
          "to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
          "from": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
          "value": "example",
          "data": "example"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "gasEstimate": 21000,
            "gasEstimateHex": "0x5208"
          }
        },
        "id": 1
      }
    },
    {
      "id": "simulate-call",
      "rpcMethod": "simulateCall",
      "title": "Simulate Call",
      "category": "Advanced",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "simulateCall",
        "params": {
          "chain": "ethereum",
          "to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
          "data": "0x70a08231000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045",
          "from": "example",
          "value": "example",
          "block": "example"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "result": "0x0000000000000000000000000000000000000000000000000000000005f5e100"
          }
        },
        "id": 1
      }
    },
    {
      "id": "get-code",
      "rpcMethod": "getCode",
      "title": "Get Contract Code",
      "category": "Advanced",
      "requestExample": {
        "jsonrpc": "2.0",
        "method": "getCode",
        "params": {
          "chain": "ethereum",
          "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
          "blockHeight": "19834521"
        },
        "id": 1
      },
      "responseExample": {
        "jsonrpc": "2.0",
        "result": {
          "data": {
            "chain": "ethereum",
            "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
            "blockHeight": 19834521,
            "isContract": true,
            "bytecodeSize": 6714,
            "bytecode": "0x6080604052..."
          }
        },
        "id": 1
      }
    }
  ]
}