Hedera
  • Welcome to Hedera — let’s build the future
  • Getting Started
    • Environment Setup
    • Web2 Developers
      • Transfer HBAR
      • Create a Token
      • Create a Topic
    • EVM Developers
      • Deploy a Contract
  • Tutorials
    • Smart Contracts
      • How to Mint & Burn an ERC-721 Token Using Hardhat and Ethers (Part 1)
      • How to Set Access Control, a Token URI, Pause, and Transfer an ERC-721 Token Using Hardhat (Part 2)
      • How to Upgrade an ERC-721 Token with OpenZeppelin UUPS Proxies and Hardhat (Part 3)
      • How to Verify a Smart Contract on HashScan
      • Deploy a Smart Contract Using Remix
      • Deploy a Smart Contract Using Hardhat and Hiero JSON-RPC Relay
      • Deploy Your First Smart Contract
      • Deploy a Contract Using the Hedera Token Service
      • Send and Receive HBAR Using Solidity Smart Contracts
      • Deploy By Leveraging Ethereum Developer Tools On Hedera
      • Deploy a Subgraph Using The Graph and Hedera JSON-RPC Relay
      • Deploy Smart Contracts on Hedera Using Truffle
      • The Power of Native Hedera Tokens as ERC-20 Tokens: A step-by-step guide
      • HTS x EVM - Part 1: How to Mint NFTs
      • HTS x EVM - Part 2: KYC & Update
      • HTS x EVM - Part 3: How to Pause, Freeze, Wipe, and Delete NFTs
      • Hedera Smart Contracts Workshop
        • Setup
        • Solidity
        • Hedera SDK JS
        • Hardhat and EthersJs
        • Outro
      • Foundry
        • How to Setup Foundry and Write a Basic Unit Test
        • How to Deploy and Verify a Hedera Smart Contract with Foundry
        • How to Test A Solidity Event
        • How to Fork Testnet on Latest Block
    • Consensus
      • Submit Your First Message
      • Submit Message to Private Topic
      • Query Messages with Mirror Node
    • Tokens
      • Create and Transfer Your First NFT
      • Create and Transfer Your First Fungible Token
      • Create and Transfer an NFT using a Solidity Contract
      • Structure Your Token Metadata Using JSON Schema V2
      • Hedera Token Service - Part 1: How to Mint NFTs
      • Hedera Token Service - Part 2: KYC, Update, and Scheduled Transactions
      • Hedera Token Service - Part 3: How to Pause, Freeze, Wipe, and Delete NFTs
      • Create Your First Frictionless Airdrop Campaign
    • Local Node
      • How to Run Hedera Local Node in a Cloud Development Environment (CDE)
        • Run a Local Node in Gitpod
        • Run a Local Node in Codespaces
      • How to Set Up a Hedera Local Node
      • Set Up a Hedera Local Node using the NPM CLI
    • More Tutorials
      • Create and Fund Your Hedera Testnet Account
      • How to Create a Personal Access Token (API Key) on the Hedera Portal
      • How to Auto-Create Hedera Accounts with HBAR and Token Transfers
      • How to Configure a Mirror Node and Query Data
      • How to Generate a Random Number on Hedera
      • Get Started with the Hedera Consensus Service Fabric Plugin
        • Virtual Environment Setup
      • Schedule Your First Transaction
      • How to Connect to Hedera Networks Over RPC
        • Configuring Hashio RPC endpoints
        • Configuring Hiero JSON-RPC Relay endpoints
        • Configuring Validation Cloud RPC endpoints
      • JavaScript Testing
      • Create a Hedera DApp Integrated with WalletConnect
      • How to Connect MetaMask to Hedera
    • Demo Applications
    • Starter Projects
    • Building on Hedera (course)
  • Networks
    • Mainnet
      • Mainnet Accounts
      • Mainnet Consensus Nodes
        • Node Deployment Requirements
          • FAQ
        • Node Deployment Process
      • Fees
        • Transaction Records
    • Testnets
      • Testnet Accounts
      • Testnet Consensus Nodes
    • Localnet
      • Single Node Configuration
      • Multinode Configuration
    • Network Explorers and Tools
    • Release Notes
      • Consensus Node
      • Hedera Mirror Node
  • Core Concepts
    • Accounts
      • Account Creation
      • Auto Account Creation
      • Account Properties
    • Keys and Signatures
    • Schedule Transaction
    • Smart Contracts
      • Understanding Hedera's EVM Differences and Compatibility
        • For EVM Developers Migrating to Hedera
          • Accounts, Signature Verification & Keys (ECDSA vs. ED25519)
          • JSON-RPC Relay and EVM Tooling
          • Token Management with Hedera Token Service
          • Decimal Handling (8 vs. 18 Decimals)
          • Handling HBAR Transfers in Contracts
        • For Hedera-Native Developers Adding Smart Contract Functionality
          • Integrating ED25519 Accounts and Advanced Features Into Smart Contracts
          • JSON-RPC Relay and State Queries
          • Extending Token Management with Smart Contracts
      • Creating Smart Contracts
      • Compiling Smart Contracts
      • System Smart Contracts
        • Hedera Account Service
        • Hedera Schedule Service
      • Gas and Fees
      • JSON-RPC Relay
      • Deploying Smart Contracts
      • Smart Contract Addresses
      • Verifying Smart Contracts
      • Smart Contract Traceability
      • Tokens Managed by Smart Contracts
        • ERC-20 (Fungible Tokens)
        • ERC-721 (Non-Fungible Token)
        • ERC-3643 Real World Assets (RWA)
        • ERC-1363 (Payable Tokens)
        • Hedera Token Service System Contract
      • Wrapped HBAR (WHBAR)
      • Smart Contract Rent
      • Smart Contract Security
      • EVM Archive Node Queries
    • Tokens
      • Tokenization on Hedera
      • Hedera Token Service (HTS) Native Tokenization
        • Token Types and ID Formats
        • Token Properties
        • Token Creation
        • Custom Fee Schedule
        • Token Airdrops
      • ERC/EVM-Compatible Tokenization
      • Hybrid (HTS + EVM ) Tokenization
    • Staking
      • Staking Program
      • Stake HBAR
    • Hashgraph Consensus Algorithm
      • Gossip About Gossip
      • Virtual Voting
    • Transactions and Queries
      • Transaction Properties
    • State and History
    • Mirror Nodes
      • Hedera Mirror Node
      • One Click Mirror Node Deployment
      • Run Your Own Mirror Node
        • Run Your Own Mirror Node with Google Cloud Storage (GCS)
        • Run Your Mirror Node with Amazon Web Services S3 (AWS)
  • Open Source Solutions and Integrations
    • AI Studio on Hedera
      • ElizaOS Plugin for Hedera
      • Hedera AI Agent Kit
      • MCP Server
      • OpenConvAI
    • AI Tools for Developers
      • Hedera Hivemind
      • Kapa AI
    • Asset Tokenization Studio (ATS)
      • Web User Interface (UI)
      • Frequently Asked Questions (FAQs)
    • HashioDAO
      • Governance Token DAO
      • NFT DAO
      • Multisig DAO
      • DAO Proposals
      • Local Environment Setup
    • Hedera CLI
    • Hedera Contract Builder
    • Hedera Custodians Library
      • How to use it
    • Hedera Developers Code Repository
    • Hedera Developer Playground
    • Hedera Wallet Snap By MetaMask
      • Hedera Wallet Snap Documentation
      • Tutorial: MetaMask Snaps – What Are They and How to Use Them
    • Interoperability and Bridging
      • LayerZero
    • NFT Studio
      • Airdrop List Verifier
      • Metadata Validator
      • NFT Rarity Inspector
      • NFT Token Holders List Builder
      • NFT Risk Calculator
      • Token Balance Snapshot
      • Hedera NFT SDK
    • Oracle Networks
      • Chainlink Oracles
      • Pyth Oracles
      • Supra Oracles
    • Stablecoin Studio
      • Core Concepts
      • Web UI Application
      • CLI Management
      • TypeScript SDK
    • Hedera Guardian
    • Hedera WalletConnect
  • SDKs & APIs
    • SDKs
      • Build Your Hedera Client
      • Set Up Your Local Network
      • Network Address Book
      • Keys
        • Generate a new key pair
        • Import an existing key
        • Create a key list
        • Create a threshold key
        • Generate a mnemonic phrase
        • Recover keys from a mnemonic phrase
      • HBAR
      • Specialized Types
      • Pseudorandom Number Generator
      • Transactions
        • Create a Batch Transaction
        • Transaction ID
        • Modify transaction fields
        • Create an unsigned transaction
        • Manually sign a transaction
        • Submit a transaction
        • Sign a multisignature transaction
        • Get a transaction receipt
        • Get a transaction record
      • Schedule Transaction
        • Schedule ID
        • Create a schedule transaction
        • Sign a scheduled transaction
        • Delete a schedule transaction
        • Get schedule info
        • Network Response Messages
      • Queries
      • General Network Response Messages
      • Accounts and HBAR
        • Create an account
        • Update an account
        • Transfer cryptocurrency
        • Approve an allowance
        • Delete an allowance
        • Delete an account
        • Get account balance
        • Get account info
        • Network Response Messages
      • Consensus Service
        • Create a topic
        • Update a topic
        • Submit a message
        • Delete a topic
        • Get topic messages
        • Get topic info
        • Network Response
      • Token Service
        • Token ID
        • NFT ID
        • Token types
        • Create a token
        • Custom token fees
        • Update a token
        • Update token custom fees
        • Update NFT metadata
        • Transfer tokens
        • Airdrop a token
        • Claim a token
        • Cancel a token
        • Reject a token
        • Delete a token
        • Mint a token
        • Burn a token
        • Freeze an account
        • Unfreeze an account
        • Enable KYC account flag
        • Disable KYC account flag
        • Associate tokens to an account
        • Dissociate tokens from an account
        • Pause a token
        • Unpause a token
        • Wipe a token
        • Atomic swaps
        • Get account token balance
        • Get token info
        • Get NFT info
        • Network Response Messages
      • File Service
        • Create a file
        • Append to a file
        • Update a file
        • Delete a file
        • Get file contents
        • Get file info
        • Network Response Messages
      • Smart Contract Service
        • Delegate Contract ID
        • Create a smart contract
        • Update a smart contract
        • Delete a smart contract
        • Call a smart contract function
        • Ethereum transaction
        • Get a smart contract function
        • Get smart contract bytecode
        • Get smart contract info
        • Hedera Service Solidity Libraries
        • Network Response Messages
      • Signature Provider
        • Provider
        • Signer
        • Wallet
        • Local Provider
    • Mirror Node REST API
      • Accounts
      • Balances
      • Blocks
      • Schedule Transactions
      • Smart Contracts
      • Tokens
      • Topics
      • Transactions
      • Network
    • Hedera Consensus Service gRPC API
    • Hedera APIs
      • Basic Types
        • AccountAmount
        • AccountID
        • ContractID
        • CryptoAllowance
        • CurrentAndNextFeeSchedule
        • FeeComponents
        • FeeData
        • FeeSchedule
        • FileID
        • Fraction
        • HederaFunctionality
        • Key
        • KeyList
        • NftAllowance
        • NftTransfer
        • NodeAddress
        • NodeAddressBook
        • RealmID
        • ScheduleID
        • SemanticVersion
        • ServicesConfigurationList
        • ServiceEndpoint
        • Setting
        • ShardID
        • Signature
        • SignatureList
        • SignatureMap
        • SignaturePair
        • SubType
        • TransferList
        • TransactionID
        • ThresholdKey
        • ThresholdSignature
        • TokenAllowance
        • TokenBalance
        • TokenBalances
        • TokenFreezeStatus
        • TokenPauseStatus
        • TokenID
        • TokenKycStatus
        • TokenRelationship
        • TokenTransferList
        • TokenType
        • TokenSupplyType
        • TopicID
        • TransactionFeeSchedule
      • Cryptocurrency Accounts
        • CryptoService
        • CryptApproveAllowance
        • CryptoDeleteAllowance
        • CryptoCreate
        • CryptoTransfer
        • CryptoUpdate
        • CryptoDelete
        • CryptoGetAccountBalance
        • CryptoGetAccountRecords
        • CryptoGetInfo
        • CryptoGetStakers
      • Consensus Service
        • Consensus Service
        • ConsensusCreateTopic
        • ConsensusUpdateTopic
        • ConsensusSubmitMessage
        • ConsensusDeleteTopic
        • ConsensusTopicInfo
        • ConsensusGetTopicInfo
      • Schedule Service
        • ScheduleService
        • SchedulableTransactionBody
        • ScheduleCreate
        • ScheduleDelete
        • ScheduleSign
        • ScheduleGetInfo
      • Token Service
        • TokenService
        • CustomFees
          • AssessedCustomFee
          • CustomFee
          • FractionalFee
          • FixedFee
          • RoyaltyFee
        • TokenCreate
        • TokenUpdate
        • TokenFeeScheduleUpdate
        • TokenDelete
        • TokenMint
        • TokenBurn
        • TokenFreezeAccount
        • TokenUnfreezeAccount
        • TokenGrantKyc
        • TokenRevokeKyc
        • TokenAssociate
        • TokenDissociate
        • TokenWipeAccount
        • TokenPause
        • TokenUnpause
        • TokenGetInfo
        • TokenGetNftInfo
        • TokenGetNftInfos
        • TokenGetAccountNftInfo
      • File Service
        • FileService
        • FileCreate
        • FileAppend
        • FileUpdate
        • FileDelete
        • FileGetContents
        • FileGetInfo
      • Smart Contracts
        • SmartContractService
        • ContractCall
        • ContractCallLocal
        • ContractCreate
        • ContractUpdate
        • ContractDelete
        • ContractGetByteCode
        • ContractGetInfo
        • ContractGetRecords
      • Miscellaneous
        • Duration
        • ExchangeRate
        • Freeze
        • FreezeType
        • GetByKey
        • GetBySolidityID
        • NetworkGetVersionInfo
        • NetworkService
        • Query
        • QueryHeader
        • Response
        • ResponseCode
        • ResponseHeader
        • SystemDelete
        • SystemUndelete
        • TimeStamp
        • Transaction
        • TransactionBody
        • TransactionContents
        • TransactionGetFastRecord
        • TransactionGetReceipt
        • TransactionGetRecord
        • TransactionReceipt
        • TransactionRecord
        • TransactionResponse
        • UncheckedSubmit
    • Hedera Status API
  • Support & Community
    • Glossary
    • Contributing to Hedera documentation
      • Contribution Guidelines
        • Creating Issues
        • Creating Pull Requests
        • Hedera Improvement Proposal (HIP)
        • Submit Demo Applications
      • Style Guide
        • Understanding different types of documentation
        • Use of HBAR and tinybars
        • Use of web2 and web3
        • Language and grammar
        • Formatting
        • Punctuation
        • GitBook Markdown Syntax
    • Discord
    • GitHub
    • Stack Overflow
    • Hedera Blog
    • Bug Bounty
    • Hedera Help
    • Documentation Survey
    • Meetups
    • Brand Guidelines
    • Status Page
