Overview
The Smart Contracts endpoints in the Hedera Mirror Node REST API allows developers to query smart contract metadata, execution results, state changes, and logs. These endpoints are essential for tracking contract interactions, retrieving transaction results, and debugging contract executions on the Hedera network.Endpoints
The following endpoints are available for the Smart Contracts object:| Endpoint | Description |
|---|---|
GET /api/v1/contracts | Retrieves a list of smart contract entities on the network. |
GET /api/v1/contracts/{contractIdOrAddress} | Fetches details of a specific contract by ID. |
GET /api/v1/contracts/results/{transactionIdOrhash} | Retrieves execution results for a specific contract transaction ID. |
GET /api/v1/contracts/{contractIdOrAddress}/results | Retrieves execution results for a specific contract. |
GET /api/v1/contracts/{id}/state | Fetches the state of a contract. |
GET /api/v1/contracts/results | Lists execution results for all contracts. |
GET /api/v1/contracts/results/{transactionIdOrHash}/results | Get contract actions by transaction ID or transaction hash. |
GET /api/v1/contracts/results/{timestamp} | Retrieves execution results for a contract at a given timestamp. |
GET /api/v1/contracts/logs | Lists logs emitted from contracts. |
GET /api/v1/contracts/{id}/results/logs | Fetches logs for a specific contract. |
GET /api/v1/contracts/{id}/results/opcodes | Get the opcode traces for historical transactions |
POST /api/v1/contracts/call | Invokes a smart contract method. |
Pectra updates (HIP-1340)
Under the Pectra hard fork, all/api/v1/contracts/* endpoints accept EOA addresses in addition to contract IDs. When an EOA has code delegation configured, calls to its address execute the delegate contract’s code in the EOA’s storage context, so the EOA emits logs, holds storage slots, and produces traces that these endpoints surface.
New authorization_list field on contract results
Contract-result endpoints include a new authorization_list field for Ethereum Type 4 (EIP-7702) transactions:
GET /api/v1/contracts/{contractIdOrAddress}/results/{timestamp}GET /api/v1/contracts/results/{transactionIdOrHash}GET /api/v1/contracts/results
Example response excerpt
chain_id of an authorization entry is hex-encoded (e.g. 0x127 = 295 mainnet, 0x128 = 296 testnet, 0x129 = 297 previewnet, 0x12A = 298 development networks).
Endpoints that now serve EOA addresses
The following endpoints accept an EOA address (or its0.0.x account ID) without schema changes; they were previously contract-only:
GET /api/v1/contracts/{contractIdOrAddress}/resultsGET /api/v1/contracts/{contractIdOrAddress}/results/logsGET /api/v1/contracts/{contractIdOrAddress}/stateGET /api/v1/contracts/results/{transactionIdOrHash}/actionsGET /api/v1/contracts/results/{transactionIdOrHash}/opcodesGET /api/v1/contracts/results/logsPOST /api/v1/contracts/call