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
| Query | Default | Meaning |
|---|---|---|
| limit | 25 | Positive integer, capped at 100. |
| before_seq | absent | Decimal non-negative seq, exclusive; returns older batches in descending order. |
| from_seq | absent | Decimal 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.
| Query | Default | Meaning |
|---|---|---|
| full | absent | 1 or true returns transaction objects; otherwise returns transaction_hashes. |
| offset | 0 | Non-negative transaction-position offset; use next_offset verbatim. |
| limit (hash mode) | 10000 | Positive integer, capped at 10000. |
| limit (full mode) | 200 | Positive 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
| Fields | Meaning |
|---|---|
| seq, status | Sequence and indexed, no_data, or pending. pending hides all unfinished internal retry states. |
| data_hash, tree_hash_verified | Payload hash (nullable), and whether tree-hash verification succeeded for the indexed payload; not execution validation. |
| parent_chain, parent_chain_id | hyperevm, 999. |
| parent_block, parent_tx | Posting block and transaction on HyperEVM. |
| posted_at, posted_at_unix | Posting time as UTC RFC3339 and Unix seconds. |
| l2_block_first, l2_block_last | Inclusive L2 message block range; nullable. This range includes messages absent from the signed-transaction index. |
| messages, l1_to_l2_messages | Message counts; parent messages are counted, not indexed by address. |
| l1_to_l2_messages_indexed | Always false. |
| tx_count, contract_creations | Signed transaction count and top-level creating transaction count. |
| payload_bytes, das_expires_at | Payload 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
| Fields | Meaning |
|---|---|
| hash, batch_seq, batch_position | Transaction hash, sequence and zero-based position within the batch's signed transactions. |
| l2_block | Decimal L2 block number, nullable. |
| type, chain_id | Decimal envelope type and chain ID; chain_id is null for legacy transactions without EIP-155 replay protection in the archive. |
| from, to, contract_address | Sender, recipient (null for a creating transaction), and derived top-level CREATE address (otherwise null). |
| nonce, gas | Decimal transaction nonce and gas limit; gas is not gas used. |
| value | Hex quantity in wei. |
| input_selector, input_bytes | Nullable first four input bytes and input length; not the full input. |
| execution_status | Always not_available. No receipt, logs, success/revert, or execution gas usage is inferred. |
Wallet history · Batch stream · Status · Coverage