Powered by GitBook
LogoLogo

INTRODUCTION

  • Fees
  • Core Concepts
  • Network Information

TOOLS

  • Bridge
  • Oracles
  • Explorers
  • Developer Portal & Faucet

RESOURCES

  • Status
  • Bug Bounty
  • Build on Hedera (course)
  • Documentation Survey
On this page

Was this helpful?

Edit on GitHub

Last updated 1 month ago

Was this helpful?

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:

Smart Contracts

Response Item
Description

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.

admin_key

The admin key of the contract, if specified

auto_renew_account

The account paying the auto renew fees, if set

auto_renew_period

The period at which the contract auto renews

bytecode

The bytecode of the contract

contract_id

The contract ID

created_timestamp

The timestamp the contract was created at

deleted

Whether or not the contract is deleted

evm_address

The EVM address of the contract

expiration_timestamp

The timestamp of when the contract is set to expire

file_id

The ID of the file that stored the contract bytecode

max_automatic_token_associations

The number of automatic token association slots

memo

The memo of the contract, if specified

obtainer_id

The ID of the account or contract that will receive any remaining balance when the contract is deleted

permanent_removal

Set to true when the system expires a contract

proxy_account_id

The proxy account ID (disabled)

solidity_address

The solidity address

timestamp

The period for which the attributes are valid for

  1. SDKs & APIs
  2. Mirror Node REST API

