Elysium batches

Live (2026-11-08). Use https://triport.io with X-API-Key and scope elysium:das. The batch list is rate category elysium_das; a single batch (/v1/elysium/batches/{seq}) is the heavier elysium_das_batch category, see limits. See coverage and omissions.

Endpoint and plans: Elysium RPC endpoint.

List batches

GET /v1/elysium/batches

QueryDefaultMeaning
limit25Positive integer, capped at 100.
before_seqabsentDecimal non-negative seq, exclusive; returns older batches in descending order.
from_seqabsentDecimal non-negative seq, inclusive; returns batches in ascending order.

Without a cursor, newest batches come first. Do not combine from_seq and before_seq: the response is 400 invalid_cursor. For the next page, pass next_before_seq as before_seq or next_from_seq as from_seq. The next cursor is omitted when no additional rows were found; keep polling from the last processed seq + 1 to follow later batches.

curl "https://triport.io/v1/elysium/batches?from_seq=1&limit=25" \
  -H "X-API-Key: $TRIPORT_API_KEY"

Illustrative page with one batch and a following page (synthetic values, not a captured response):

{
  "chain": "elysium",
  "batches": [
    {
      "seq": 1,
      "status": "indexed",
      "data_hash": "0x2222222222222222222222222222222222222222222222222222222222222222",
      "tree_hash_verified": true,
      "parent_chain": "hyperevm",
      "parent_chain_id": 999,
      "parent_block": 50000000,
      "parent_tx": "0x3333333333333333333333333333333333333333333333333333333333333333",
      "posted_at": "2026-11-08T00:00:00Z",
      "posted_at_unix": 1794096000,
      "l2_block_first": 1,
      "l2_block_last": 9,
      "messages": 9,
      "l1_to_l2_messages": 8,
      "l1_to_l2_messages_indexed": false,
      "tx_count": 1,
      "contract_creations": 0,
      "payload_bytes": 256,
      "das_expires_at": "2026-11-23T00:00:00Z"
    }
  ],
  "next_from_seq": 2,
  "coverage": {
    "source": "sequencer_batches",
    "complete": false,
    "includes": [
      "signed transactions posted in Elysium sequencer batches since genesis (batch 1)",
      "per transaction: sender, recipient, contract address for a creating transaction, nonce, value, input selector"
    ],
    "excludes": [
      "l1_to_l2_messages: deposits and other messages from the parent chain are counted per batch (l1_to_l2_messages) but not indexed per address",
      "internal_calls: value transfers and contract creations made inside contract execution",
      "execution_status: success or revert, gas used and logs are not part of batch data",
      "unconfirmed: transactions accepted by the sequencer but not yet posted in a batch"
    ],
    "from_batch_seq": 1,
    "indexed_through": {
      "batch_seq": 1,
      "l2_block": 9,
      "posted_at": "2026-11-08T00:00:00Z",
      "posted_at_unix": 1794096000
    },
    "pending_batches": 0
  }
}

One batch

GET /v1/elysium/batches/{seq}

seq is a decimal sequence number. Unknown seq returns 404 not_found.

QueryDefaultMeaning
fullabsent1 or true returns transaction objects; otherwise returns transaction_hashes.
offset0Non-negative transaction-position offset; use next_offset verbatim.
limit (hash mode)10000Positive integer, capped at 10000.
limit (full mode)200Positive integer, capped at 1000.
curl "https://triport.io/v1/elysium/batches/1?full=1&offset=0&limit=200" \
  -H "X-API-Key: $TRIPORT_API_KEY"

Illustrative full-mode response (synthetic, one transaction):

