Skip to main content
POST

Overview

  • Dataset ID: 0122 - Function Results
  • Description: On-chain function call return values versioned by block. Uses contract_id (26 bytes) to support metamorphic contracts; primary key is (contract_id, block_number, call_data).
  • CSV Sample: Download
  • JSON Sample: Download

Parameters

number
required
Target EVM network. See the Chain enumeration for supported values.

Range Filters (mutually exclusive)

number
Starting block number (inclusive) for the query. Use with to_block.
number
Ending block number (inclusive) for the query. Use with from_block.
string
Starting timestamp (ISO-8601). If it falls between blocks, the next block after this timestamp is used. Use with to_timestamp.
string
Ending timestamp (ISO-8601). If it falls between blocks, the last block before this timestamp is used. Use with from_timestamp.
Scoping rule: Every request must include a bounding window — either a block range (from_block/to_block) or a time range (from_timestamp/to_timestamp). The two ranges are mutually exclusive.contract_addresses and signature_hashes are refinement filters only and must be combined with a block or time range; they cannot be used on their own. function_results is a very large partitioned table, and selectors are low-selectivity (a single hot selector such as transfer() matches a huge fraction of rows), so an unbounded selector scan would time out.Providing no bounding window returns HTTP 400.

Refinement Filters

string[]
Filter by 20-byte contract addresses (hex string, no 0x prefix). Resolved to matching contract_id incarnations. Up to 256 entries. Requires a block or time range.
string[]
4-byte function selectors (8 hex characters, no 0x prefix). Use to scope calls to specific function signatures. Requires a block or time range.

Pagination Controls

number
default:"250"
Recommended default 250; maximum 1000 to stay under ~10 MB responses.
string
Opaque pagination cursor returned from a prior call.

Response Fields

Meta

object
Echo of request metadata applied to the response.
number
EVM chain ID echoed from the request.
object
Pure echo of the window you sent (from_block/to_block/from_timestamp/to_timestamp); unset bounds are null.
object | null
The concrete window the query actually executed against, after resolving the request. For a block range on a time-bucketed endpoint (OHLC/VWAP/VWAP-aggregate/fiat VWAP), from_timestamp/to_timestamp hold the resolved timestamp window (and from_block/to_block echo your request). For a time range on a block-keyed endpoint, from_block/to_block hold the resolved block range (and the timestamps echo your request). null for selector-only requests (no window). No extra database work is done — these are the values the query already computed.
number | null
Resolved/echoed start block of the executed window.
number | null
Resolved/echoed end block of the executed window.
string | null
Resolved/echoed start timestamp (ISO-8601) of the executed window.
string | null
Resolved/echoed end timestamp (ISO-8601) of the executed window.
object
Filters echoed from the request (contract addresses, signature hashes, latest_only, limit).

Data

object[]
Function result records ordered by (contract_id, block_number DESC) unless latest_only is true. Each row matches the linked dataset; the first 20 bytes of contract_id are the deployed address — there is no separate contract_address field in the payload.
string
Contract incarnation ID (hex string, 26 bytes, no 0x prefix): 20 bytes address + 4 bytes creation block + 2 bytes tx index. Use to join with contracts or for metamorphic disambiguation.
number
Snapshot block height when the value was observed.
string
Block time for the snapshot (ISO-8601).
string
Hex-encoded calldata sent to the contract. For simple getter functions, this is usually just the selector.
string
4-byte function selector (hex).
string | null
Hex-encoded return payload, or null. Decode using the ABI corresponding to signature_hash.
string
Observation timestamp (ISO-8601), aligned with the snapshot.
string
Internal lineage identifier (hex string, no 0x prefix) for cross-referencing with lineage endpoints.
string
Record creation timestamp (ISO-8601).
string
Record last update timestamp (ISO-8601).

Envelope Fields

string | null
Pagination cursor to continue the query.
number
Number of records returned in this page.

Use Cases

  • Refresh oracle or configuration caches with latest per-block values.
  • Detect contract parameter changes by diffing consecutive results.
  • Seed lineage exploration by pairing selectors with their upstream transactions and logs.
Last modified on July 19, 2026