Smart Contracts

PreviousSchedule TransactionsNextTokens

List contract entities on network

get

Returns a list of all contract entity items on the network.

Query parameters
contract.idstringOptional

The ID of the smart contract

Example: {"summary":"--","value":""}Pattern: ^((gte?|lte?|eq|ne)\:)?(\d{1,10}\.\d{1,10}\.)?\d{1,10}|(\d{1,10}\.){0,2}[A-Fa-f0-9]{40}$
limitinteger · int32 · min: 1 · max: 100Optional

The maximum number of items to return

Default: 25Example: 2
orderundefined · enumOptional

The order in which items are listed

Default: descExample: ascPossible values:
Responses
200
OK
application/json
400
Invalid parameter
application/json
get
GET /api/v1/contracts HTTP/1.1
Host: 
Accept: */*
{
  "contracts": [
    {
      "admin_key": {
        "_type": "ProtobufEncoded",
        "key": "15706b229b3ba33d4a5a41ff54ce1cfe0a3d308672a33ff382f81583e02bd743"
      },
      "auto_renew_account": "0.0.2",
      "auto_renew_period": 7776000,
      "contract_id": "0.0.2",
      "created_timestamp": "1586567700.453054000",
      "deleted": false,
      "evm_address": "0000000000000000000000000000000000001f41",
      "expiration_timestamp": "1586567700.453054000",
      "file_id": "0.0.2",
      "max_automatic_token_associations": 1,
      "memo": "contract memo",
      "obtainer_id": "0.0.2",
      "permanent_removal": true,
      "proxy_account_id": "0.0.2",
      "timestamp": {
        "from": null,
        "to": null
      }
    }
  ],
  "links": {
    "next": null
  }
}

Get contract by id

get

Return the contract information given an id

Path parameters
contractIdOrAddressstringRequired

The ID or hex encoded EVM address (with or without 0x prefix) associated with this contract.

Pattern: ^(\d{1,10}\.){0,2}(\d{1,10}|(0x)?[A-Fa-f0-9]{40})$
Query parameters
timestampstring[]Optional

The consensus timestamp as a Unix timestamp in seconds.nanoseconds format with an optional comparison operator. See unixtimestamp.com for a simple way to convert a date to the 'seconds' part of the Unix time.

Example: {"summary":"--","value":""}
Responses
200
OK
application/json
Responseall of
400
Invalid parameter
application/json
404
Not Found
application/json
get
GET /api/v1/contracts/{contractIdOrAddress} HTTP/1.1
Host: 
Accept: */*
{
  "admin_key": {
    "_type": "ProtobufEncoded",
    "key": "15706b229b3ba33d4a5a41ff54ce1cfe0a3d308672a33ff382f81583e02bd743"
  },
  "auto_renew_account": "0.0.2",
  "auto_renew_period": 7776000,
  "contract_id": "0.0.2",
  "created_timestamp": "1586567700.453054000",
  "deleted": false,
  "evm_address": "0000000000000000000000000000000000001f41",
  "expiration_timestamp": "1586567700.453054000",
  "file_id": "0.0.2",
  "max_automatic_token_associations": 1,
  "memo": "contract memo",
  "obtainer_id": "0.0.2",
  "permanent_removal": true,
  "proxy_account_id": "0.0.2",
  "timestamp": {
    "from": null,
    "to": null
  },
  "bytecode": "0x01021a1fdc9b",
  "runtime_bytecode": "0x0302fa1ad39c"
}

