{
  "openrpc": "1.2.6",
  "info": {
    "title": "Hyperliquid Trace API",
    "description": "Quicknode Hyperliquid Trace API reference",
    "version": "1.0.0"
  },
  "methods": [
    {
      "name": "trace_block",
      "summary": "Returns traces created at given block (Supported on Erigon).",
      "description": "Returns traces created at given block (Supported on Erigon).",
      "params": [
        {
          "name": "blockNumber",
          "description": "The block number as a string in hexadecimal format or tags. The supported tag values include 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": "array",
        "description": "The block traces, which have the following fields (please note that all return types are hexadecimal representations of their data type unless otherwise stated):",
        "schema": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "action": {
                "type": "object",
                "properties": {
                  "from": {
                    "type": "string",
                    "description": "The address of the sender"
                  },
                  "callType": {
                    "type": "string",
                    "description": "The type of method such as call, delegatecall"
                  },
                  "gas": {
                    "type": "string",
                    "description": "The gas provided by the sender, encoded as hexadecimal"
                  },
                  "input": {
                    "type": "string",
                    "description": "The data sent along with the transaction"
                  },
                  "to": {
                    "type": "string",
                    "description": "The address of the receiver"
                  },
                  "value": {
                    "type": "string",
                    "description": "The integer of the value sent with this transaction, encoded as hexadecimal"
                  }
                },
                "description": "The ParityTrace object, which has the following fields:"
              },
              "blockHash": {
                "type": "string",
                "description": "The hash of the block where this transaction was in"
              },
              "blockNumber": {
                "type": "number",
                "description": "An integer value representing the block number where this transaction was in"
              },
              "error": {
                "type": "string",
                "description": "(Optional) The error message, if any"
              },
              "result": {
                "type": "object",
                "properties": {
                  "gasUsed": {
                    "type": "string",
                    "description": "The amount of gas used by this specific transaction alone"
                  },
                  "output": {
                    "type": "string",
                    "description": "The value returned by the contract call, and it only contains the actual value sent by the RETURN method. If the RETURN method was not executed, the output is empty bytes"
                  }
                },
                "description": "The ParityTraceResult object which has the following fields:"
              },
              "subtraces": {
                "type": "number",
                "description": "The number of traces of contract calls made by the transaction"
              },
              "traceAddress": {
                "type": "array",
                "items": {},
                "description": "The list of addresses where the call executed, the address of the parents and the order of the current sub call"
              },
              "transactionHash": {
                "type": "string",
                "description": "The hash of the transaction"
              },
              "transactionPosition": {
                "type": "number",
                "description": "The transaction position"
              },
              "type": {
                "type": "string",
                "description": "The value of the method such as call or create"
              }
            }
          }
        }
      },
      "tags": [
        {
          "name": "trace"
        }
      ],
      "externalDocs": {
        "description": "Quicknode docs",
        "url": "https://www.quicknode.com/docs/hyperliquid/trace_block"
      }
    },
    {
      "name": "trace_call",
      "summary": "Executes a new message call and returns a number of possible traces.",
      "description": "Executes a new message call and returns a number of possible traces.",
      "params": [
        {
          "name": "object",
          "description": "The transaction call object which contains 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 encoded as hexadecimal"
              },
              "value": {
                "type": "integer",
                "description": "The integer of the value sent with this transaction encoded as hexadecimal"
              },
              "data": {
                "type": "string",
                "description": "The hash of the method signature and encoded parameters, see the Ethereum Contract ABI"
              }
            }
          }
        },
        {
          "name": "array",
          "description": "The type of trace, which can be one of the following:",
          "required": true,
          "schema": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "vmTrace": {
                  "type": "string",
                  "description": "To get a full trace of the virtual machine's state during the execution of the given of given transaction, including for any subcalls"
                },
                "trace": {
                  "type": "string",
                  "description": "To get the basic trace of the given transaction"
                },
                "stateDiff": {
                  "type": "string",
                  "description": "To get information on altered Ethereum state due to execution of the given transaction"
                }
              }
            }
          }
        },
        {
          "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": "object",
        "description": "The transaction trace result object",
        "schema": {
          "type": "object",
          "properties": {
            "output": {
              "type": "string",
              "description": "The data returned as output encoded in hexadecimal format"
            },
            "stateDiff": {
              "type": "object",
              "description": "The altered Ethereum state due to execution of the given transaction, or null if not available"
            },
            "trace": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "action": {
                    "type": "object",
                    "properties": {
                      "from": {
                        "type": "string",
                        "description": "The address of the sender"
                      },
                      "callType": {
                        "type": "string",
                        "description": "The type of call such as call, staticcall, delegatecall"
                      },
                      "gas": {
                        "type": "string",
                        "description": "The gas provided by the sender, encoded as hexadecimal"
                      },
                      "input": {
                        "type": "string",
                        "description": "The data sent along with the transaction"
                      },
                      "to": {
                        "type": "string",
                        "description": "The address of the receiver"
                      },
                      "value": {
                        "type": "string",
                        "description": "The value sent with this transaction, encoded as hexadecimal"
                      }
                    },
                    "description": "The action performed during the trace"
                  },
                  "result": {
                    "type": "object",
                    "properties": {
                      "gasUsed": {
                        "type": "string",
                        "description": "The amount of gas used by this trace"
                      },
                      "output": {
                        "type": "string",
                        "description": "The return value of the contract call, empty if no RETURN executed"
                      }
                    },
                    "description": "The execution result of the trace"
                  },
                  "subtraces": {
                    "type": "integer",
                    "description": "The number of subtraces (internal calls) within this trace"
                  },
                  "traceAddress": {
                    "type": "array",
                    "items": {},
                    "description": "The list of addresses where the call executed, including parent calls and order"
                  },
                  "type": {
                    "type": "string",
                    "description": "The type of the trace, such as call or create"
                  }
                }
              },
              "description": "An array of basic trace objects for the given transaction"
            },
            "vmTrace": {
              "type": "object",
              "description": "The full trace of the virtual machine's state during execution, including sub-calls, or null if not available"
            }
          }
        }
      },
      "tags": [
        {
          "name": "trace"
        }
      ],
      "externalDocs": {
        "description": "Quicknode docs",
        "url": "https://www.quicknode.com/docs/hyperliquid/trace_call"
      }
    },
    {
      "name": "trace_callMany",
      "summary": "Performs multiple simulated calls and returns trace data for each one.",
      "description": "Performs multiple simulated calls and returns trace data for each one. This method enables batch execution of several transactions, providing detailed traces for every call in the set.",
      "params": [
        {
          "name": "array",
          "description": "An array of call and trace type pairs. Each element is an array containing a transaction call object and an array of trace types:",
          "required": true,
          "schema": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "object": {
                  "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 encoded as hexadecimal"
                    },
                    "value": {
                      "type": "integer",
                      "description": "The integer of the value sent with this transaction encoded as hexadecimal"
                    },
                    "data": {
                      "type": "string",
                      "description": "The hash of the method signature and encoded parameters, see the Ethereum Contract ABI"
                    }
                  },
                  "description": "The transaction call object with the following fields:"
                },
                "array": {
                  "type": "array",
                  "items": {},
                  "description": "The type of trace, which can be one of the following: vmTrace, trace, stateDiff"
                }
              }
            }
          }
        },
        {
          "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": "array",
        "description": "An array of trace result objects, one for each call in the input array",
        "schema": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "output": {
                "type": "string",
                "description": "The data returned as output encoded in hexadecimal format"
              },
              "stateDiff": {
                "type": "object",
                "description": "The altered Ethereum state due to execution of the given transaction, or null if not available"
              },
              "trace": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "action": {
                      "type": "object",
                      "properties": {
                        "from": {
                          "type": "string",
                          "description": "The address of the sender"
                        },
                        "callType": {
                          "type": "string",
                          "description": "The type of call such as call, staticcall, delegatecall"
                        },
                        "gas": {
                          "type": "string",
                          "description": "The gas provided by the sender, encoded as hexadecimal"
                        },
                        "input": {
                          "type": "string",
                          "description": "The data sent along with the transaction"
                        },
                        "to": {
                          "type": "string",
                          "description": "The address of the receiver"
                        },
                        "value": {
                          "type": "string",
                          "description": "The value sent with this transaction, encoded as hexadecimal"
                        }
                      },
                      "description": "The action performed during the trace"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "gasUsed": {
                          "type": "string",
                          "description": "The amount of gas used by this trace"
                        },
                        "output": {
                          "type": "string",
                          "description": "The return value of the contract call, empty if no RETURN executed"
                        }
                      },
                      "description": "The execution result of the trace"
                    },
                    "subtraces": {
                      "type": "integer",
                      "description": "The number of subtraces (internal calls) within this trace"
                    },
                    "traceAddress": {
                      "type": "array",
                      "items": {},
                      "description": "The list of addresses where the call executed, including parent calls and order"
                    },
                    "type": {
                      "type": "string",
                      "description": "The type of the trace, such as call or create"
                    }
                  }
                },
                "description": "An array of basic trace objects for the given transaction"
              },
              "vmTrace": {
                "type": "object",
                "description": "The full trace of the virtual machine's state during execution, including sub-calls, or null if not available"
              }
            }
          }
        }
      },
      "tags": [
        {
          "name": "trace"
        }
      ],
      "externalDocs": {
        "description": "Quicknode docs",
        "url": "https://www.quicknode.com/docs/hyperliquid/trace_callMany"
      }
    },
    {
      "name": "trace_filter",
      "summary": "Returns traces matching given filter (Supported on Erigon).",
      "description": "Returns traces matching given filter (Supported on Erigon).",
      "params": [
        {
          "name": "object",
          "description": "The filter object",
          "schema": {
            "type": "object",
            "properties": {
              "fromBlock": {
                "type": "string",
                "description": "The Quantity or Tag from this block"
              },
              "toBlock": {
                "type": "string",
                "description": "The Quantity or Tag to this block"
              },
              "fromAddress": {
                "type": "array",
                "items": {},
                "description": "An array addresses of the senders"
              },
              "toAddress": {
                "type": "array",
                "items": {},
                "description": "An array addresses of the receivers"
              },
              "after": {
                "type": "number",
                "description": "The offset trace number"
              },
              "count": {
                "type": "number",
                "description": "The integer number of traces to display in a batch"
              }
            }
          }
        }
      ],
      "result": {
        "name": "array",
        "description": "The block traces, which have the following fields (please note that all return types are hexadecimal representations of their data type unless otherwise stated):",
        "schema": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "action": {
                "type": "object",
                "properties": {
                  "from": {
                    "type": "string",
                    "description": "The address of the sender"
                  },
                  "callType": {
                    "type": "string",
                    "description": "The type of method such as call, delegatecall"
                  },
                  "gas": {
                    "type": "string",
                    "description": "The gas provided by the sender, encoded as hexadecimal"
                  },
                  "input": {
                    "type": "string",
                    "description": "The data sent along with the transaction"
                  },
                  "to": {
                    "type": "string",
                    "description": "The address of the receiver"
                  },
                  "value": {
                    "type": "string",
                    "description": "The integer of the value sent with this transaction, encoded as hexadecimal"
                  }
                },
                "description": "The ParityTrace object, which has the following fields:"
              },
              "blockHash": {
                "type": "string",
                "description": "The hash of the block where this transaction was in"
              },
              "blockNumber": {
                "type": "number",
                "description": "The block number where this transaction was in"
              },
              "result": {
                "type": "object",
                "properties": {
                  "gasUsed": {
                    "type": "string",
                    "description": "The amount of gas used by this specific transaction alone"
                  },
                  "output": {
                    "type": "string",
                    "description": "The value returned by the contract call, and it only contains the actual value sent by the RETURN method. If the RETURN method was not executed, the output is empty bytes"
                  }
                },
                "description": "The ParityTraceResult object which has the following fields:"
              },
              "subtraces": {
                "type": "number",
                "description": "The number of traces of contract calls made by the transaction"
              },
              "traceAddress": {
                "type": "array",
                "items": {},
                "description": "The list of addresses where the call executed, the address of the parents and the order of the current sub call"
              },
              "transactionHash": {
                "type": "string",
                "description": "The hash of the transaction"
              },
              "transactionPosition": {
                "type": "number",
                "description": "The transaction position"
              },
              "type": {
                "type": "string",
                "description": "The value of the method such as call or create"
              }
            }
          }
        }
      },
      "tags": [
        {
          "name": "trace"
        }
      ],
      "externalDocs": {
        "description": "Quicknode docs",
        "url": "https://www.quicknode.com/docs/hyperliquid/trace_filter"
      }
    },
    {
      "name": "trace_rawTransaction",
      "summary": "Traces a call to eth_sendRawTransaction without making the call, returning the traces(Supported on Erigon).",
      "description": "Traces a call to eth_sendRawTransaction without making the call, returning the traces(Supported on Erigon).",
      "params": [
        {
          "name": "data",
          "description": "The raw transaction data/string",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "array",
          "description": "The type of trace, one or more of:",
          "required": true,
          "schema": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "vmTrace": {
                  "type": "string",
                  "description": "To get a full trace of the virtual machine's state during the execution of the given of given transaction, including for any subcalls"
                },
                "trace": {
                  "type": "string",
                  "description": "To get the basic trace of the given transaction"
                },
                "stateDiff": {
                  "type": "string",
                  "description": "To get information on altered Ethereum state due to execution of the given transaction"
                }
              }
            }
          }
        }
      ],
      "result": {
        "name": "object",
        "description": "The transaction trace result, which has the following fields (please note that all return types are hexadecimal representations of their data type unless otherwise stated):",
        "schema": {
          "type": "object",
          "properties": {
            "output": {
              "type": "string",
              "description": "The data which is returned as an output encoded in hexadecimal format"
            },
            "stateDiff": {
              "type": "object",
              "description": "(Optional) Returns the information on altered Ethereum state due to execution of the given transaction"
            },
            "trace": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "description": "The value of the method such as call or create"
                  },
                  "action": {
                    "type": "object",
                    "properties": {
                      "from": {
                        "type": "string",
                        "description": "The address of the sender"
                      },
                      "callType": {
                        "type": "string",
                        "description": "The type of method such as call, delegatecall"
                      },
                      "gas": {
                        "type": "string",
                        "description": "The gas provided by the sender, encoded as hexadecimal"
                      },
                      "input": {
                        "type": "string",
                        "description": "The data sent along with the transaction"
                      },
                      "to": {
                        "type": "string",
                        "description": "The address of the receiver"
                      },
                      "value": {
                        "type": "string",
                        "description": "The integer of the value sent with this transaction, encoded as hexadecimal"
                      }
                    },
                    "description": "The action to be performed on the receiver"
                  },
                  "error": {
                    "type": "string",
                    "description": "(Optional) Error message if the transaction execution failed"
                  },
                  "result": {
                    "type": "object",
                    "properties": {
                      "gasUsed": {
                        "type": "string",
                        "description": "The amount of gas used by this specific transaction alone"
                      },
                      "output": {
                        "type": "string",
                        "description": "The value returned by the contract call, and it only contains the actual value sent by the RETURN method. If the RETURN method was not executed, the output is empty bytes"
                      }
                    },
                    "description": "The ParityTraceResult object which has the following fields:"
                  },
                  "subtraces": {
                    "type": "number",
                    "description": "The number of traces of contract calls made by the transaction"
                  },
                  "traceAddress": {
                    "type": "array",
                    "items": {},
                    "description": "The list of addresses where the call was executed, the address of the parents, and the order of the current sub call"
                  }
                }
              },
              "description": "Array of trace objects for the transaction"
            },
            "vmTrace": {
              "type": "object",
              "description": "(Optional) Full trace of the virtual machine's state during the execution of the given transaction, including for any sub-calls"
            }
          }
        }
      },
      "tags": [
        {
          "name": "trace"
        }
      ],
      "externalDocs": {
        "description": "Quicknode docs",
        "url": "https://www.quicknode.com/docs/hyperliquid/trace_rawTransaction"
      }
    },
    {
      "name": "trace_replayBlockTransactions",
      "summary": "Replays all transactions in a block returning the requested traces for each transaction (Supported on Erigon).",
      "description": "Replays all transactions in a block returning the requested traces for each transaction (Supported on Erigon).",
      "params": [
        {
          "name": "blockNumber",
          "description": "The block number as a string in hexadecimal format or tags. The supported tag values include 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": "array",
          "description": "The type of trace, one or more of:",
          "required": true,
          "schema": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "vmTrace": {
                  "type": "string",
                  "description": "To get a full trace of the virtual machine's state during the execution of the given of given transaction, including for any subcalls"
                },
                "trace": {
                  "type": "string",
                  "description": "To get the basic trace of the given transaction"
                },
                "stateDiff": {
                  "type": "string",
                  "description": "To get information on altered Ethereum state due to execution of the given transaction"
                }
              }
            }
          }
        }
      ],
      "result": {
        "name": "array",
        "description": "The block traces, which have the following fields (please note that all return types are hexadecimal representations of their data type unless otherwise stated):",
        "schema": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "output": {
                "type": "string",
                "description": "The data which is returned as an output encoded in hexadecimal format"
              },
              "stateDiff": {
                "type": "object",
                "description": "(Optional) Returns the information on altered Ethereum state due to execution of the given transaction"
              },
              "trace": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "description": "The value of the method such as call or create"
                    },
                    "action": {
                      "type": "object",
                      "properties": {
                        "from": {
                          "type": "string",
                          "description": "The address of the sender"
                        },
                        "callType": {
                          "type": "string",
                          "description": "The type of method such as call, delegatecall"
                        },
                        "gas": {
                          "type": "string",
                          "description": "The gas provided by the sender, encoded as hexadecimal"
                        },
                        "input": {
                          "type": "string",
                          "description": "The data sent along with the transaction"
                        },
                        "to": {
                          "type": "string",
                          "description": "The address of the receiver"
                        },
                        "value": {
                          "type": "string",
                          "description": "The integer of the value sent with this transaction, encoded as hexadecimal"
                        }
                      },
                      "description": "The action to be performed on the receiver"
                    },
                    "error": {
                      "type": "string",
                      "description": "(Optional) Error message if the transaction execution failed"
                    },
                    "result": {
                      "type": "object",
                      "properties": {
                        "gasUsed": {
                          "type": "string",
                          "description": "The amount of gas used by this specific transaction alone"
                        },
                        "output": {
                          "type": "string",
                          "description": "The value returned by the contract call, and it only contains the actual value sent by the RETURN method. If the RETURN method was not executed, the output is empty bytes"
                        }
                      },
                      "description": "The ParityTraceResult object which has the following fields:"
                    },
                    "subtraces": {
                      "type": "number",
                      "description": "The number of traces of contract calls made by the transaction"
                    },
                    "traceAddress": {
                      "type": "array",
                      "items": {},
                      "description": "The list of addresses where the call was executed, the address of the parents, and the order of the current sub call"
                    }
                  }
                },
                "description": "Array of trace objects for the transaction"
              },
              "vmTrace": {
                "type": "object",
                "description": "(Optional) Full trace of the virtual machine's state during the execution of the given transaction, including for any sub-calls"
              },
              "transactionHash": {
                "type": "string",
                "description": "The hash of the transaction"
              }
            }
          }
        }
      },
      "tags": [
        {
          "name": "trace"
        }
      ],
      "externalDocs": {
        "description": "Quicknode docs",
        "url": "https://www.quicknode.com/docs/hyperliquid/trace_replayBlockTransactions"
      }
    },
    {
      "name": "trace_replayTransaction",
      "summary": "Replays a transaction, returning the traces (Supported on Erigon).",
      "description": "Replays a transaction, returning the traces (Supported on Erigon).",
      "params": [
        {
          "name": "hash",
          "description": "The hash of a transaction",
          "required": true,
          "schema": {
            "type": "string"
          }
        },
        {
          "name": "array",
          "description": "The type of trace, one or more of:",
          "required": true,
          "schema": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "vmTrace": {
                  "type": "string",
                  "description": "To get a full trace of the virtual machine's state during the execution of the given of given transaction, including for any subcalls"
                },
                "trace": {
                  "type": "string",
                  "description": "To get the basic trace of the given transaction"
                },
                "stateDiff": {
                  "type": "string",
                  "description": "To get information on altered Ethereum state due to execution of the given transaction"
                }
              }
            }
          }
        }
      ],
      "result": {
        "name": "object",
        "description": "The transaction trace result, which has the following fields (please note that all return types are hexadecimal representations of their data type unless otherwise stated):",
        "schema": {
          "type": "object",
          "properties": {
            "output": {
              "type": "string",
              "description": "The data which is returned as an output encoded in hexadecimal format"
            },
            "stateDiff": {
              "type": "object",
              "description": "(Optional) Returns the information on altered Ethereum state due to execution of the given transaction"
            },
            "trace": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "description": "The value of the method such as call or create"
                  },
                  "action": {
                    "type": "object",
                    "properties": {
                      "from": {
                        "type": "string",
                        "description": "The address of the sender"
                      },
                      "callType": {
                        "type": "string",
                        "description": "The type of method such as call, delegatecall"
                      },
                      "gas": {
                        "type": "string",
                        "description": "The gas provided by the sender, encoded as hexadecimal"
                      },
                      "input": {
                        "type": "string",
                        "description": "The data sent along with the transaction"
                      },
                      "to": {
                        "type": "string",
                        "description": "The address of the receiver"
                      },
                      "value": {
                        "type": "string",
                        "description": "The integer of the value sent with this transaction, encoded as hexadecimal"
                      }
                    },
                    "description": "The action to be performed on the receiver"
                  },
                  "result": {
                    "type": "object",
                    "properties": {
                      "gasUsed": {
                        "type": "string",
                        "description": "The amount of gas used by this specific transaction alone"
                      },
                      "output": {
                        "type": "string",
                        "description": "The value returned by the contract call, and it only contains the actual value sent by the RETURN method. If the RETURN method was not executed, the output is empty bytes"
                      }
                    },
                    "description": "The ParityTraceResult object which has the following fields:"
                  },
                  "subtraces": {
                    "type": "number",
                    "description": "The number of traces of contract calls made by the transaction"
                  },
                  "traceAddress": {
                    "type": "array",
                    "items": {},
                    "description": "The list of addresses where the call was executed, the address of the parents, and the order of the current sub call"
                  }
                }
              },
              "description": "Array of trace objects for the transaction"
            },
            "vmTrace": {
              "type": "object",
              "description": "(Optional) Full trace of the virtual machine's state during the execution of the given transaction, including for any sub-calls"
            }
          }
        }
      },
      "tags": [
        {
          "name": "trace"
        }
      ],
      "externalDocs": {
        "description": "Quicknode docs",
        "url": "https://www.quicknode.com/docs/hyperliquid/trace_replayTransaction"
      }
    },
    {
      "name": "trace_transaction",
      "summary": "Returns all traces of given transaction(Supported on Erigon).",
      "description": "Returns all traces of given transaction(Supported on Erigon).",
      "params": [
        {
          "name": "hash",
          "description": "The hash of a transaction",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "result": {
        "name": "array",
        "description": "The transaction traces, which have the following fields (please note that all return types are hexadecimal representations of their data type unless otherwise stated):",
        "schema": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "action": {
                "type": "object",
                "properties": {
                  "from": {
                    "type": "string",
                    "description": "The address of the sender"
                  },
                  "callType": {
                    "type": "string",
                    "description": "The type of method such as call, delegatecall"
                  },
                  "gas": {
                    "type": "string",
                    "description": "The gas provided by the sender, encoded as hexadecimal"
                  },
                  "input": {
                    "type": "string",
                    "description": "The data sent along with the transaction"
                  },
                  "to": {
                    "type": "string",
                    "description": "The address of the receiver"
                  },
                  "value": {
                    "type": "string",
                    "description": "The integer of the value sent with this transaction, encoded as hexadecimal"
                  }
                },
                "description": "The action to be performed on the receiver"
              },
              "blockHash": {
                "type": "string",
                "description": "The hash of the block where this transaction was in"
              },
              "blockNumber": {
                "type": "number",
                "description": "The block number where this transaction was in"
              },
              "result": {
                "type": "object",
                "properties": {
                  "gasUsed": {
                    "type": "string",
                    "description": "The amount of gas used by this specific transaction alone"
                  },
                  "output": {
                    "type": "string",
                    "description": "The value returned by the contract call, and it only contains the actual value sent by the RETURN method. If the RETURN method was not executed, the output is empty bytes"
                  }
                },
                "description": "The ParityTraceResult object which has the following fields:"
              },
              "subtraces": {
                "type": "number",
                "description": "The number of traces of contract calls made by the transaction"
              },
              "traceAddress": {
                "type": "array",
                "items": {},
                "description": "The list of addresses where the call was executed, the address of the parents, and the order of the current sub call"
              },
              "transactionHash": {
                "type": "string",
                "description": "The hash of the transaction"
              },
              "transactionPosition": {
                "type": "number",
                "description": "The transaction position"
              },
              "type": {
                "type": "string",
                "description": "The value of the method such as call or create"
              }
            }
          }
        }
      },
      "tags": [
        {
          "name": "trace"
        }
      ],
      "externalDocs": {
        "description": "Quicknode docs",
        "url": "https://www.quicknode.com/docs/hyperliquid/trace_transaction"
      }
    }
  ],
  "servers": [
    {
      "name": "Hyperliquid Trace API",
      "url": "https://docs-demo.hype-mainnet.quiknode.pro/nanoreth"
    }
  ]
}