{
  "openrpc": "1.2.6",
  "info": {
    "title": "Hyperliquid Debug API",
    "description": "Quicknode Hyperliquid Debug API reference",
    "version": "1.0.0"
  },
  "methods": [
    {
      "name": "debug_getBadBlocks",
      "summary": "Returns a list of the last bad blocks that the client has seen on the network.",
      "description": "Returns a list of the last bad blocks that the client has seen on the network.",
      "params": [],
      "result": {
        "name": "array",
        "description": "Array of bad block objects with the following fields:",
        "schema": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "hash": {
                "type": "string",
                "description": "The hash of the bad block"
              },
              "block": {
                "type": "object",
                "properties": {
                  "baseFeePerGas": {
                    "type": "string",
                    "description": "The base fee per gas for this block encoded as hexadecimal"
                  },
                  "difficulty": {
                    "type": "string",
                    "description": "The integer of the difficulty for this block encoded as hexadecimal"
                  },
                  "extraData": {
                    "type": "string",
                    "description": "The extra data field of this block"
                  },
                  "gasLimit": {
                    "type": "string",
                    "description": "The maximum gas allowed in this block encoded as hexadecimal"
                  },
                  "gasUsed": {
                    "type": "string",
                    "description": "The total used gas by all transactions in this block encoded as hexadecimal"
                  },
                  "hash": {
                    "type": "string",
                    "description": "The block hash of the requested block. Null if pending"
                  },
                  "logsBloom": {
                    "type": "string",
                    "description": "The bloom filter for the logs of the block. Null if pending"
                  },
                  "miner": {
                    "type": "string",
                    "description": "The address of the beneficiary to whom the mining rewards were given"
                  },
                  "mixHash": {
                    "type": "string",
                    "description": "A string of a 256-bit hash encoded as hexadecimal"
                  },
                  "nonce": {
                    "type": "string",
                    "description": "The hash of the generated proof-of-work. Null if pending"
                  },
                  "number": {
                    "type": "string",
                    "description": "The block number of the requested block encoded as hexadecimal. Null if pending"
                  },
                  "parentHash": {
                    "type": "string",
                    "description": "The hash of the parent block"
                  },
                  "receiptsRoot": {
                    "type": "string",
                    "description": "The root of the receipts trie of the block"
                  },
                  "sha3Uncles": {
                    "type": "string",
                    "description": "The SHA3 of the uncles data in the block"
                  },
                  "size": {
                    "type": "string",
                    "description": "The size of this block in bytes as an Integer value encoded as hexadecimal"
                  },
                  "stateRoot": {
                    "type": "string",
                    "description": "The root of the final state trie of the block"
                  },
                  "timestamp": {
                    "type": "string",
                    "description": "The unix timestamp for when the block was collated"
                  },
                  "transactions": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "blockHash": {
                          "type": "string",
                          "description": "The hash of the block where this transaction was in. Null when it's a pending transaction"
                        },
                        "blockNumber": {
                          "type": "string",
                          "description": "The block number where this transaction was in. Null when it's a pending transaction"
                        },
                        "from": {
                          "type": "string",
                          "description": "The address of the sender"
                        },
                        "gas": {
                          "type": "string",
                          "description": "The gas provided by the sender, encoded as hexadecimal"
                        },
                        "gasPrice": {
                          "type": "string",
                          "description": "The gas price provided by the sender in wei, encoded as hexadecimal"
                        },
                        "maxFeePerGas": {
                          "type": "string",
                          "description": "The maximum fee per gas set in the transaction"
                        },
                        "maxPriorityFeePerGas": {
                          "type": "string",
                          "description": "The maximum priority gas fee set in the transaction"
                        },
                        "hash": {
                          "type": "string",
                          "description": "The hash of the transaction"
                        },
                        "input": {
                          "type": "string",
                          "description": "The data sent along with the transaction"
                        },
                        "nonce": {
                          "type": "string",
                          "description": "The number of transactions made by the sender before this one encoded as hexadecimal"
                        },
                        "to": {
                          "type": "string",
                          "description": "The address of the receiver. Null when it's a contract creation transaction"
                        },
                        "transactionIndex": {
                          "type": "string",
                          "description": "The integer of the transaction's index position. Null when it's a pending transaction"
                        },
                        "value": {
                          "type": "string",
                          "description": "The value transferred in wei encoded as hexadecimal"
                        },
                        "type": {
                          "type": "string",
                          "description": "The transaction type"
                        },
                        "accessList": {
                          "type": "array",
                          "items": {},
                          "description": "A list of addresses and storage keys that the transaction plans to access"
                        },
                        "chainId": {
                          "type": "string",
                          "description": "The chain id of the transaction, if any"
                        },
                        "v": {
                          "type": "string",
                          "description": "The standardized V field of the signature"
                        },
                        "r": {
                          "type": "string",
                          "description": "The R field of the signature"
                        },
                        "s": {
                          "type": "string",
                          "description": "The S field of the signature"
                        }
                      }
                    },
                    "description": "An array of transaction objects with the following fields:"
                  },
                  "transactionsRoot": {
                    "type": "string",
                    "description": "The root of the transaction trie of the block"
                  },
                  "uncles": {
                    "type": "array",
                    "items": {},
                    "description": "An array of uncle hashes"
                  }
                },
                "description": "A block object, or null when no block was found"
              },
              "rlp": {
                "type": "string",
                "description": "The RLP encoded header"
              }
            }
          }
        }
      },
      "tags": [
        {
          "name": "debug"
        }
      ],
      "externalDocs": {
        "description": "Quicknode docs",
        "url": "https://www.quicknode.com/docs/hyperliquid/debug_getBadBlocks"
      }
    },
    {
      "name": "debug_getRawBlock",
      "summary": "Retrieves the full unprocessed block data for a given block.",
      "description": "Retrieves the full unprocessed block data for a given block. This method returns the entire block in its original encoded form, comprising the header and all associated transactions.",
      "params": [
        {
          "name": "blockNumber",
          "description": "The block number as a string in hexadecimal format or tags. The supported tag values include earliest for the earliest/genesis block, latest for the latest mined block, pending for the pending state/transactions, safe for the most recent secure block, and finalized for the most recent secure block accepted by more than 2/3 of validators",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "result": {
        "name": "result",
        "description": "The RLP-encoded block data as a hexadecimal string, comprising the header and all associated transactions",
        "schema": {
          "type": "string"
        }
      },
      "tags": [
        {
          "name": "debug"
        }
      ],
      "externalDocs": {
        "description": "Quicknode docs",
        "url": "https://www.quicknode.com/docs/hyperliquid/debug_getRawBlock"
      }
    },
    {
      "name": "debug_getRawHeader",
      "summary": "Fetches the raw header information for a specified block.",
      "description": "Fetches the raw header information for a specified block. This method delivers the entire block header in its native encoded form, well-suited for granular blockchain analysis and debugging purposes.",
      "params": [
        {
          "name": "blockNumber",
          "description": "The block number as a string in hexadecimal format or tags. The supported tag values include earliest for the earliest/genesis block, latest for the latest mined block, pending for the pending state/transactions, safe for the most recent secure block, and finalized for the most recent secure block accepted by more than 2/3 of validators",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "result": {
        "name": "result",
        "description": "The RLP-encoded block header as a hexadecimal string",
        "schema": {
          "type": "string"
        }
      },
      "tags": [
        {
          "name": "debug"
        }
      ],
      "externalDocs": {
        "description": "Quicknode docs",
        "url": "https://www.quicknode.com/docs/hyperliquid/debug_getRawHeader"
      }
    },
    {
      "name": "debug_getRawReceipts",
      "summary": "Retrieves the unprocessed receipt data for every transaction within a given block.",
      "description": "Retrieves the unprocessed receipt data for every transaction within a given block. This method delivers the full receipt information in its original encoded format for all transactions contained in the block.",
      "params": [
        {
          "name": "blockNumber",
          "description": "The block number as a string in hexadecimal format or tags. The supported tag values include earliest for the earliest/genesis block, latest for the latest mined block, pending for the pending state/transactions, safe for the most recent secure block, and finalized for the most recent secure block accepted by more than 2/3 of validators",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "result": {
        "name": "result",
        "description": "An array of RLP-encoded receipt data as hexadecimal strings, one for each transaction in the block",
        "schema": {
          "type": "array",
          "items": {}
        }
      },
      "tags": [
        {
          "name": "debug"
        }
      ],
      "externalDocs": {
        "description": "Quicknode docs",
        "url": "https://www.quicknode.com/docs/hyperliquid/debug_getRawReceipts"
      }
    },
    {
      "name": "debug_getRawTransaction",
      "summary": "Returns the bytes of the transaction.",
      "description": "Returns the bytes of the transaction.",
      "params": [
        {
          "name": "transactionHash",
          "description": "The hash of the transaction to retrieve, encoded in hexadecimal format",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "result": {
        "name": "result",
        "description": "The RLP-encoded transaction data as a hexadecimal string",
        "schema": {
          "type": "string"
        }
      },
      "tags": [
        {
          "name": "debug"
        }
      ],
      "externalDocs": {
        "description": "Quicknode docs",
        "url": "https://www.quicknode.com/docs/hyperliquid/debug_getRawTransaction"
      }
    },
    {
      "name": "debug_storageRangeAt",
      "summary": "Returns the contract storage for the specified range.",
      "description": "Returns the contract storage for the specified range.",
      "params": [
        {
          "name": "blockHash",
          "description": "The hash of the block",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "txIndex",
          "description": "The transaction index for the point in which we want the list of accounts",
          "required": true,
          "schema": {
            "type": "integer"
          }
        },
        {
          "name": "address",
          "description": "The contract address",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "startKey",
          "description": "The offset (hash of storage key)",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "limit",
          "description": "The number of storage entries to return",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "result": {
        "name": "result",
        "description": "Storage range result object with the following fields:",
        "schema": {
          "type": "object",
          "properties": {
            "storage": {
              "type": "object",
              "properties": {
                "hash": {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string",
                      "description": "The key associated with the hash"
                    },
                    "value": {
                      "type": "string",
                      "description": "The value associated with the hash"
                    }
                  },
                  "description": "Storage entry object with key-value pair"
                }
              },
              "description": "An object with hash values, and for each of them the key and value it represents"
            },
            "nextKey": {
              "type": "string",
              "description": "(Optional) The hash of next key if further storage in range. Otherwise, not included"
            }
          }
        }
      },
      "tags": [
        {
          "name": "debug"
        }
      ],
      "externalDocs": {
        "description": "Quicknode docs",
        "url": "https://www.quicknode.com/docs/hyperliquid/debug_storageRangeAt"
      }
    },
    {
      "name": "debug_traceBlock",
      "summary": "Returns a full stack trace of all invoked opcodes of all transactions that were included in a block.",
      "description": "Returns a full stack trace of all invoked opcodes of all transactions that were included in a block.",
      "params": [
        {
          "name": "block",
          "description": "The RLP encoded block",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "object",
          "description": "The tracer object with the following fields:",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "tracer": {
                "enum": [
                  "callTracer",
                  "prestateTracer"
                ],
                "description": "The type of tracer. It could be callTracer or prestateTracer"
              },
              "tracerConfig": {
                "type": "object",
                "properties": {
                  "onlyTopCall": {
                    "type": "boolean",
                    "description": "When set to true, this will only trace the primary (top-level) call and not any sub-calls. It eliminates the additional processing for each call frame"
                  }
                },
                "description": "The object to specify the configurations of the tracer"
              }
            }
          }
        }
      ],
      "result": {
        "name": "result",
        "description": "Array of transaction trace results with the following fields:",
        "schema": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "result": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "description": "The type of the call"
                  },
                  "from": {
                    "type": "string",
                    "description": "The address the transaction is sent from"
                  },
                  "to": {
                    "type": "string",
                    "description": "The address the transaction is directed to"
                  },
                  "value": {
                    "type": "string",
                    "description": "The integer of the value sent with this transaction"
                  },
                  "gas": {
                    "type": "string",
                    "description": "The integer of the gas provided for the transaction execution"
                  },
                  "gasUsed": {
                    "type": "string",
                    "description": "The integer of the gas used"
                  },
                  "input": {
                    "type": "string",
                    "description": "The data given at the time of input"
                  },
                  "output": {
                    "type": "string",
                    "description": "The data which is returned as an output"
                  },
                  "error": {
                    "type": "string",
                    "description": "(Optional) Error message if the transaction execution failed"
                  },
                  "revertReason": {
                    "type": "string",
                    "description": "(Optional) Human-readable revert reason when transaction execution failed"
                  },
                  "calls": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "description": "The type of call (CALL, STATICCALL, DELEGATECALL)"
                        },
                        "from": {
                          "type": "string",
                          "description": "The address the call is sent from"
                        },
                        "to": {
                          "type": "string",
                          "description": "The address the call is directed to"
                        },
                        "gas": {
                          "type": "string",
                          "description": "The gas provided for the call execution"
                        },
                        "gasUsed": {
                          "type": "string",
                          "description": "The gas used by the call"
                        },
                        "input": {
                          "type": "string",
                          "description": "The call data"
                        },
                        "output": {
                          "type": "string",
                          "description": "(Optional) The call output data"
                        },
                        "value": {
                          "type": "string",
                          "description": "The value transferred in the call"
                        },
                        "error": {
                          "type": "string",
                          "description": "(Optional) Error message if the call failed"
                        },
                        "calls": {
                          "type": "array",
                          "items": {},
                          "description": "Nested sub-calls"
                        }
                      }
                    },
                    "description": "A list of sub-calls made during transaction execution"
                  }
                },
                "description": "The trace result object for each transaction"
              },
              "txHash": {
                "type": "string",
                "description": "The transaction hash"
              }
            }
          }
        }
      },
      "tags": [
        {
          "name": "debug"
        }
      ],
      "externalDocs": {
        "description": "Quicknode docs",
        "url": "https://www.quicknode.com/docs/hyperliquid/debug_traceBlock"
      }
    },
    {
      "name": "debug_traceBlockByHash",
      "summary": "Returns the possible tracing result number by executing all transactions in the block specified by the block hash with a",
      "description": "Returns the possible tracing result number by executing all transactions in the block specified by the block hash with a tracer.",
      "params": [
        {
          "name": "blockHash",
          "description": "The hash of the block to be traced",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "object",
          "description": "The tracer object with the following fields:",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "tracer": {
                "enum": [
                  "callTracer",
                  "prestateTracer"
                ],
                "description": "The type of tracer. It could be callTracer or prestateTracer"
              },
              "tracerConfig": {
                "type": "object",
                "properties": {
                  "onlyTopCall": {
                    "type": "boolean",
                    "description": "When set to true, this will only trace the primary (top-level) call and not any sub-calls. It eliminates the additional processing for each call frame"
                  }
                },
                "description": "The object to specify the configurations of the tracer"
              }
            }
          }
        }
      ],
      "result": {
        "name": "result",
        "description": "debug_traceBlockByHash result",
        "schema": {
          "type": "object",
          "properties": {
            "result": {
              "type": "object",
              "properties": {
                "from": {
                  "type": "string",
                  "description": "The address the transaction is sent from"
                },
                "gas": {
                  "type": "string",
                  "description": "The integer of the gas provided for the transaction execution"
                },
                "gasUsed": {
                  "type": "string",
                  "description": "The integer of the gas used"
                },
                "to": {
                  "type": "string",
                  "description": "The address the transaction is directed to"
                },
                "input": {
                  "type": "string",
                  "description": "The data given at the time of input"
                },
                "output": {
                  "type": "string",
                  "description": "(Optional) The data which is returned as an output"
                },
                "error": {
                  "type": "string",
                  "description": "(Optional) Error message if the transaction execution failed"
                },
                "revertReason": {
                  "type": "string",
                  "description": "(Optional) Human-readable revert reason when transaction execution failed"
                },
                "calls": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "from": {
                        "type": "string",
                        "description": "The address the call is sent from"
                      },
                      "gas": {
                        "type": "string",
                        "description": "The gas provided for the call execution"
                      },
                      "gasUsed": {
                        "type": "string",
                        "description": "The gas used by the call"
                      },
                      "to": {
                        "type": "string",
                        "description": "The address the call is directed to"
                      },
                      "input": {
                        "type": "string",
                        "description": "The call data"
                      },
                      "output": {
                        "type": "string",
                        "description": "(Optional) The call output data"
                      },
                      "type": {
                        "type": "string",
                        "description": "The type of call (CALL, STATICCALL, DELEGATECALL)"
                      },
                      "value": {
                        "type": "string",
                        "description": "The value transferred in the call"
                      },
                      "error": {
                        "type": "string",
                        "description": "(Optional) Error message if the call failed"
                      },
                      "revertReason": {
                        "type": "string",
                        "description": "(Optional) Human-readable revert reason if the call failed"
                      },
                      "calls": {
                        "type": "array",
                        "items": {},
                        "description": "Nested sub-calls"
                      }
                    }
                  },
                  "description": "A list of sub-calls made during transaction execution"
                },
                "value": {
                  "type": "string",
                  "description": "The value transferred in the transaction"
                },
                "type": {
                  "type": "string",
                  "description": "The type of transaction call"
                }
              },
              "description": "The trace result object"
            },
            "txHash": {
              "type": "string",
              "description": "The transaction hash"
            }
          }
        }
      },
      "tags": [
        {
          "name": "debug"
        }
      ],
      "externalDocs": {
        "description": "Quicknode docs",
        "url": "https://www.quicknode.com/docs/hyperliquid/debug_traceBlockByHash"
      }
    },
    {
      "name": "debug_traceBlockByNumber",
      "summary": "Returns the tracing result by executing all transactions in the block specified by number with a tracer.",
      "description": "Returns the tracing result by executing all transactions in the block specified by number with a tracer.",
      "params": [
        {
          "name": "blockNumber",
          "description": "The block number as a string in hexadecimal format or tags. The supported tag values include earliest for the earliest/genesis block, latest for the latest mined block, pending for the pending state/transactions, safe for the most recent secure block, and finalized for the most recent secure block accepted by more than 2/3 of validators",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "object",
          "description": "The tracer object with the following fields:",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "tracer": {
                "enum": [
                  "callTracer",
                  "prestateTracer"
                ],
                "description": "The type of tracer. It could be callTracer or prestateTracer"
              },
              "tracerConfig": {
                "type": "object",
                "properties": {
                  "onlyTopCall": {
                    "type": "boolean",
                    "description": "When set to true, this will only trace the primary (top-level) call and not any sub-calls. It eliminates the additional processing for each call frame"
                  }
                },
                "description": "The object to specify the configurations of the tracer"
              }
            }
          }
        }
      ],
      "result": {
        "name": "result",
        "description": "debug_traceBlockByNumber result",
        "schema": {
          "type": "object",
          "properties": {
            "result": {
              "type": "object",
              "properties": {
                "from": {
                  "type": "string",
                  "description": "The address the transaction is sent from"
                },
                "gas": {
                  "type": "string",
                  "description": "The integer of the gas provided for the transaction execution"
                },
                "gasUsed": {
                  "type": "string",
                  "description": "The integer of the gas used"
                },
                "to": {
                  "type": "string",
                  "description": "The address the transaction is directed to"
                },
                "input": {
                  "type": "string",
                  "description": "The data given at the time of input"
                },
                "output": {
                  "type": "string",
                  "description": "(Optional) The data which is returned as an output"
                },
                "error": {
                  "type": "string",
                  "description": "(Optional) Error message if the transaction execution failed"
                },
                "revertReason": {
                  "type": "string",
                  "description": "(Optional) Human-readable revert reason when transaction execution failed"
                },
                "calls": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "from": {
                        "type": "string",
                        "description": "The address the call is sent from"
                      },
                      "gas": {
                        "type": "string",
                        "description": "The gas provided for the call execution"
                      },
                      "gasUsed": {
                        "type": "string",
                        "description": "The gas used by the call"
                      },
                      "to": {
                        "type": "string",
                        "description": "The address the call is directed to"
                      },
                      "input": {
                        "type": "string",
                        "description": "The call data"
                      },
                      "output": {
                        "type": "string",
                        "description": "(Optional) The call output data"
                      },
                      "type": {
                        "type": "string",
                        "description": "The type of call (CALL, STATICCALL, DELEGATECALL)"
                      },
                      "value": {
                        "type": "string",
                        "description": "The value transferred in the call"
                      },
                      "error": {
                        "type": "string",
                        "description": "(Optional) Error message if the call failed"
                      },
                      "revertReason": {
                        "type": "string",
                        "description": "(Optional) Human-readable revert reason if the call failed"
                      },
                      "calls": {
                        "type": "array",
                        "items": {},
                        "description": "Nested sub-calls"
                      }
                    }
                  },
                  "description": "A list of sub-calls made during transaction execution"
                },
                "value": {
                  "type": "string",
                  "description": "The value transferred in the transaction"
                },
                "type": {
                  "type": "string",
                  "description": "The type of transaction call"
                }
              },
              "description": "The trace result object"
            },
            "txHash": {
              "type": "string",
              "description": "The transaction hash"
            }
          }
        }
      },
      "tags": [
        {
          "name": "debug"
        }
      ],
      "externalDocs": {
        "description": "Quicknode docs",
        "url": "https://www.quicknode.com/docs/hyperliquid/debug_traceBlockByNumber"
      }
    },
    {
      "name": "debug_traceCall",
      "summary": "Performs a simulated call and returns comprehensive trace details without submitting an actual transaction.",
      "description": "Performs a simulated call and returns comprehensive trace details without submitting an actual transaction. This method emulates transaction execution and provides in-depth debugging data, including call traces and state modifications.",
      "params": [
        {
          "name": "object",
          "description": "The transaction call object with the following fields:",
          "schema": {
            "type": "object",
            "properties": {
              "from": {
                "type": "string",
                "description": "The address the transaction is sent from"
              },
              "to": {
                "type": "string",
                "description": "The address the transaction is directed to"
              },
              "gas": {
                "type": "integer",
                "description": "The integer of the gas provided for the transaction execution"
              },
              "gasPrice": {
                "type": "integer",
                "description": "The integer of the gasPrice used for each paid gas"
              },
              "value": {
                "type": "integer",
                "description": "The integer of the value sent with this transaction"
              },
              "data": {
                "type": "string",
                "description": "The hash of the method signature and encoded parameters, see the Ethereum Contract ABI"
              }
            }
          }
        },
        {
          "name": "blockNumber",
          "description": "The block number as a string in hexadecimal format or tags. The supported tag values include earliest for the earliest/genesis block, latest for the latest mined block, pending for the pending state/transactions, safe for the most recent secure block, and finalized for the most recent secure block accepted by more than 2/3 of validators",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "object",
          "description": "The tracer object with the following fields:",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "tracer": {
                "enum": [
                  "callTracer",
                  "prestateTracer"
                ],
                "description": "The type of tracer. It could be callTracer or prestateTracer"
              },
              "tracerConfig": {
                "type": "object",
                "properties": {
                  "onlyTopCall": {
                    "type": "boolean",
                    "description": "When set to true, this will only trace the primary (top-level) call and not any sub-calls. It eliminates the additional processing for each call frame"
                  }
                },
                "description": "The object to specify the configurations of the tracer"
              },
              "timeout": {
                "type": "string",
                "description": "A string of decimal integers that overrides the JavaScript-based tracing calls default timeout of 5 seconds"
              }
            }
          }
        }
      ],
      "result": {
        "name": "result",
        "description": "The trace result object",
        "schema": {
          "type": "object",
          "properties": {
            "from": {
              "type": "string",
              "description": "The address the transaction is sent from"
            },
            "gas": {
              "type": "string",
              "description": "The integer of the gas provided for the transaction execution"
            },
            "gasUsed": {
              "type": "string",
              "description": "The integer of the gas used"
            },
            "to": {
              "type": "string",
              "description": "The address the transaction is directed to"
            },
            "input": {
              "type": "string",
              "description": "The data given at the time of input"
            },
            "output": {
              "type": "string",
              "description": "(Optional) The data which is returned as an output"
            },
            "error": {
              "type": "string",
              "description": "(Optional) Error message if the transaction execution failed"
            },
            "calls": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "from": {
                    "type": "string",
                    "description": "The address the call is sent from"
                  },
                  "gas": {
                    "type": "string",
                    "description": "The gas provided for the call execution"
                  },
                  "gasUsed": {
                    "type": "string",
                    "description": "The gas used by the call"
                  },
                  "to": {
                    "type": "string",
                    "description": "The address the call is directed to"
                  },
                  "input": {
                    "type": "string",
                    "description": "The call data"
                  },
                  "output": {
                    "type": "string",
                    "description": "(Optional) The call output data"
                  },
                  "type": {
                    "type": "string",
                    "description": "The type of call (CALL, STATICCALL, DELEGATECALL)"
                  },
                  "value": {
                    "type": "string",
                    "description": "The value transferred in the call"
                  }
                }
              },
              "description": "A list of sub-calls made during transaction execution"
            },
            "value": {
              "type": "string",
              "description": "The value transferred in the transaction"
            },
            "type": {
              "type": "string",
              "description": "The type of transaction call"
            }
          }
        }
      },
      "tags": [
        {
          "name": "debug"
        }
      ],
      "externalDocs": {
        "description": "Quicknode docs",
        "url": "https://www.quicknode.com/docs/hyperliquid/debug_traceCall"
      }
    },
    {
      "name": "debug_traceTransaction",
      "summary": "Returns all traces of a given transaction.",
      "description": "Returns all traces of a given transaction.",
      "params": [
        {
          "name": "transactionHash",
          "description": "The transaction hash that needs to be traced, encoded in hexadecimal format",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "object",
          "description": "The tracer object with the following fields:",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "tracer": {
                "enum": [
                  "callTracer",
                  "prestateTracer"
                ],
                "description": "The type of tracer. It could be callTracer or prestateTracer"
              },
              "tracerConfig": {
                "type": "object",
                "properties": {
                  "onlyTopCall": {
                    "type": "boolean",
                    "description": "When set to true, this will only trace the primary (top-level) call and not any sub-calls. It eliminates the additional processing for each call frame"
                  }
                },
                "description": "The object to specify the configurations of the tracer"
              },
              "timeout": {
                "type": "string",
                "description": "A string of decimal integers that overrides the JavaScript-based tracing calls default timeout of 5 seconds."
              }
            }
          }
        }
      ],
      "result": {
        "name": "result",
        "description": "The trace result object",
        "schema": {
          "type": "object",
          "properties": {
            "from": {
              "type": "string",
              "description": "The address the transaction is sent from"
            },
            "gas": {
              "type": "string",
              "description": "The integer of the gas provided for the transaction execution"
            },
            "gasUsed": {
              "type": "string",
              "description": "The integer of the gas used"
            },
            "to": {
              "type": "string",
              "description": "The address the transaction is directed to"
            },
            "input": {
              "type": "string",
              "description": "The data given at the time of input"
            },
            "output": {
              "type": "string",
              "description": "(Optional) The data which is returned as an output"
            },
            "error": {
              "type": "string",
              "description": "(Optional) Error message if the transaction execution failed"
            },
            "revertReason": {
              "type": "string",
              "description": "(Optional) Human-readable revert reason when transaction execution failed"
            },
            "calls": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "from": {
                    "type": "string",
                    "description": "The address the call is sent from"
                  },
                  "gas": {
                    "type": "string",
                    "description": "The gas provided for the call execution"
                  },
                  "gasUsed": {
                    "type": "string",
                    "description": "The gas used by the call"
                  },
                  "to": {
                    "type": "string",
                    "description": "The address the call is directed to"
                  },
                  "input": {
                    "type": "string",
                    "description": "The call data"
                  },
                  "output": {
                    "type": "string",
                    "description": "(Optional) The call output data"
                  },
                  "type": {
                    "type": "string",
                    "description": "The type of call (CALL, STATICCALL, DELEGATECALL)"
                  },
                  "value": {
                    "type": "string",
                    "description": "The value transferred in the call"
                  },
                  "error": {
                    "type": "string",
                    "description": "(Optional) Error message if the call failed"
                  },
                  "revertReason": {
                    "type": "string",
                    "description": "(Optional) Human-readable revert reason if the call failed"
                  },
                  "calls": {
                    "type": "array",
                    "items": {},
                    "description": "Nested sub-calls"
                  }
                }
              },
              "description": "A list of sub-calls made during transaction execution"
            },
            "value": {
              "type": "string",
              "description": "The value transferred in the transaction"
            },
            "type": {
              "type": "string",
              "description": "The type of transaction call"
            }
          }
        }
      },
      "tags": [
        {
          "name": "debug"
        }
      ],
      "externalDocs": {
        "description": "Quicknode docs",
        "url": "https://www.quicknode.com/docs/hyperliquid/debug_traceTransaction"
      }
    }
  ],
  "servers": [
    {
      "name": "Hyperliquid Debug API",
      "url": "https://docs-demo.hype-mainnet.quiknode.pro/nanoreth"
    }
  ]
}