Get the contract result from a contract on the network for a given transactionId or ethereum transaction hash

get

Returns a single ContractResult for a contract's function executions for a given transactionId or ethereum transaction hash.

Path parameters
transactionIdOrHashstringRequired

Transaction Id or a 32 byte hash with optional 0x prefix

Example: {"value":"0.0.10-1234567890-000000000"}Pattern: ^(0x)?[A-Fa-f0-9]{64}|(\d{1,10})\.(\d{1,10})\.(\d{1,10})-(\d{1,19})-(\d{1,9})$
Query parameters
nonceinteger · int32Optional

Filter the query result by the nonce of the transaction. A zero nonce represents user submitted transactions while a non-zero nonce is generated by main nodes. The filter honors the last value. Default is 0 when not specified.

Default: 0Example: 1
Responses
200
OK
application/json
Responseall of
206
Partial Content
application/json
400
Invalid parameter
application/json
404
Not Found
application/json
get
GET /api/v1/contracts/results/{transactionIdOrHash} HTTP/1.1
Host: 
Accept: */*
{
  "access_list": "0xabcd",
  "address": "0x25fe26adc577cc89172e6156c9e24f7b9751b762",
  "amount": 10,
  "block_gas_used": 2000,
  "block_hash": "0x6ceecd8bb224da491",
  "block_number": 10,
  "bloom": null,
  "call_result": "0x2b048531b38d2882e86044bc972e940ee0a01938",
  "chain_id": "0x0127",
  "contract_id": "0.0.2",
  "created_contract_ids": [
    "0.0.2"
  ],
  "error_message": "Out of gas",
  "failed_initcode": "0x856739",
  "from": "0x0000000000000000000000000000000000001f41",
  "function_parameters": "0xbb9f02dc6f0e3289f57a1f33b71c73aa8548ab8b",
  "gas_consumed": 35000,
  "gas_limit": 100000,
  "gas_price": "0x4a817c800",
  "gas_used": 80000,
  "hash": "0x3531396130303866616264653464",
  "max_fee_per_gas": "0x5",
  "max_priority_fee_per_gas": "0x100",
  "nonce": 1,
  "r": "0xd693b532a80fed6392b428604171fb32fdbf953728a3a7ecc7d4062b1652c043",
  "result": "SUCCESS",
  "s": "0x24e9c602ac800b983b035700a14b23f78a253ab762deab5dc27e3555a750b355",
  "status": 1,
  "timestamp": "1586567700.453054000",
  "to": "0x0000000000000000000000000000000000001f41",
  "transaction_index": 1,
  "type": 2,
  "v": 1,
  "logs": [
    {
      "address": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
      "bloom": null,
      "contract_id": "0.0.2",
      "data": "0x00000000000000000000000000000000000000000000000000000000000000fa",
      "index": 0,
      "topics": [
        "0xf4757a49b326036464bec6fe419a4ae38c8a02ce3e68bf0809674f6aab8ad300"
      ]
    }
  ],
  "state_changes": [
    {
      "address": "0000000000000000000000000000000000001f41",
      "contract_id": "0.0.2",
      "slot": "0x00000000000000000000000000000000000000000000000000000000000000fa",
      "value_read": "0x97c1fc0a6ed5551bc831571325e9bdb365d06803100dc20648640ba24ce69750",
      "value_written": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
    }
  ]
}

List contract results from a contract on the network

get

Returns a list of all ContractResults for a contract's function executions.

Path parameters
contractIdOrAddressstringRequired

The ID or hex encoded EVM address (with or without 0x prefix) associated with this contract.

Pattern: ^(\d{1,10}\.){0,2}(\d{1,10}|(0x)?[A-Fa-f0-9]{40})$
Query parameters
block.hashstringOptional

The block's hash. If multiple values are provided the last value will be the only value used.

Example: {"summary":"--","value":""}Pattern: ^(eq:)?(0x)?([0-9A-Fa-f]{64}|[0-9A-Fa-f]{96})$
block.numberstringOptional

The block's number

Example: {"summary":"--","value":""}Pattern: ^(eq:)?(\d{1,19}|0x[a-fA-f0-9]+)$
fromstringOptional

Account ID or EVM address executing the contract

Pattern: ^\d{1,10}\.\d{1,10}\.\d{1,10}|(0x)?[A-Fa-f0-9]{40}$
internalbooleanOptional

Whether to include child transactions or not

Default: falseExample: true
limitinteger · int32 · min: 1 · max: 100Optional

The maximum number of items to return

Default: 25Example: 2
orderundefined · enumOptional

The order in which items are listed

Default: descExample: ascPossible values:
timestampstring[]Optional

The consensus timestamp as a Unix timestamp in seconds.nanoseconds format with an optional comparison operator. See unixtimestamp.com for a simple way to convert a date to the 'seconds' part of the Unix time.

Example: {"summary":"--","value":""}
transaction.indexinteger · int32Optional

The transaction index in the block

Example: 1
Responses
200
OK
application/json
400
Invalid parameter
application/json
404
Not Found
application/json
get
GET /api/v1/contracts/{contractIdOrAddress}/results HTTP/1.1
Host: 
Accept: */*
{
  "results": [
    {
      "access_list": "0xabcd",
      "address": "0x25fe26adc577cc89172e6156c9e24f7b9751b762",
      "amount": 10,
      "block_gas_used": 2000,
      "block_hash": "0x6ceecd8bb224da491",
      "block_number": 10,
      "bloom": null,
      "call_result": "0x2b048531b38d2882e86044bc972e940ee0a01938",
      "chain_id": "0x0127",
      "contract_id": "0.0.2",
      "created_contract_ids": [
        "0.0.2"
      ],
      "error_message": "Out of gas",
      "failed_initcode": "0x856739",
      "from": "0x0000000000000000000000000000000000001f41",
      "function_parameters": "0xbb9f02dc6f0e3289f57a1f33b71c73aa8548ab8b",
      "gas_consumed": 35000,
      "gas_limit": 100000,
      "gas_price": "0x4a817c800",
      "gas_used": 80000,
      "hash": "0xfebbaa29c513d124a6377246ea3506ad917d740c21a88f61a1c55ba338fc2bb1",
      "max_fee_per_gas": "0x5",
      "max_priority_fee_per_gas": "0x100",
      "nonce": 1,
      "r": "0xd693b532a80fed6392b428604171fb32fdbf953728a3a7ecc7d4062b1652c043",
      "result": "SUCCESS",
      "s": "0x24e9c602ac800b983b035700a14b23f78a253ab762deab5dc27e3555a750b355",
      "status": 1,
      "timestamp": "1586567700.453054000",
      "to": "0x0000000000000000000000000000000000001f41",
      "transaction_index": 1,
      "type": 2,
      "v": 1
    }
  ],
  "links": {
    "next": null
  }
}

