Skip to main content
Tempo extends the Ethereum JSON-RPC API with custom namespaces for consensus data, token queries, and Tempo-specific functionality.

Consensus Namespace

The consensus_* namespace provides access to Tempo’s consensus layer data, including finalization events and network identity transitions.

consensus_getFinalization

Returns a finalized block with its BLS certificate.
query
object | string
required
Query parameter - either "latest" for the most recent finalization, or {"height": N} for a specific block height
epoch
uint64
Consensus epoch number
view
uint64
Consensus view number within the epoch
height
uint64 | null
Block height (null if not yet stored)
digest
bytes32
Block hash
certificate
string
Hex-encoded BLS finalization certificate
Example Request:
{
  "jsonrpc": "2.0",
  "method": "consensus_getFinalization",
  "params": ["latest"],
  "id": 1
}
Example Response:
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "epoch": 42,
    "view": 100,
    "height": 1000,
    "digest": "0x1234...",
    "certificate": "0xabcd..."
  }
}

consensus_getLatest

Returns the current consensus state snapshot with both the latest finalized and notarized blocks.
finalized
object | null
Latest finalized block (see consensus_getFinalization response format)
notarized
object | null
Latest notarized block if not yet finalized (see consensus_getFinalization response format)
Example Request:
{
  "jsonrpc": "2.0",
  "method": "consensus_getLatest",
  "params": [],
  "id": 1
}
Example Response:
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "finalized": {
      "epoch": 42,
      "view": 100,
      "height": 1000,
      "digest": "0x1234...",
      "certificate": "0xabcd..."
    },
    "notarized": {
      "epoch": 42,
      "view": 101,
      "height": 1001,
      "digest": "0x5678...",
      "certificate": "0xef01..."
    }
  }
}

consensus_subscribe

Subscribes to consensus events stream (Notarized, Finalized, Nullified).
This is a WebSocket subscription method. Events are pushed to subscribers as they occur.
Event Types: Notarized Event:
{
  "type": "notarized",
  "epoch": 42,
  "view": 101,
  "height": 1001,
  "digest": "0x1234...",
  "certificate": "0xabcd...",
  "seen": 1735849200000
}
Finalized Event:
{
  "type": "finalized",
  "epoch": 42,
  "view": 100,
  "height": 1000,
  "digest": "0x5678...",
  "certificate": "0xef01...",
  "seen": 1735849200000
}
Nullified Event:
{
  "type": "nullified",
  "epoch": 42,
  "view": 99,
  "seen": 1735849200000
}
seen
uint64
Unix timestamp in milliseconds when the event was observed

consensus_getIdentityTransitionProof

Returns identity transition proofs showing the history of network public key changes through DKG ceremonies.
fromEpoch
uint64 | null
Optional epoch to start searching from (defaults to latest finalized epoch)
full
boolean
If true, returns all transitions back to genesis. If false (default), returns only the most recent transition.
identity
string
Hex-encoded BLS public key of the requested epoch’s network identity
transitions
array
Array of identity transitions, ordered newest to oldest. Empty if no full DKG ceremonies have occurred.
Transition Object:
transitionEpoch
uint64
Epoch where the full DKG ceremony occurred
oldIdentity
string
Hex-encoded BLS public key before the transition
newIdentity
string
Hex-encoded BLS public key after the transition
proof
object | null
Cryptographic proof of the transition (null for genesis identity at epoch 0)
Proof Object:
header
object
Block header containing the new DKG outcome in extra_data
finalizationCertificate
string
Hex-encoded finalization certificate signed by the old network identity
Example Request:
{
  "jsonrpc": "2.0",
  "method": "consensus_getIdentityTransitionProof",
  "params": [null, false],
  "id": 1
}
Example Response:
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "identity": "0xabcd...",
    "transitions": [
      {
        "transitionEpoch": 10,
        "oldIdentity": "0x1234...",
        "newIdentity": "0xabcd...",
        "proof": {
          "header": {
            "hash": "0x5678...",
            "number": "0xa",
            "timestamp": "0x64abc123",
            "extraData": "0xef01..."
          },
          "finalizationCertificate": "0x9876..."
        }
      }
    ]
  }
}

Token Namespace

The token_* namespace provides queries for TIP-20 token data.

token_getTokens

Returns paginated list of TIP-20 tokens deployed on Tempo.
params
object
required
Pagination parameters with optional filters
params.limit
uint32
Maximum number of results to return (default: 100)
params.cursor
string | null
Pagination cursor from previous response (null for first page)
params.filter
object
Optional filters (implementation-specific)
items
array
Array of token data objects
nextCursor
string | null
Cursor for fetching the next page (null if no more results)
This method is currently unimplemented and returns an error.

token_getTokensByAddress

Returns paginated list of TIP-20 tokens associated with an account address.
address
address
required
Account address to query
params
object
required
Pagination parameters with optional filters
items
array
Array of token data objects where the account has a balance or specific roles
nextCursor
string | null
Cursor for fetching the next page
This method is currently unimplemented and returns an error.

token_getRoleHistory

Returns paginated role change history for TIP-20 tokens.
params
object
required
Pagination parameters with optional filters
params.filter
object
Optional filters for role, account, or token address
items
array
Array of role change events (grants and revocations)
nextCursor
string | null
Cursor for fetching the next page
Tracks role grants and revocations from the RoleMembershipUpdated event for audit trails and compliance monitoring.
This method is currently unimplemented and returns an error.

Eth Extensions

eth_getTransactions

Returns paginated transactions on Tempo with flexible filtering and sorting.
params
object
required
Pagination parameters with optional filters
params.limit
uint32
Maximum number of results to return
params.cursor
string | null
Pagination cursor from previous response
params.filter
object
Optional filters for from address, to address, block range, etc.
items
array
Array of transaction objects
nextCursor
string | null
Cursor for fetching the next page
Uses cursor-based pagination for stable iteration through transactions.
This method is currently unimplemented and returns an error.

Next Steps

Admin Methods

Learn about administrative RPC methods for node operators