{"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/zh/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/zh/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/zh/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/zh/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/zh/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/zh/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/zh/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/zh/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/zh/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/zh/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/zh/docs/hyperliquid/debug_traceTransaction"}}],"servers":[{"name":"Hyperliquid Debug API","url":"https://docs-demo.hype-mainnet.quiknode.pro/nanoreth"}]}