The contract state from a contract on the network

get

Returns a list of all contract's slots. If no timestamp is provided, returns the current state.

Path parameters
contractIdOrAddressstringRequired

The ID or hex encoded EVM address (with or without 0x prefix) associated with this contract.

Pattern: ^(\d{1,10}\.){0,2}(\d{1,10}|(0x)?[A-Fa-f0-9]{40})$
Query parameters
limitinteger · int32 · min: 1 · max: 100Optional

The maximum number of items to return

Default: 25Example: 2
orderundefined · enumOptional

The order in which items are listed

Default: ascExample: descPossible values:
slotstringOptional

The slot's number

Example: {"summary":"--","value":""}Pattern: ^((eq|gte?|lte?)\:)?(0x)?[0-9A-Fa-f]{1,64}$
timestampstring[]Optional

The consensus timestamp of the contract state as a Unix timestamp in seconds.nanoseconds format with an optional comparison operator. See unixtimestamp.com for a simple way to convert a date to the 'seconds' part of the Unix time.

Example: {"summary":"--","value":""}
Responses
200
OK
application/json
400
Invalid parameter
application/json
404
Not Found
application/json
get
GET /api/v1/contracts/{contractIdOrAddress}/state HTTP/1.1
Host: 
Accept: */*
{
  "state": [
    {
      "address": "0000000000000000000000000000000000001f41",
      "contract_id": "0.0.2",
      "timestamp": "1586567700.453054000",
      "slot": "0x00000000000000000000000000000000000000000000000000000000000000fa",
      "value": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
    }
  ],
  "links": {
    "next": null
  }
}

List contract results from all contracts on the network

get

Returns a list of all ContractResults for all contract's function executions.

Query parameters
fromstringOptional

Account ID or EVM address executing the contract

Pattern: ^\d{1,10}\.\d{1,10}\.\d{1,10}|(0x)?[A-Fa-f0-9]{40}$
block.hashstringOptional

The block's hash. If multiple values are provided the last value will be the only value used.

Example: {"summary":"--","value":""}Pattern: ^(eq:)?(0x)?([0-9A-Fa-f]{64}|[0-9A-Fa-f]{96})$
block.numberstringOptional

The block's number

Example: {"summary":"--","value":""}Pattern: ^(eq:)?(\d{1,19}|0x[a-fA-f0-9]+)$
internalbooleanOptional

Whether to include child transactions or not

Default: falseExample: true
limitinteger · int32 · min: 1 · max: 100Optional

The maximum number of items to return

Default: 25Example: 2
orderundefined · enumOptional

The order in which items are listed

Default: descExample: ascPossible values:
timestampstring[]Optional

The consensus timestamp as a Unix timestamp in seconds.nanoseconds format with an optional comparison operator. See unixtimestamp.com for a simple way to convert a date to the 'seconds' part of the Unix time.

Example: {"summary":"--","value":""}
transaction.indexinteger · int32Optional

The transaction index in the block

Example: 1
Responses
200
OK
application/json
400
Invalid parameter
application/json
get
GET /api/v1/contracts/results HTTP/1.1
Host: 
Accept: */*
{
  "results": [
    {
      "access_list": "0xabcd",
      "address": "0x25fe26adc577cc89172e6156c9e24f7b9751b762",
      "amount": 10,
      "block_gas_used": 2000,
      "block_hash": "0x6ceecd8bb224da491",
      "block_number": 10,
      "bloom": null,
      "call_result": "0x2b048531b38d2882e86044bc972e940ee0a01938",
      "chain_id": "0x0127",
      "contract_id": "0.0.2",
      "created_contract_ids": [
        "0.0.2"
      ],
      "error_message": "Out of gas",
      "failed_initcode": "0x856739",
      "from": "0x0000000000000000000000000000000000001f41",
      "function_parameters": "0xbb9f02dc6f0e3289f57a1f33b71c73aa8548ab8b",
      "gas_consumed": 35000,
      "gas_limit": 100000,
      "gas_price": "0x4a817c800",
      "gas_used": 80000,
      "hash": "0xfebbaa29c513d124a6377246ea3506ad917d740c21a88f61a1c55ba338fc2bb1",
      "max_fee_per_gas": "0x5",
      "max_priority_fee_per_gas": "0x100",
      "nonce": 1,
      "r": "0xd693b532a80fed6392b428604171fb32fdbf953728a3a7ecc7d4062b1652c043",
      "result": "SUCCESS",
      "s": "0x24e9c602ac800b983b035700a14b23f78a253ab762deab5dc27e3555a750b355",
      "status": 1,
      "timestamp": "1586567700.453054000",
      "to": "0x0000000000000000000000000000000000001f41",
      "transaction_index": 1,
      "type": 2,
      "v": 1
    }
  ],
  "links": {
    "next": null
  }
}

