POST
/
evm
ots_getInternalOperations
curl --request POST \
  --url https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/evm \
  --header 'Content-Type: application/json' \
  --data '{
  "jsonrpc": "2.0",
  "method": "ots_getInternalOperations",
  "params": [
    "0xf94f3d2ed5b59aefb6a0e566af8e86552014d84f6ed2f38a1366dedffe723381"
  ],
  "id": 1
}'
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": [
    {
      "type": 0,
      "from": "0x5555555555555555555555555555555555555555",
      "to": "0x6666666666666666666666666666666666666666",
      "value": "0xde0b6b3a7640000"
    }
  ]
}
The ots_getInternalOperations JSON-RPC method retrieves all internal ETH transfers and operations that occurred within a transaction on the Hyperliquid EVM blockchain. This Otterscan-specific method reveals value transfers that happen inside smart contract execution, which are not visible in standard transaction receipts.
Get your own node endpoint todayStart for free and get your app to production levels immediately. No credit card required.You can sign up with your GitHub, X, Google, or Microsoft account.

Parameters

  1. transaction hash (string, required): The hash of the transaction to analyze

Response

The method returns an array of internal operation objects representing all value transfers within the transaction.

Response structure

Each internal operation contains:
  • type — the operation type (0: transfer, 1: self-destruct, 2: create, 3: create2)
  • from — the address sending the value
  • to — the address receiving the value
  • value — the amount of ETH transferred in wei (hex)

Usage example

Shell
curl -X POST https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/evm \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "ots_getInternalOperations",
    "params": ["0xf94f3d2ed5b59aefb6a0e566af8e86552014d84f6ed2f38a1366dedffe723381"],
    "id": 1
  }'

Example response

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": [
    {
      "type": 0,
      "from": "0x5555555555555555555555555555555555555555",
      "to": "0x6666666666666666666666666666666666666666",
      "value": "0xde0b6b3a7640000"
    },
    {
      "type": 0,
      "from": "0x6666666666666666666666666666666666666666",
      "to": "0x7777777777777777777777777777777777777777",
      "value": "0x6f05b59d3b20000"
    }
  ]
}

Operation types

The type field indicates the operation:
  • 0 — Regular ETH transfer
  • 1 — Self-destruct (contract deletion with balance transfer)
  • 2 — Contract creation via CREATE opcode
  • 3 — Contract creation via CREATE2 opcode

Use cases

The ots_getInternalOperations method is essential for:
  • Value flow analysis: Track how ETH moves through complex contract interactions
  • DeFi debugging: Understand token swaps and liquidity operations
  • Security auditing: Detect unexpected value transfers in contracts
  • Payment splitting: Analyze how contracts distribute payments
  • Fee tracking: Monitor protocol fees and revenue sharing
  • MEV analysis: Study arbitrage and sandwich attack patterns
  • Wallet tracking: Follow funds through mixer and privacy protocols
  • Tax reporting: Identify all value transfers for accounting
  • Contract verification: Ensure contracts handle ETH as expected
  • Forensic analysis: Investigate exploits and fund movements
This method is particularly valuable for understanding complex DeFi transactions where multiple contracts interact and transfer value in ways not visible through standard transaction data.

Body

application/json

Response

200 - application/json

Successful response with internal operations

The response is of type object.