Skip to main content
Single UTXO by absolute index
curl --request GET \
  --url http://localhost:3001/v1/utxos/{absolute_index}
{
  "utxo": {
    "absolute_index": 1048620,
    "tree_index": 1,
    "insertion_index": 44,
    "final_commitment": "aSDinaTvuI8gbWludGxpZnk=",
    "h1_version": "aSDinaTvuI8gbWludGxpZnk=",
    "h1_commitment_index": "aSDinaTvuI8gbWludGxpZnk=",
    "h1_sender_address": "aSDinaTvuI8gbWludGxpZnk=",
    "h1_mint_address": "aSDinaTvuI8gbWludGxpZnk=",
    "h1_relayer_fixed_sol_fees": 5000000,
    "h1_year": 2026,
    "h1_month": 2,
    "h1_day": 25,
    "h1_hour": 12,
    "h1_minute": 0,
    "h1_second": 0,
    "h1_purpose": 1,
    "h1_circuit_provable_hash": "aSDinaTvuI8gbWludGxpZnk=",
    "h1_smart_program_provable_hash": "aSDinaTvuI8gbWludGxpZnk=",
    "h1_hash": "aSDinaTvuI8gbWludGxpZnk=",
    "h2_hash": "aSDinaTvuI8gbWludGxpZnk=",
    "aes_encrypted_data": "aSDinaTvuI8gbWludGxpZnk=",
    "depositor_x25519_public_key": "aSDinaTvuI8gbWludGxpZnk=",
    "timestamp": 1735689600,
    "slot": 350000000,
    "event_type": "deposit"
  }
}
The absolute index uniquely identifies a UTXO across all trees:
absolute_index = tree_index x 1,048,576 + insertion_index
For example, the 5th leaf of tree 2 has absolute index 2 x 1,048,576 + 4 = 2,097,156. Response is a SingleUtxoResponse wrapper containing one UtxoDataItem. The X-Response-Layout header has no effect on this endpoint.

Path Parameters

absolute_index
integer<int64>
required

Global absolute index of the UTXO to fetch. absolute_index = tree_index * MAX_LEAVES_PER_TREE + insertion_index.

Required range: x >= 0

Response

UTXO record found.

Protobuf SingleUtxoResponse message returned by GET /v1/utxos/{absolute_index}.

Contains a single UtxoDataItem when the requested absolute index exists. On 404 Not Found the entire response is an ErrorResponse JSON body.

utxo
object
required

Protobuf UtxoDataItem message -- a single UTXO record as it appears in UtxoResponse.items and SingleUtxoResponse.utxo.

All binary fields (final_commitment, h1_sender_address, h1_mint_address, h1_circuit_provable_hash, h1_smart_program_provable_hash, h1_hash, h2_hash, aes_encrypted_data, depositor_x25519_public_key) are Protobuf bytes fields carrying the raw little-endian bytes (no base64 or hex encoding at the wire level).

The 128-bit integer fields h1_version and h1_commitment_index are encoded as Protobuf bytes fields containing their 16-byte little-endian binary representation.