Get the contract actions from a contract on the network for a given transactionId or ethereum transaction hash

get

Returns a list of ContractActions for a contract's function executions for a given transactionId or ethereum transaction hash.

Path parameters
transactionIdOrHashstringRequired

Transaction Id or a 32 byte hash with optional 0x prefix

Example: {"value":"0.0.10-1234567890-000000000"}Pattern: ^(0x)?[A-Fa-f0-9]{64}|(\d{1,10})\.(\d{1,10})\.(\d{1,10})-(\d{1,19})-(\d{1,9})$
Query parameters
indexstringOptional

The index of a contract action

Example: {"summary":"--","value":""}Pattern: ^((gte?|lte?|eq|ne)\:)?\d{1,10}$
limitinteger · int32 · min: 1 · max: 100Optional

The maximum number of items to return

Default: 25Example: 2
orderundefined · enumOptional

The order in which items are listed

Default: ascExample: descPossible values:
Responses
200
OK
application/json
400
Invalid parameter
application/json
404
Not Found
application/json
get
GET /api/v1/contracts/results/{transactionIdOrHash}/actions HTTP/1.1
Host: 
Accept: */*
{
  "actions": [
    {
      "call_depth": 1,
      "call_operation_type": "CALL",
      "call_type": "CALL",
      "caller": "0.0.2",
      "caller_type": "ACCOUNT",
      "from": "0x0000000000000000000000000000000000000065",
      "gas": 50000,
      "gas_used": 50000,
      "index": 0,
      "input": "0x123456",
      "recipient": "0.0.2",
      "recipient_type": "ACCOUNT",
      "result_data": "0x123456",
      "result_data_type": "OUTPUT",
      "timestamp": "1586567700.453054000",
      "to": "0x0000000000000000000000000000000000001f41",
      "value": 50000
    }
  ],
  "links": {
    "next": null
  }
}

Get the contract result from a contract on the network executed at a given timestamp

get

Returns a single ContractResult for a contract's function executions at a specific timestamp.

Path parameters
contractIdOrAddressstringRequired

The ID or hex encoded EVM address (with or without 0x prefix) associated with this contract.

Pattern: ^(\d{1,10}\.){0,2}(\d{1,10}|(0x)?[A-Fa-f0-9]{40})$
timestampstringRequired

The Unix timestamp in seconds.nanoseconds format, the timestamp at which the associated transaction reached consensus. See unixtimestamp.com for a simple way to convert a date to the 'seconds' part of the Unix time.

Example: 1234567890.0000007Pattern: ^\d{1,10}(.\d{1,9})?$
Responses
200
OK
application/json
Responseall of
206
Partial Content
application/json
400
Invalid parameter
application/json
404
Not Found
application/json
get
GET /api/v1/contracts/{contractIdOrAddress}/results/{timestamp} HTTP/1.1
Host: 
Accept: */*
{
  "access_list": "0xabcd",
  "address": "0x25fe26adc577cc89172e6156c9e24f7b9751b762",
  "amount": 10,
  "block_gas_used": 2000,
  "block_hash": "0x6ceecd8bb224da491",
  "block_number": 10,
  "bloom": null,
  "call_result": "0x2b048531b38d2882e86044bc972e940ee0a01938",
  "chain_id": "0x0127",
  "contract_id": "0.0.2",
  "created_contract_ids": [
    "0.0.2"
  ],
  "error_message": "Out of gas",
  "failed_initcode": "0x856739",
  "from": "0x0000000000000000000000000000000000001f41",
  "function_parameters": "0xbb9f02dc6f0e3289f57a1f33b71c73aa8548ab8b",
  "gas_consumed": 35000,
  "gas_limit": 100000,
  "gas_price": "0x4a817c800",
  "gas_used": 80000,
  "hash": "0x3531396130303866616264653464",
  "max_fee_per_gas": "0x5",
  "max_priority_fee_per_gas": "0x100",
  "nonce": 1,
  "r": "0xd693b532a80fed6392b428604171fb32fdbf953728a3a7ecc7d4062b1652c043",
  "result": "SUCCESS",
  "s": "0x24e9c602ac800b983b035700a14b23f78a253ab762deab5dc27e3555a750b355",
  "status": 1,
  "timestamp": "1586567700.453054000",
  "to": "0x0000000000000000000000000000000000001f41",
  "transaction_index": 1,
  "type": 2,
  "v": 1,
  "logs": [
    {
      "address": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
      "bloom": null,
      "contract_id": "0.0.2",
      "data": "0x00000000000000000000000000000000000000000000000000000000000000fa",
      "index": 0,
      "topics": [
        "0xf4757a49b326036464bec6fe419a4ae38c8a02ce3e68bf0809674f6aab8ad300"
      ]
    }
  ],
  "state_changes": [
    {
      "address": "0000000000000000000000000000000000001f41",
      "contract_id": "0.0.2",
      "slot": "0x00000000000000000000000000000000000000000000000000000000000000fa",
      "value_read": "0x97c1fc0a6ed5551bc831571325e9bdb365d06803100dc20648640ba24ce69750",
      "value_written": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
    }
  ]
}

List contract logs from a contract on the network

get