{
  "chain": "elysium",
  "batch": {
    "seq": 1,
    "status": "indexed",
    "data_hash": "0x2222222222222222222222222222222222222222222222222222222222222222",
    "tree_hash_verified": true,
    "parent_chain": "hyperevm",
    "parent_chain_id": 999,
    "parent_block": 50000000,
    "parent_tx": "0x3333333333333333333333333333333333333333333333333333333333333333",
    "posted_at": "2026-11-08T00:00:00Z",
    "posted_at_unix": 1794096000,
    "l2_block_first": 1,
    "l2_block_last": 9,
    "messages": 9,
    "l1_to_l2_messages": 8,
    "l1_to_l2_messages_indexed": false,
    "tx_count": 1,
    "contract_creations": 0,
    "payload_bytes": 256,
    "das_expires_at": "2026-11-23T00:00:00Z"
  },
  "offset": 0,
  "limit": 200,
  "transactions": [
    {
      "hash": "0x1111111111111111111111111111111111111111111111111111111111111111",
      "batch_seq": 1,
      "batch_position": 0,
      "l2_block": 1,
      "type": 2,
      "chain_id": 99901,
      "from": "0x4444444444444444444444444444444444444444",
      "to": "0x5555555555555555555555555555555555555555",
      "contract_address": null,
      "nonce": 0,
      "gas": 21000,
      "value": "0x1",
      "input_selector": null,
      "input_bytes": 0,
      "execution_status": "not_available"
    }
  ],
  "coverage": {
    "source": "sequencer_batches",
    "complete": false,
    "includes": [
      "signed transactions posted in Elysium sequencer batches since genesis (batch 1)",
      "per transaction: sender, recipient, contract address for a creating transaction, nonce, value, input selector"
    ],
    "excludes": [
      "l1_to_l2_messages: deposits and other messages from the parent chain are counted per batch (l1_to_l2_messages) but not indexed per address",
      "internal_calls: value transfers and contract creations made inside contract execution",
      "execution_status: success or revert, gas used and logs are not part of batch data",
      "unconfirmed: transactions accepted by the sequencer but not yet posted in a batch"
    ],
    "from_batch_seq": 1,
    "indexed_through": {
      "batch_seq": 1,
      "l2_block": 9,
      "posted_at": "2026-11-08T00:00:00Z",
      "posted_at_unix": 1794096000
    },
    "pending_batches": 0
  }
}

In hash mode, transaction_hashes replaces transactions. If there are more transactions, next_offset gives the next position; repeat with the same seq and mode. next_offset is omitted at the end. Empty transaction arrays can be omitted by JSON serialization, so treat an absent array as empty only after inspecting batch.status.

Batch fields

FieldsMeaning
seq, statusSequence and indexed, no_data, or pending. pending hides all unfinished internal retry states.
data_hash, tree_hash_verifiedPayload hash (nullable), and whether tree-hash verification succeeded for the indexed payload; not execution validation.
parent_chain, parent_chain_idhyperevm, 999.
parent_block, parent_txPosting block and transaction on HyperEVM.
posted_at, posted_at_unixPosting time as UTC RFC3339 and Unix seconds.
l2_block_first, l2_block_lastInclusive L2 message block range; nullable. This range includes messages absent from the signed-transaction index.
messages, l1_to_l2_messagesMessage counts; parent messages are counted, not indexed by address.
l1_to_l2_messages_indexedAlways false.
tx_count, contract_creationsSigned transaction count and top-level creating transaction count.
payload_bytes, das_expires_atPayload size and nullable data availability expiry timestamp; expiry is not an API archive-retention promise.

Only indexed batches expose message counts, transaction counts, payload size, and L2 ranges. For pending and no_data those fields are null and transaction arrays are absent; do not treat pending as an indexed empty batch. no_data means a batch with no data to index.

Transaction fields

FieldsMeaning
hash, batch_seq, batch_positionTransaction hash, sequence and zero-based position within the batch's signed transactions.
l2_blockDecimal L2 block number, nullable.
type, chain_idDecimal envelope type and chain ID; chain_id is null for legacy transactions without EIP-155 replay protection in the archive.
from, to, contract_addressSender, recipient (null for a creating transaction), and derived top-level CREATE address (otherwise null).
nonce, gasDecimal transaction nonce and gas limit; gas is not gas used.
valueHex quantity in wei.
input_selector, input_bytesNullable first four input bytes and input length; not the full input.
execution_statusAlways not_available. No receipt, logs, success/revert, or execution gas usage is inferred.

Wallet history · Batch stream · Status · Coverage