Search the logs of a specific contract across multiple contract calls. Chained logs are not included but can be found by calling /api/v1/contracts/{contractId}/results/{timestamp} or /api/v1/contracts/results/{transactionId}. When searching by topic a timestamp parameter must be supplied and span a time range of at most seven days.

Ordering

The order is governed by the combination of timestamp and index values. If the index param is omitted, the order is determined by the timestamp only.

Note: The default order for this API is currently DESC

Filtering

When filtering there are some restrictions enforced to ensure correctness and scalability.

The table below defines the restrictions and support for the endpoint

Query Param
Comparison Operator
Support
Description
Example

index

eq

Y

Single occurrence only. Requires the presence of timestamp

?index=X

ne

N

lt(e)

Y

Single occurrence only. Requires the presence of timestamp

?index=lte:X

gt(e)

Y

Single occurrence only. Requires the presence of timestamp

?index=gte:X

timestamp

eq

Y

Single occurrence only.

?timestamp=Y

ne

N

lt(e)

Y

Single occurrence only. Optional second timestamp gt(e)

?timestamp=lte:Y

gt(e)

Y

Single occurrence only. Optional second timestamp lt(e)

?timestamp=gte:Y

Both filters must be a single occurrence of gt(e) or lt(e) which provide a lower and or upper boundary for search.

Path parameters
contractIdOrAddressstringRequired

The ID or hex encoded EVM address (with or without 0x prefix) associated with this contract.

Pattern: ^(\d{1,10}\.){0,2}(\d{1,10}|(0x)?[A-Fa-f0-9]{40})$
Query parameters
indexstringOptional

Contract log index

Example: {"summary":"--","value":""}Pattern: ^((eq|gt|gte|lt|lte):)?\d{1,10}$
limitinteger · int32 · min: 1 · max: 100Optional

The maximum number of items to return

Default: 25Example: 2
orderundefined · enumOptional

The order in which items are listed

Default: descExample: ascPossible values:
timestampstring[]Optional

The consensus timestamp as a Unix timestamp in seconds.nanoseconds format with an optional comparison operator. See unixtimestamp.com for a simple way to convert a date to the 'seconds' part of the Unix time.

Example: {"summary":"--","value":""}
topic0string[]Optional

The first topic associated with a contract log. Requires a timestamp range also be populated.

topic1string[]Optional

The second topic associated with a contract log. Requires a timestamp range also be populated.

topic2string[]Optional

The third topic associated with a contract log. Requires a timestamp range also be populated.

topic3string[]Optional

The fourth topic associated with a contract log. Requires a timestamp range also be populated.

Responses
200
OK
application/json
400
Invalid parameter
application/json
404
Not Found
application/json
get
GET /api/v1/contracts/{contractIdOrAddress}/results/logs HTTP/1.1
Host: 
Accept: */*
{
  "logs": [
    {
      "address": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
      "bloom": null,
      "contract_id": "0.0.2",
      "data": "0x00000000000000000000000000000000000000000000000000000000000000fa",
      "index": 0,
      "topics": [
        "0xf4757a49b326036464bec6fe419a4ae38c8a02ce3e68bf0809674f6aab8ad300"
      ],
      "block_hash": "0x553f9311833391c0a3b2f9ed64540a89f2190a511986cd94889f1c0cf7fa63e898b1c6730f14a61755d1fb4ca05fb073",
      "block_number": 10,
      "root_contract_id": null,
      "timestamp": "1586567700.453054000",
      "transaction_hash": "0x397022d1e5baeb89d0ab66e6bf602640610e6fb7e55d78638db861e2c6339aa9",
      "transaction_index": 1
    }
  ],
  "links": {
    "next": null
  }
}

List contracts logs across many contracts on the network

get

Search the logs across many contracts with multiple contract calls. Chained logs are not included but can be found by calling /api/v1/contracts/{contractId}/results/{timestamp} or /api/v1/contracts/results/{transactionId}. When searching by topic a timestamp parameter must be supplied and span a time range of at most seven days.

Ordering

The order is governed by the combination of timestamp and index values. If the index param is omitted, the order is determined by the timestamp only.

Note: The default order for this API is currently DESC

Filtering

When filtering there are some restrictions enforced to ensure correctness and scalability.

The table below defines the restrictions and support for the endpoint

Query Param
Comparison Operator
Support
Description
Example

index

eq

Y

Single occurrence only. Requires the presence of timestamp

?index=X

ne

N

lt(e)

Y

Single occurrence only. Requires the presence of timestamp

?index=lte:X

gt(e)

Y

Single occurrence only. Requires the presence of timestamp

?index=gte:X

timestamp

eq

Y

Single occurrence only.

?timestamp=Y

ne

N

lt(e)

Y

Single occurrence only. Optional second timestamp gt(e)

?timestamp=lte:Y

gt(e)

Y

Single occurrence only. Optional second timestamp lt(e)

?timestamp=gte:Y

Both filters must be a single occurrence of gt(e) or lt(e) which provide a lower and or upper boundary for search.

Query parameters
indexstringOptional

Contract log index

Example: {"summary":"--","value":""}Pattern: ^((eq|gt|gte|lt|lte):)?\d{1,10}$
limitinteger · int32 · min: 1 · max: 100Optional

The maximum number of items to return

Default: 25Example: 2
orderundefined · enumOptional

The order in which items are listed

Default: descExample: ascPossible values:
timestampstring[]Optional

The consensus timestamp as a Unix timestamp in seconds.nanoseconds format with an optional comparison operator. See unixtimestamp.com for a simple way to convert a date to the 'seconds' part of the Unix time.

Example: {"summary":"--","value":""}
topic0string[]Optional

The first topic associated with a contract log. Requires a timestamp range also be populated.

topic1string[]Optional

The second topic associated with a contract log. Requires a timestamp range also be populated.

topic2string[]Optional

The third topic associated with a contract log. Requires a timestamp range also be populated.

topic3string[]Optional

The fourth topic associated with a contract log. Requires a timestamp range also be populated.

transaction.hashstringOptional

A hex encoded 32-byte ethereum transaction hash or 48-byte hedera transaction hash.

Example: {"value":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"}Pattern: ^(eq:)?(0x)?([0-9A-Fa-f]{64}|[0-9A-Fa-f]{96})$
Responses
200
OK
application/json
400
Invalid parameter
application/json
get
GET /api/v1/contracts/results/logs HTTP/1.1
Host: 
Accept: */*
{
  "logs": [
    {
      "address": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
      "bloom": null,
      "contract_id": "0.0.2",
      "data": "0x00000000000000000000000000000000000000000000000000000000000000fa",
      "index": 0,
      "topics": [
        "0xf4757a49b326036464bec6fe419a4ae38c8a02ce3e68bf0809674f6aab8ad300"
      ],
      "block_hash": "0x553f9311833391c0a3b2f9ed64540a89f2190a511986cd94889f1c0cf7fa63e898b1c6730f14a61755d1fb4ca05fb073",
      "block_number": 10,
      "root_contract_id": null,
      "timestamp": "1586567700.453054000",
      "transaction_hash": "0x397022d1e5baeb89d0ab66e6bf602640610e6fb7e55d78638db861e2c6339aa9",
      "transaction_index": 1
    }
  ],
  "links": {
    "next": null
  }
}

Get the opcode traces for a historical transaction on the network with the given transaction ID or hash

get

Re-executes a transaction and returns a result containing detailed information for the execution, including all values from the {@code stack}, {@code memory} and {@code storage} and the entire trace of opcodes that were executed during the replay.

Note that to provide the output, the transaction needs to be re-executed on the EVM, which may take a significant amount of time to complete if stack and memory information is requested.

Path parameters
transactionIdOrHashstringRequired

Transaction Id or a 32 byte hash with optional 0x prefix

Example: {"value":"0.0.10-1234567890-000000000"}Pattern: ^(0x)?[A-Fa-f0-9]{64}|(\d{1,10})\.(\d{1,10})\.(\d{1,10})-(\d{1,19})-(\d{1,9})$
Query parameters
stackbooleanOptional

If provided and set to false, stack information will not be included in the response

Default: trueExample: true
memorybooleanOptional

If provided and set to true, memory information will be included in the response

Default: falseExample: false
storagebooleanOptional

If provided and set to true, storage information will be included in the response

Default: falseExample: false
Responses
200
OK
application/json
400
Validation error
application/json
404
Transaction or record file not found
application/json
429
Too many requests
application/json
get
GET /api/v1/contracts/results/{transactionIdOrHash}/opcodes HTTP/1.1
Host: 
Accept: */*
{
  "address": "binary",
  "contract_id": "0.0.2",
  "failed": true,
  "gas": 1,
  "opcodes": [
    {
      "depth": 1,
      "gas": 1,
      "gas_cost": 1,
      "memory": [
        "binary"
      ],
      "op": "text",
      "pc": 1,
      "reason": "binary",
      "stack": [
        "binary"
      ],
      "storage": {
        "ANY_ADDITIONAL_PROPERTY": "binary"
      }
    }
  ],
  "return_value": "binary"
}
  • Overview
  • Endpoints
  • Smart Contracts
  • GETList contract entities on network
  • GETGet contract by id
  • GETGet the contract result from a contract on the network for a given transactionId or ethereum transaction hash
  • GETList contract results from a contract on the network
  • GETThe contract state from a contract on the network
  • GETList contract results from all contracts on the network
  • GETGet the contract actions from a contract on the network for a given transactionId or ethereum transaction hash
  • GETGet the contract result from a contract on the network executed at a given timestamp
  • GETList contract logs from a contract on the network
  • GETList contracts logs across many contracts on the network
  • GETGet the opcode traces for a historical transaction on the network with the given transaction ID or hash
  • POSTInvoke a smart contract

Invoke a smart contract

post

Returns a result from EVM execution such as cost-free execution of read-only smart contract queries, gas estimation, and transient simulation of read-write operations. If the estimate field is set to true gas estimation is executed. However, gas estimation only supports the latest block. When estimate is false, it can process calls against the earliest block and specific historical blocks when a hexadecimal or decimal block number is provided in the block field for eth_call operations. The operations types which are not currently supported should return 501 error status.

Body
blockstring | nullableOptional

Hexadecimal block number or the string "latest", "pending", "earliest". Defaults to "latest".

Example: latestPattern: ^((0x)?[0-9a-fA-F]+|(earliest|pending|latest))$
datastring · binary | nullableOptional

Hexadecimal method signature and encoded parameters. Up to 24656 bytes as at most 49152 hexidecimal digits plus optional leading 0x.

Example: 0x47f1aae7Pattern: ^(0x)?[0-9a-fA-F]+$
estimateboolean | nullableOptional

Whether gas estimation is called. Defaults to false.

Example: true
fromstring · binary | nullableOptional

The 20-byte hexadecimal EVM address the transaction is sent from.

Example: 00000000000000000000000000000000000004e2Pattern: ^(0x)?[A-Fa-f0-9]{40}$
gasinteger · int64 | nullableOptional

Gas provided for the transaction execution. Defaults to 15000000.

Example: 15000000
gasPriceinteger · int64 | nullableOptional

Gas price used for each paid gas.

Example: 100000000
tostring · binary · min: 40 · max: 42Required

The 20-byte hexadecimal EVM address the transaction is directed to.

Example: 0xd9d0c5c0ff85758bdf05a7636f8036d4d065f5b6Pattern: ^(0x)?[A-Fa-f0-9]{40}$
valueinteger · int64 | nullableOptional

Value sent with this transaction. Defaults to 0.

Example: 0
Responses
200
OK
application/json
400
Validation error
application/json
404
Not found error
application/json
415
Unsupported media type error
application/json
429
Too many requests
application/json
500
Generic error
application/json
501
Not implemented error
application/json
post
POST /api/v1/contracts/call HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 200

{
  "block": "latest",
  "data": "0x47f1aae7",
  "estimate": true,
  "from": "00000000000000000000000000000000000004e2",
  "gas": 15000000,
  "gasPrice": 100000000,
  "to": "0xd9d0c5c0ff85758bdf05a7636f8036d4d065f5b6",
  "value": 0
}
{
  "result": "0x0000000000006d8d"
}
Link to Supported/Unsupported Operations Table